[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemacs-commit] qemacs clang.c htmlsrc.c makemode.c qe.h xml.c ...
From: |
Charlie Gordon |
Subject: |
[Qemacs-commit] qemacs clang.c htmlsrc.c makemode.c qe.h xml.c ... |
Date: |
Sun, 05 Jan 2014 23:42:55 +0000 |
CVSROOT: /sources/qemacs
Module name: qemacs
Changes by: Charlie Gordon <chqrlie> 14/01/05 23:42:55
Modified files:
. : clang.c htmlsrc.c makemode.c qe.h xml.c
docbook.c latex-mode.c perl.c script.c html.c
lisp.c qe.c tty.c
Log message:
simplified editing modes
* added colorize_func in ModeDef struct
* removed mode_init functions for most language modes
* other small improvements in mode_probe functions
* no need for get_basename in mode_probe functions
CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/qemacs/clang.c?cvsroot=qemacs&r1=1.41&r2=1.42
http://cvs.savannah.gnu.org/viewcvs/qemacs/htmlsrc.c?cvsroot=qemacs&r1=1.5&r2=1.6
http://cvs.savannah.gnu.org/viewcvs/qemacs/makemode.c?cvsroot=qemacs&r1=1.6&r2=1.7
http://cvs.savannah.gnu.org/viewcvs/qemacs/qe.h?cvsroot=qemacs&r1=1.107&r2=1.108
http://cvs.savannah.gnu.org/viewcvs/qemacs/xml.c?cvsroot=qemacs&r1=1.12&r2=1.13
http://cvs.savannah.gnu.org/viewcvs/qemacs/docbook.c?cvsroot=qemacs&r1=1.7&r2=1.8
http://cvs.savannah.gnu.org/viewcvs/qemacs/latex-mode.c?cvsroot=qemacs&r1=1.34&r2=1.35
http://cvs.savannah.gnu.org/viewcvs/qemacs/perl.c?cvsroot=qemacs&r1=1.9&r2=1.10
http://cvs.savannah.gnu.org/viewcvs/qemacs/script.c?cvsroot=qemacs&r1=1.2&r2=1.3
http://cvs.savannah.gnu.org/viewcvs/qemacs/html.c?cvsroot=qemacs&r1=1.22&r2=1.23
http://cvs.savannah.gnu.org/viewcvs/qemacs/lisp.c?cvsroot=qemacs&r1=1.2&r2=1.3
http://cvs.savannah.gnu.org/viewcvs/qemacs/qe.c?cvsroot=qemacs&r1=1.109&r2=1.110
http://cvs.savannah.gnu.org/viewcvs/qemacs/tty.c?cvsroot=qemacs&r1=1.52&r2=1.53
Patches:
Index: clang.c
===================================================================
RCS file: /sources/qemacs/qemacs/clang.c,v
retrieving revision 1.41
retrieving revision 1.42
diff -u -b -r1.41 -r1.42
--- clang.c 4 Jan 2014 17:27:00 -0000 1.41
+++ clang.c 5 Jan 2014 23:42:54 -0000 1.42
@@ -601,7 +601,7 @@
static int c_mode_probe(ModeDef *mode, ModeProbeData *p)
{
- /* currently, only use the file extension */
+ /* trust the file extension */
if (match_extension(p->filename, mode->extensions))
return 80;
@@ -613,6 +613,7 @@
if (p->buf[0] == '/' && p->buf[1] == '/')
return 50;
+ if (p->buf[0] == '#') {
/* same for file starting with '#include' */
if (strstart(cs8(p->buf), "#include", NULL))
return 50;
@@ -620,21 +621,11 @@
/* same for file starting with '#pragma' as in #pragma once */
if (strstart(cs8(p->buf), "#pragma", NULL))
return 50;
+ }
return 0;
}
-static int c_mode_init(EditState *s, ModeSavedData *saved_data)
-{
- int ret;
-
- ret = text_mode_init(s, saved_data);
- if (ret)
- return ret;
- set_colorize_func(s, c_colorize_line);
- return ret;
-}
-
/* C mode specific commands */
static CmdDef c_commands[] = {
CMD2( KEY_CTRL('i'), KEY_NONE,
@@ -662,7 +653,7 @@
c_mode.name = "C";
c_mode.extensions = c_mode_extensions;
c_mode.mode_probe = c_mode_probe;
- c_mode.mode_init = c_mode_init;
+ c_mode.colorize_func = c_colorize_line;
qe_register_mode(&c_mode);
qe_register_cmd_table(c_commands, &c_mode);
Index: htmlsrc.c
===================================================================
RCS file: /sources/qemacs/qemacs/htmlsrc.c,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -b -r1.5 -r1.6
--- htmlsrc.c 4 Jan 2014 17:27:25 -0000 1.5
+++ htmlsrc.c 5 Jan 2014 23:42:54 -0000 1.6
@@ -251,7 +251,7 @@
static int htmlsrc_mode_probe(ModeDef *mode, ModeProbeData *p)
{
- const char *buf = (const char*)p->buf;
+ const char *buf = cs8(p->buf);
/* first check file extension */
if (match_extension(p->filename, mode->extensions))
@@ -269,17 +269,6 @@
return 0;
}
-static int htmlsrc_mode_init(EditState *s, ModeSavedData *saved_data)
-{
- int ret;
-
- ret = text_mode_init(s, saved_data);
- if (ret)
- return ret;
- set_colorize_func(s, htmlsrc_colorize_line);
- return ret;
-}
-
/* specific htmlsrc commands */
/* CG: need move / kill by tag level */
static CmdDef htmlsrc_commands[] = {
@@ -295,7 +284,7 @@
htmlsrc_mode.name = "html-src";
htmlsrc_mode.extensions = "html|htm|asp|shtml|hta|htp|phtml";
htmlsrc_mode.mode_probe = htmlsrc_mode_probe;
- htmlsrc_mode.mode_init = htmlsrc_mode_init;
+ htmlsrc_mode.colorize_func = htmlsrc_colorize_line;
qe_register_mode(&htmlsrc_mode);
qe_register_cmd_table(htmlsrc_commands, &htmlsrc_mode);
Index: makemode.c
===================================================================
RCS file: /sources/qemacs/qemacs/makemode.c,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -b -r1.6 -r1.7
--- makemode.c 4 Jan 2014 17:28:34 -0000 1.6
+++ makemode.c 5 Jan 2014 23:42:54 -0000 1.7
@@ -146,27 +146,14 @@
static int makefile_mode_probe(ModeDef *mode, ModeProbeData *p)
{
- const char *base = get_basename(p->filename);
-
/* check file name or extension */
- if (match_extension(base, mode->extensions)
- || stristart(base, "makefile", NULL))
+ if (match_extension(p->filename, mode->extensions)
+ || stristart(p->filename, "makefile", NULL))
return 70;
return 0;
}
-static int makefile_mode_init(EditState *s, ModeSavedData *saved_data)
-{
- int ret;
-
- ret = text_mode_init(s, saved_data);
- if (ret)
- return ret;
- set_colorize_func(s, makefile_colorize_line);
- return ret;
-}
-
/* specific makefile commands */
static CmdDef makefile_commands[] = {
CMD_DEF_END,
@@ -181,7 +168,7 @@
makefile_mode.name = "Makefile";
makefile_mode.extensions = "mk|mak";
makefile_mode.mode_probe = makefile_mode_probe;
- makefile_mode.mode_init = makefile_mode_init;
+ makefile_mode.colorize_func = makefile_colorize_line;
qe_register_mode(&makefile_mode);
qe_register_cmd_table(makefile_commands, &makefile_mode);
Index: qe.h
===================================================================
RCS file: /sources/qemacs/qemacs/qe.h,v
retrieving revision 1.107
retrieving revision 1.108
diff -u -b -r1.107 -r1.108
--- qe.h 4 Jan 2014 17:32:42 -0000 1.107
+++ qe.h 5 Jan 2014 23:42:54 -0000 1.108
@@ -1083,6 +1083,7 @@
/* text related functions */
int (*text_display)(EditState *, DisplayState *, int);
int (*text_backward_offset)(EditState *, int);
+ ColorizeFunc colorize_func;
/* common functions are defined here */
/* TODO: Should have single move function with move type and argument */
@@ -1098,6 +1099,7 @@
int mode_flags;
#define MODEF_NOCMD 0x0001 /* do not register xxx-mode command automatically */
+
EditBufferDataType *data_type; /* native buffer data type (NULL = raw) */
int (*get_mode_line)(EditState *s, char *buf, int buf_size); /* return
mode line */
@@ -1324,7 +1326,7 @@
#define CMD0(key, key_alt, name, func) \
{ key, key_alt, name "\0", { .ES = func }, CMD_ES, 0 },
#define CMD1(key, key_alt, name, func, val) \
- { key, key_alt, name "\0v", { .ESi = func }, CMD_ESi, val },
+ { key, key_alt, name "\0" "v", { .ESi = func }, CMD_ESi, val },
#define CMD_DEF_END \
{ 0, 0, NULL, { NULL }, CMD_void, 0 }
Index: xml.c
===================================================================
RCS file: /sources/qemacs/qemacs/xml.c,v
retrieving revision 1.12
retrieving revision 1.13
diff -u -b -r1.12 -r1.13
--- xml.c 4 Jan 2014 17:28:37 -0000 1.12
+++ xml.c 5 Jan 2014 23:42:54 -0000 1.13
@@ -175,16 +175,6 @@
return 90; /* leave some room for more specific XML parser */
}
-static int xml_mode_init(EditState *s, ModeSavedData *saved_data)
-{
- int ret;
- ret = text_mode_init(s, saved_data);
- if (ret)
- return ret;
- set_colorize_func(s, xml_colorize_line);
- return 0;
-}
-
ModeDef xml_mode;
static int xml_init(void)
@@ -193,7 +183,7 @@
memcpy(&xml_mode, &text_mode, sizeof(ModeDef));
xml_mode.name = "xml";
xml_mode.mode_probe = xml_mode_probe;
- xml_mode.mode_init = xml_mode_init;
+ xml_mode.colorize_func = xml_colorize_line;
qe_register_mode(&xml_mode);
Index: docbook.c
===================================================================
RCS file: /sources/qemacs/qemacs/docbook.c,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -b -r1.7 -r1.8
--- docbook.c 4 Jan 2014 17:27:02 -0000 1.7
+++ docbook.c 5 Jan 2014 23:42:54 -0000 1.8
@@ -27,7 +27,7 @@
return 0;
/* well, very crude, but it may work OK */
- if (strstr((const char *)p1->buf, "DocBook"))
+ if (strstr(cs8(p1->buf), "DocBook"))
return 100;
return 0;
}
Index: latex-mode.c
===================================================================
RCS file: /sources/qemacs/qemacs/latex-mode.c,v
retrieving revision 1.34
retrieving revision 1.35
diff -u -b -r1.34 -r1.35
--- latex-mode.c 4 Jan 2014 17:28:18 -0000 1.34
+++ latex-mode.c 5 Jan 2014 23:42:54 -0000 1.35
@@ -132,17 +132,6 @@
return 0;
}
-static int latex_mode_init(EditState *s, ModeSavedData *saved_data)
-{
- int ret;
-
- ret = text_mode_init(s, saved_data);
- if (ret)
- return ret;
- set_colorize_func(s, latex_colorize_line);
- return ret;
-}
-
static void do_tex_insert_quote(EditState *s)
{
int offset_bol, len, offset1;
@@ -333,7 +322,7 @@
latex_mode.name = "LaTeX";
latex_mode.extensions = "tex|but";
latex_mode.mode_probe = latex_mode_probe;
- latex_mode.mode_init = latex_mode_init;
+ latex_mode.colorize_func = latex_colorize_line;
qe_register_mode(&latex_mode);
qe_register_cmd_table(latex_commands, &latex_mode);
Index: perl.c
===================================================================
RCS file: /sources/qemacs/qemacs/perl.c,v
retrieving revision 1.9
retrieving revision 1.10
diff -u -b -r1.9 -r1.10
--- perl.c 4 Jan 2014 17:28:35 -0000 1.9
+++ perl.c 5 Jan 2014 23:42:54 -0000 1.10
@@ -341,17 +341,6 @@
return 0;
}
-static int perl_mode_init(EditState *s, ModeSavedData *saved_data)
-{
- int ret;
-
- ret = text_mode_init(s, saved_data);
- if (ret)
- return ret;
- set_colorize_func(s, perl_colorize_line);
- return ret;
-}
-
/* specific perl commands */
static CmdDef perl_commands[] = {
CMD_DEF_END,
@@ -366,7 +355,7 @@
perl_mode.name = "Perl";
perl_mode.extensions = "pl|perl|pm";
perl_mode.mode_probe = perl_mode_probe;
- perl_mode.mode_init = perl_mode_init;
+ perl_mode.colorize_func = perl_colorize_line;
qe_register_mode(&perl_mode);
qe_register_cmd_table(perl_commands, &perl_mode);
Index: script.c
===================================================================
RCS file: /sources/qemacs/qemacs/script.c,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -b -r1.2 -r1.3
--- script.c 4 Jan 2014 17:28:36 -0000 1.2
+++ script.c 5 Jan 2014 23:42:54 -0000 1.3
@@ -116,17 +116,6 @@
return 0;
}
-static int script_mode_init(EditState *s, ModeSavedData *saved_data)
-{
- int ret;
-
- ret = text_mode_init(s, saved_data);
- if (ret)
- return ret;
- set_colorize_func(s, script_colorize_line);
- return ret;
-}
-
/* specific script commands */
static CmdDef script_commands[] = {
CMD_DEF_END,
@@ -141,7 +130,7 @@
script_mode.name = "Shell-script";
script_mode.extensions = "sh|bash|zsh";
script_mode.mode_probe = script_mode_probe;
- script_mode.mode_init = script_mode_init;
+ script_mode.colorize_func = script_colorize_line;
qe_register_mode(&script_mode);
qe_register_cmd_table(script_commands, &script_mode);
Index: html.c
===================================================================
RCS file: /sources/qemacs/qemacs/html.c,v
retrieving revision 1.22
retrieving revision 1.23
diff -u -b -r1.22 -r1.23
--- html.c 4 Jan 2014 17:27:04 -0000 1.22
+++ html.c 5 Jan 2014 23:42:55 -0000 1.23
@@ -839,7 +839,7 @@
break;
if (c < 32 && (c != '\r' && c != '\n' && c != '\t' && c != '\033'))
return 0;
- if (stristart((const char *)p, "<HTML", NULL))
+ if (c == '<' && stristart(cs8(p), "<HTML", NULL))
score = 100;
p++;
}
Index: lisp.c
===================================================================
RCS file: /sources/qemacs/qemacs/lisp.c,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -b -r1.2 -r1.3
--- lisp.c 4 Jan 2014 17:28:32 -0000 1.2
+++ lisp.c 5 Jan 2014 23:42:55 -0000 1.3
@@ -105,7 +105,7 @@
static int lisp_mode_probe(ModeDef *mode, ModeProbeData *p)
{
- /* just check file extension */
+ /* check file name or extension */
if (match_extension(p->filename, mode->extensions)
|| strstart(p->filename, ".emacs", NULL))
return 80;
@@ -113,17 +113,6 @@
return 0;
}
-static int lisp_mode_init(EditState *s, ModeSavedData *saved_data)
-{
- int ret;
-
- ret = text_mode_init(s, saved_data);
- if (ret)
- return ret;
- set_colorize_func(s, lisp_colorize_line);
- return ret;
-}
-
/* specific lisp commands */
static CmdDef lisp_commands[] = {
CMD_DEF_END,
@@ -138,7 +127,7 @@
lisp_mode.name = "Lisp";
lisp_mode.extensions = "ll|li|lh|lo|lm|lisp|el";
lisp_mode.mode_probe = lisp_mode_probe;
- lisp_mode.mode_init = lisp_mode_init;
+ lisp_mode.colorize_func = lisp_colorize_line;
qe_register_mode(&lisp_mode);
qe_register_cmd_table(lisp_commands, &lisp_mode);
Index: qe.c
===================================================================
RCS file: /sources/qemacs/qemacs/qe.c,v
retrieving revision 1.109
retrieving revision 1.110
diff -u -b -r1.109 -r1.110
--- qe.c 5 Jan 2014 12:51:41 -0000 1.109
+++ qe.c 5 Jan 2014 23:42:55 -0000 1.110
@@ -88,6 +88,10 @@
*p = m;
/* add missing functions */
+ if (!m->mode_init)
+ m->mode_init = text_mode_init;
+ if (!m->mode_close)
+ m->mode_close = text_mode_close;
if (!m->display)
m->display = generic_text_display;
if (!m->mode_save_data)
@@ -1690,6 +1694,8 @@
/* init mode */
m->mode_init(s, saved_data);
+ if (m->colorize_func)
+ set_colorize_func(s, m->colorize_func);
/* modify offset_top so that its value is correct */
if (s->mode->text_backward_offset)
s->offset_top = s->mode->text_backward_offset(s, s->offset_top);
Index: tty.c
===================================================================
RCS file: /sources/qemacs/qemacs/tty.c,v
retrieving revision 1.52
retrieving revision 1.53
diff -u -b -r1.52 -r1.53
--- tty.c 2 Jan 2014 11:28:30 -0000 1.52
+++ tty.c 5 Jan 2014 23:42:55 -0000 1.53
@@ -396,8 +396,7 @@
/* charset handling */
if (s->charset == &charset_utf8) {
if (ts->utf8_state == 0) {
- const char *p;
- p = (const char *)ts->buf;
+ const char *p = cs8(ts->buf);
ch = utf8_decode(&p);
} else {
ts->utf8_state = utf8_length[ts->buf[0]] - 1;
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Qemacs-commit] qemacs clang.c htmlsrc.c makemode.c qe.h xml.c ...,
Charlie Gordon <=