[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemacs-commit] qemacs bufed.c htmlsrc.c makemode.c perl.c xml....
From: |
Charlie Gordon |
Subject: |
[Qemacs-commit] qemacs bufed.c htmlsrc.c makemode.c perl.c xml.... |
Date: |
Thu, 29 May 2014 18:29:16 +0000 |
CVSROOT: /sources/qemacs
Module name: qemacs
Changes by: Charlie Gordon <chqrlie> 14/05/29 18:29:16
Modified files:
. : bufed.c htmlsrc.c makemode.c perl.c xml.c
clang.c latex-mode.c markdown.c qe.c
extra-modes.c lisp.c orgmode.c script.c
Log message:
simplify mode definitions
* assume text mode primitives for MODEF_SYNTAX modes
* initialize mode structures inline instead of cloning text_mode
CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/qemacs/bufed.c?cvsroot=qemacs&r1=1.31&r2=1.32
http://cvs.savannah.gnu.org/viewcvs/qemacs/htmlsrc.c?cvsroot=qemacs&r1=1.19&r2=1.20
http://cvs.savannah.gnu.org/viewcvs/qemacs/makemode.c?cvsroot=qemacs&r1=1.19&r2=1.20
http://cvs.savannah.gnu.org/viewcvs/qemacs/perl.c?cvsroot=qemacs&r1=1.19&r2=1.20
http://cvs.savannah.gnu.org/viewcvs/qemacs/xml.c?cvsroot=qemacs&r1=1.21&r2=1.22
http://cvs.savannah.gnu.org/viewcvs/qemacs/clang.c?cvsroot=qemacs&r1=1.71&r2=1.72
http://cvs.savannah.gnu.org/viewcvs/qemacs/latex-mode.c?cvsroot=qemacs&r1=1.48&r2=1.49
http://cvs.savannah.gnu.org/viewcvs/qemacs/markdown.c?cvsroot=qemacs&r1=1.14&r2=1.15
http://cvs.savannah.gnu.org/viewcvs/qemacs/qe.c?cvsroot=qemacs&r1=1.177&r2=1.178
http://cvs.savannah.gnu.org/viewcvs/qemacs/extra-modes.c?cvsroot=qemacs&r1=1.24&r2=1.25
http://cvs.savannah.gnu.org/viewcvs/qemacs/lisp.c?cvsroot=qemacs&r1=1.15&r2=1.16
http://cvs.savannah.gnu.org/viewcvs/qemacs/orgmode.c?cvsroot=qemacs&r1=1.21&r2=1.22
http://cvs.savannah.gnu.org/viewcvs/qemacs/script.c?cvsroot=qemacs&r1=1.14&r2=1.15
Patches:
Index: bufed.c
===================================================================
RCS file: /sources/qemacs/qemacs/bufed.c,v
retrieving revision 1.31
retrieving revision 1.32
diff -u -b -r1.31 -r1.32
--- bufed.c 29 May 2014 10:26:13 -0000 1.31
+++ bufed.c 29 May 2014 18:29:14 -0000 1.32
@@ -89,7 +89,6 @@
if (b1) {
char path[MAX_FILENAME_SIZE];
const char *mode_name;
- EditState *e;
if (b1->saved_mode) {
mode_name = b1->saved_mode->name;
@@ -100,6 +99,8 @@
if (b1->default_mode) {
mode_name = b1->default_mode->name;
} else {
+ EditState *e;
+
mode_name = "none";
for (e = qs->first_window; e != NULL; e = e->next_window) {
if (e->b == b1) {
Index: htmlsrc.c
===================================================================
RCS file: /sources/qemacs/qemacs/htmlsrc.c,v
retrieving revision 1.19
retrieving revision 1.20
diff -u -b -r1.19 -r1.20
--- htmlsrc.c 27 May 2014 22:59:49 -0000 1.19
+++ htmlsrc.c 29 May 2014 18:29:14 -0000 1.20
@@ -415,17 +415,15 @@
CMD_DEF_END,
};
-static ModeDef htmlsrc_mode;
+static ModeDef htmlsrc_mode = {
+ .name = "html-src",
+ .extensions = "html|htm|asp|aspx|shtml|hta|htp|phtml|php",
+ .mode_probe = htmlsrc_mode_probe,
+ .colorize_func = htmlsrc_colorize_line,
+};
static int htmlsrc_init(void)
{
- /* html-src mode is almost like the text mode, so we copy and patch it */
- memcpy(&htmlsrc_mode, &text_mode, sizeof(ModeDef));
- htmlsrc_mode.name = "html-src";
- htmlsrc_mode.extensions = "html|htm|asp|aspx|shtml|hta|htp|phtml|php";
- htmlsrc_mode.mode_probe = htmlsrc_mode_probe;
- htmlsrc_mode.colorize_func = htmlsrc_colorize_line;
-
qe_register_mode(&htmlsrc_mode, MODEF_SYNTAX);
qe_register_cmd_table(htmlsrc_commands, &htmlsrc_mode);
Index: makemode.c
===================================================================
RCS file: /sources/qemacs/qemacs/makemode.c,v
retrieving revision 1.19
retrieving revision 1.20
diff -u -b -r1.19 -r1.20
--- makemode.c 29 May 2014 10:26:14 -0000 1.19
+++ makemode.c 29 May 2014 18:29:14 -0000 1.20
@@ -163,8 +163,6 @@
return 1;
}
-static ModeDef makefile_mode;
-
static int makefile_mode_init(EditState *s)
{
s->b->tab_width = 8;
@@ -172,16 +170,16 @@
return 0;
}
+static ModeDef makefile_mode = {
+ .name = "Makefile",
+ .extensions = "mak|make|mk",
+ .mode_probe = makefile_mode_probe,
+ .mode_init = makefile_mode_init,
+ .colorize_func = makefile_colorize_line,
+};
+
static int makefile_init(void)
{
- /* Makefile mode is almost like the text mode, so we copy and patch it */
- memcpy(&makefile_mode, &text_mode, sizeof(ModeDef));
- makefile_mode.name = "Makefile";
- makefile_mode.extensions = "mak|make|mk";
- 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, MODEF_SYNTAX);
return 0;
Index: perl.c
===================================================================
RCS file: /sources/qemacs/qemacs/perl.c,v
retrieving revision 1.19
retrieving revision 1.20
diff -u -b -r1.19 -r1.20
--- perl.c 27 May 2014 12:05:54 -0000 1.19
+++ perl.c 29 May 2014 18:29:14 -0000 1.20
@@ -351,17 +351,15 @@
return 1;
}
-static ModeDef perl_mode;
+static ModeDef perl_mode = {
+ .name = "Perl",
+ .extensions = "pl|perl|pm",
+ .mode_probe = perl_mode_probe,
+ .colorize_func = perl_colorize_line,
+};
static int perl_init(void)
{
- /* perl mode is almost like the text mode, so we copy and patch it */
- memcpy(&perl_mode, &text_mode, sizeof(ModeDef));
- perl_mode.name = "Perl";
- perl_mode.extensions = "pl|perl|pm";
- perl_mode.mode_probe = perl_mode_probe;
- perl_mode.colorize_func = perl_colorize_line;
-
qe_register_mode(&perl_mode, MODEF_SYNTAX);
return 0;
Index: xml.c
===================================================================
RCS file: /sources/qemacs/qemacs/xml.c,v
retrieving revision 1.21
retrieving revision 1.22
diff -u -b -r1.21 -r1.22
--- xml.c 27 May 2014 12:05:56 -0000 1.21
+++ xml.c 29 May 2014 18:29:15 -0000 1.22
@@ -191,16 +191,14 @@
return 80; /* leave some room for more specific XML parser */
}
-ModeDef xml_mode;
+ModeDef xml_mode = {
+ .name = "xml",
+ .mode_probe = xml_mode_probe,
+ .colorize_func = xml_colorize_line,
+};
static int xml_init(void)
{
- /* xml mode is almost like the text mode, so we copy and patch it */
- memcpy(&xml_mode, &text_mode, sizeof(ModeDef));
- xml_mode.name = "xml";
- xml_mode.mode_probe = xml_mode_probe;
- xml_mode.colorize_func = xml_colorize_line;
-
qe_register_mode(&xml_mode, MODEF_SYNTAX);
return 0;
Index: clang.c
===================================================================
RCS file: /sources/qemacs/qemacs/clang.c,v
retrieving revision 1.71
retrieving revision 1.72
diff -u -b -r1.71 -r1.72
--- clang.c 29 May 2014 10:26:14 -0000 1.71
+++ clang.c 29 May 2014 18:29:15 -0000 1.72
@@ -1486,22 +1486,20 @@
CMD_DEF_END,
};
-static ModeDef c_mode;
+static ModeDef c_mode = {
+ .name = "C",
+ .extensions = c_mode_extensions,
+ .mode_probe = c_mode_probe,
+ .mode_init = c_mode_init,
+ .colorize_func = c_colorize_line,
+ .indent_func = c_indent_line,
+ .auto_indent = 1,
+};
static int c_init(void)
{
const char *p;
- /* C mode is almost like the text mode, so we copy and patch it */
- memcpy(&c_mode, &text_mode, sizeof(ModeDef));
- 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;
- c_mode.indent_func = c_indent_line;
- c_mode.auto_indent = 1;
-
qe_register_mode(&c_mode, MODEF_SYNTAX);
qe_register_cmd_table(c_commands, &c_mode);
for (p = ";:#&|"; *p; p++) {
Index: latex-mode.c
===================================================================
RCS file: /sources/qemacs/qemacs/latex-mode.c,v
retrieving revision 1.48
retrieving revision 1.49
diff -u -b -r1.48 -r1.49
--- latex-mode.c 27 May 2014 12:05:52 -0000 1.48
+++ latex-mode.c 29 May 2014 18:29:15 -0000 1.49
@@ -325,17 +325,15 @@
CMD_DEF_END,
};
-static ModeDef latex_mode;
+static ModeDef latex_mode = {
+ .name = "LaTeX",
+ .extensions = "tex|but",
+ .mode_probe = latex_mode_probe,
+ .colorize_func = latex_colorize_line,
+};
static int latex_init(void)
{
- /* LaTeX mode is almost like the text mode, so we copy and patch it */
- memcpy(&latex_mode, &text_mode, sizeof(ModeDef));
- latex_mode.name = "LaTeX";
- latex_mode.extensions = "tex|but";
- latex_mode.mode_probe = latex_mode_probe;
- latex_mode.colorize_func = latex_colorize_line;
-
qe_register_mode(&latex_mode, MODEF_SYNTAX);
qe_register_cmd_table(latex_commands, &latex_mode);
register_completion("latex", latex_completion);
Index: markdown.c
===================================================================
RCS file: /sources/qemacs/qemacs/markdown.c,v
retrieving revision 1.14
retrieving revision 1.15
diff -u -b -r1.14 -r1.15
--- markdown.c 29 May 2014 10:26:15 -0000 1.14
+++ markdown.c 29 May 2014 18:29:15 -0000 1.15
@@ -20,8 +20,6 @@
#include "qe.h"
-ModeDef mkd_mode;
-
enum {
/* TODO: define specific styles */
MKD_STYLE_HEADING1 = QE_STYLE_FUNCTION,
@@ -810,14 +808,15 @@
return 0;
}
+ModeDef mkd_mode = {
+ .name = "markdown",
+ .extensions = "mkd|md",
+ .mode_init = mkd_mode_init,
+ .colorize_func = mkd_colorize_line,
+};
+
static int mkd_init(void)
{
- memcpy(&mkd_mode, &text_mode, sizeof(ModeDef));
- mkd_mode.name = "markdown";
- mkd_mode.extensions = "mkd|md";
- mkd_mode.mode_init = mkd_mode_init;
- mkd_mode.colorize_func = mkd_colorize_line;
-
qe_register_mode(&mkd_mode, MODEF_SYNTAX);
qe_register_cmd_table(mkd_commands, &mkd_mode);
Index: qe.c
===================================================================
RCS file: /sources/qemacs/qemacs/qe.c,v
retrieving revision 1.177
retrieving revision 1.178
diff -u -b -r1.177 -r1.178
--- qe.c 29 May 2014 10:26:14 -0000 1.177
+++ qe.c 29 May 2014 18:29:15 -0000 1.178
@@ -95,12 +95,6 @@
m->flags |= flags;
- if (m->flags & MODEF_SYNTAX) {
- /* if no syntax probing function, use extension matcher */
- if (!m->mode_probe && m->extensions)
- m->mode_probe = generic_mode_probe;
- }
-
/* register mode in mode list (at end) */
for (p = &qs->first_mode;; p = &(*p)->next) {
if (*p == m)
@@ -112,6 +106,34 @@
}
}
+ if (m->flags & MODEF_SYNTAX) {
+ /* if no syntax probing function, use extension matcher */
+ if (!m->mode_probe && m->extensions)
+ m->mode_probe = generic_mode_probe;
+
+ /* default to text handling */
+ if (!m->text_display)
+ m->text_display = text_display;
+ if (!m->text_backward_offset)
+ m->text_backward_offset = text_backward_offset;
+ if (!m->move_up_down)
+ m->move_up_down = text_move_up_down;
+ if (!m->move_left_right)
+ m->move_left_right = text_move_left_right_visual;
+ if (!m->move_bol)
+ m->move_bol = text_move_bol;
+ if (!m->move_eol)
+ m->move_eol = text_move_eol;
+ if (!m->move_word_left_right)
+ m->move_word_left_right = text_move_word_left_right;
+ if (!m->scroll_up_down)
+ m->scroll_up_down = text_scroll_up_down;
+ if (!m->write_char)
+ m->write_char = text_write_char;
+ if (!m->mouse_goto)
+ m->mouse_goto = text_mouse_goto;
+ }
+
/* add missing functions */
if (!m->display)
m->display = generic_text_display;
Index: extra-modes.c
===================================================================
RCS file: /sources/qemacs/qemacs/extra-modes.c,v
retrieving revision 1.24
retrieving revision 1.25
diff -u -b -r1.24 -r1.25
--- extra-modes.c 27 May 2014 23:43:59 -0000 1.24
+++ extra-modes.c 29 May 2014 18:29:15 -0000 1.25
@@ -178,16 +178,14 @@
cp->colorize_state = colstate;
}
-static ModeDef asm_mode;
+static ModeDef asm_mode = {
+ .name = "asm",
+ .extensions = "asm|asi|cod",
+ .colorize_func = asm_colorize_line,
+};
static int asm_init(void)
{
- /* asm mode is almost like the text mode, so we copy and patch it */
- memcpy(&asm_mode, &text_mode, sizeof(ModeDef));
- asm_mode.name = "asm";
- asm_mode.extensions = "asm|asi|cod";
- asm_mode.colorize_func = asm_colorize_line;
-
qe_register_mode(&asm_mode, MODEF_SYNTAX);
return 0;
@@ -295,16 +293,14 @@
}
}
-static ModeDef basic_mode;
+static ModeDef basic_mode = {
+ .name = "Basic",
+ .extensions = "bas|frm|mst|vb|vbs",
+ .colorize_func = basic_colorize_line,
+};
static int basic_init(void)
{
- /* basic mode is almost like the text mode, so we copy and patch it */
- memcpy(&basic_mode, &text_mode, sizeof(ModeDef));
- basic_mode.name = "Basic";
- basic_mode.extensions = "bas|frm|mst|vb|vbs";
- basic_mode.colorize_func = basic_colorize_line;
-
qe_register_mode(&basic_mode, MODEF_SYNTAX);
return 0;
@@ -545,16 +541,14 @@
cp->colorize_state = (state << 4) | (level & 15);
}
-static ModeDef vim_mode;
+static ModeDef vim_mode = {
+ .name = "Vim",
+ .extensions = "vim",
+ .colorize_func = vim_colorize_line,
+};
static int vim_init(void)
{
- /* vim mode is almost like the text mode, so we copy and patch it */
- memcpy(&vim_mode, &text_mode, sizeof(ModeDef));
- vim_mode.name = "Vim";
- vim_mode.extensions = "vim";
- vim_mode.colorize_func = vim_colorize_line;
-
qe_register_mode(&vim_mode, MODEF_SYNTAX);
return 0;
@@ -728,16 +722,14 @@
cp->colorize_state = colstate;
}
-static ModeDef pascal_mode;
+static ModeDef pascal_mode = {
+ .name = "Pascal",
+ .extensions = "pas",
+ .colorize_func = pascal_colorize_line,
+};
static int pascal_init(void)
{
- /* pascal mode is almost like the text mode, so we copy and patch it */
- memcpy(&pascal_mode, &text_mode, sizeof(ModeDef));
- pascal_mode.name = "Pascal";
- pascal_mode.extensions = "pas";
- pascal_mode.colorize_func = pascal_colorize_line;
-
qe_register_mode(&pascal_mode, MODEF_SYNTAX);
return 0;
@@ -857,17 +849,15 @@
return 1;
}
-static ModeDef ini_mode;
+static ModeDef ini_mode = {
+ .name = "ini",
+ .extensions = "ini|inf|INI|INF",
+ .mode_probe = ini_mode_probe,
+ .colorize_func = ini_colorize_line,
+};
static int ini_init(void)
{
- /* ini mode is almost like the text mode, so we copy and patch it */
- memcpy(&ini_mode, &text_mode, sizeof(ModeDef));
- ini_mode.name = "ini";
- ini_mode.extensions = "ini|inf|INI|INF";
- ini_mode.mode_probe = ini_mode_probe;
- ini_mode.colorize_func = ini_colorize_line;
-
qe_register_mode(&ini_mode, MODEF_SYNTAX);
return 0;
@@ -915,17 +905,15 @@
return 1;
}
-static ModeDef sharp_mode;
+static ModeDef sharp_mode = {
+ .name = "sharp",
+ .extensions = "txt",
+ .mode_probe = sharp_mode_probe,
+ .colorize_func = sharp_colorize_line,
+};
static int sharp_init(void)
{
- /* sharp txt mode is almost like the text mode, so we copy and patch it */
- memcpy(&sharp_mode, &text_mode, sizeof(ModeDef));
- sharp_mode.name = "sharp";
- sharp_mode.extensions = "txt";
- sharp_mode.mode_probe = sharp_mode_probe;
- sharp_mode.colorize_func = sharp_colorize_line;
-
qe_register_mode(&sharp_mode, MODEF_SYNTAX);
return 0;
@@ -1039,17 +1027,15 @@
return 1;
}
-static ModeDef ps_mode;
+static ModeDef ps_mode = {
+ .name = "Postscript",
+ .extensions = "ps|ms|eps",
+ .mode_probe = ps_mode_probe,
+ .colorize_func = ps_colorize_line,
+};
static int ps_init(void)
{
- /* Poscript mode is almost like the text mode, so we copy and patch it */
- memcpy(&ps_mode, &text_mode, sizeof(ModeDef));
- ps_mode.name = "Postscript";
- ps_mode.extensions = "ps|ms|eps";
- ps_mode.mode_probe = ps_mode_probe;
- ps_mode.colorize_func = ps_colorize_line;
-
qe_register_mode(&ps_mode, MODEF_SYNTAX);
return 0;
@@ -1137,16 +1123,14 @@
cp->colorize_state = state;
}
-static ModeDef sql_mode;
+static ModeDef sql_mode = {
+ .name = "SQL",
+ .extensions = "sql|mysql|sqlite|sqlplus",
+ .colorize_func = sql_colorize_line,
+};
static int sql_init(void)
{
- /* sql mode is almost like the text mode, so we copy and patch it */
- memcpy(&sql_mode, &text_mode, sizeof(ModeDef));
- sql_mode.name = "SQL";
- sql_mode.extensions = "sql|mysql|sqlite|sqlplus";
- sql_mode.colorize_func = sql_colorize_line;
-
qe_register_mode(&sql_mode, MODEF_SYNTAX);
return 0;
@@ -1318,16 +1302,14 @@
cp->colorize_state = state;
}
-static ModeDef lua_mode;
+static ModeDef lua_mode = {
+ .name = "Lua",
+ .extensions = "lua",
+ .colorize_func = lua_colorize_line,
+};
static int lua_init(void)
{
- /* lua mode is almost like the text mode, so we copy and patch it */
- memcpy(&lua_mode, &text_mode, sizeof(ModeDef));
- lua_mode.name = "Lua";
- lua_mode.extensions = "lua";
- lua_mode.colorize_func = lua_colorize_line;
-
qe_register_mode(&lua_mode, MODEF_SYNTAX);
return 0;
@@ -1585,16 +1567,14 @@
cp->colorize_state = state;
}
-static ModeDef julia_mode;
+static ModeDef julia_mode = {
+ .name = "Julia",
+ .extensions = "jl",
+ .colorize_func = julia_colorize_line,
+};
static int julia_init(void)
{
- /* julia mode is almost like the text mode, so we copy and patch it */
- memcpy(&julia_mode, &text_mode, sizeof(ModeDef));
- julia_mode.name = "Julia";
- julia_mode.extensions = "jl";
- julia_mode.colorize_func = julia_colorize_line;
-
qe_register_mode(&julia_mode, MODEF_SYNTAX);
return 0;
@@ -1795,16 +1775,14 @@
cp->colorize_state = state;
}
-static ModeDef haskell_mode;
+static ModeDef haskell_mode = {
+ .name = "Haskell",
+ .extensions = "hs|haskell",
+ .colorize_func = haskell_colorize_line,
+};
static int haskell_init(void)
{
- /* haskell mode is almost like the text mode, so we copy and patch it */
- memcpy(&haskell_mode, &text_mode, sizeof(ModeDef));
- haskell_mode.name = "Haskell";
- haskell_mode.extensions = "hs|haskell";
- haskell_mode.colorize_func = haskell_colorize_line;
-
qe_register_mode(&haskell_mode, MODEF_SYNTAX);
return 0;
@@ -2015,16 +1993,14 @@
cp->colorize_state = state;
}
-static ModeDef python_mode;
+static ModeDef python_mode = {
+ .name = "Python",
+ .extensions = "py|pyt",
+ .colorize_func = python_colorize_line,
+};
static int python_init(void)
{
- /* python mode is almost like the text mode, so we copy and patch it */
- memcpy(&python_mode, &text_mode, sizeof(ModeDef));
- python_mode.name = "Python";
- python_mode.extensions = "py|pyt";
- python_mode.colorize_func = python_colorize_line;
-
qe_register_mode(&python_mode, MODEF_SYNTAX);
return 0;
@@ -2495,17 +2471,15 @@
return 1;
}
-static ModeDef ruby_mode;
+static ModeDef ruby_mode = {
+ .name = "Ruby",
+ .extensions = "rb|gemspec",
+ .mode_probe = ruby_mode_probe,
+ .colorize_func = ruby_colorize_line,
+};
static int ruby_init(void)
{
- /* ruby mode is almost like the text mode, so we copy and patch it */
- memcpy(&ruby_mode, &text_mode, sizeof(ModeDef));
- ruby_mode.name = "Ruby";
- ruby_mode.extensions = "rb|gemspec";
- ruby_mode.mode_probe = ruby_mode_probe;
- ruby_mode.colorize_func = ruby_colorize_line;
-
qe_register_mode(&ruby_mode, MODEF_SYNTAX);
return 0;
@@ -2712,16 +2686,14 @@
cp->colorize_state = colstate;
}
-static ModeDef ocaml_mode;
+static ModeDef ocaml_mode = {
+ .name = "Ocaml",
+ .extensions = "ml|mli|mll|mly",
+ .colorize_func = ocaml_colorize_line,
+};
static int ocaml_init(void)
{
- /* ocaml mode is almost like the text mode, so we copy and patch it */
- memcpy(&ocaml_mode, &text_mode, sizeof(ModeDef));
- ocaml_mode.name = "Ocaml";
- ocaml_mode.extensions = "ml|mli|mll|mly";
- ocaml_mode.colorize_func = ocaml_colorize_line;
-
qe_register_mode(&ocaml_mode, MODEF_SYNTAX);
return 0;
Index: lisp.c
===================================================================
RCS file: /sources/qemacs/qemacs/lisp.c,v
retrieving revision 1.15
retrieving revision 1.16
diff -u -b -r1.15 -r1.16
--- lisp.c 29 May 2014 10:26:15 -0000 1.15
+++ lisp.c 29 May 2014 18:29:15 -0000 1.16
@@ -367,18 +367,16 @@
return 0;
}
-ModeDef lisp_mode;
+ModeDef lisp_mode = {
+ .name = "Lisp",
+ .extensions = "ll|li|lh|lo|lm|lisp|el|scm|ss|rkt|rktd",
+ .mode_probe = lisp_mode_probe,
+ .mode_init = lisp_mode_init,
+ .colorize_func = lisp_colorize_line,
+};
static int lisp_init(void)
{
- /* lisp mode is almost like the text mode, so we copy and patch it */
- memcpy(&lisp_mode, &text_mode, sizeof(ModeDef));
- lisp_mode.name = "Lisp";
- lisp_mode.extensions = "ll|li|lh|lo|lm|lisp|el|scm|ss|rkt|rktd";
- 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, MODEF_SYNTAX);
return 0;
Index: orgmode.c
===================================================================
RCS file: /sources/qemacs/qemacs/orgmode.c,v
retrieving revision 1.21
retrieving revision 1.22
diff -u -b -r1.21 -r1.22
--- orgmode.c 27 May 2014 15:50:47 -0000 1.21
+++ orgmode.c 29 May 2014 18:29:16 -0000 1.22
@@ -22,8 +22,6 @@
#include "qe.h"
-ModeDef org_mode;
-
enum {
IN_ORG_BLOCK = 0x80,
IN_ORG_LISP = 0x40,
@@ -734,13 +732,14 @@
CMD_DEF_END,
};
+ModeDef org_mode = {
+ .name = "org",
+ .extensions = "org",
+ .colorize_func = org_colorize_line,
+};
+
static int org_init(void)
{
- memcpy(&org_mode, &text_mode, sizeof(ModeDef));
- org_mode.name = "org";
- org_mode.extensions = "org";
- org_mode.colorize_func = org_colorize_line;
-
qe_register_mode(&org_mode, MODEF_SYNTAX);
qe_register_cmd_table(org_commands, &org_mode);
Index: script.c
===================================================================
RCS file: /sources/qemacs/qemacs/script.c,v
retrieving revision 1.14
retrieving revision 1.15
diff -u -b -r1.14 -r1.15
--- script.c 27 May 2014 22:59:48 -0000 1.14
+++ script.c 29 May 2014 18:29:16 -0000 1.15
@@ -119,17 +119,15 @@
return 1;
}
-static ModeDef script_mode;
+static ModeDef script_mode = {
+ .name = "Shell-script",
+ .extensions = "sh|bash|csh|ksh|zsh",
+ .mode_probe = script_mode_probe,
+ .colorize_func = script_colorize_line,
+};
static int script_init(void)
{
- /* Shell-script mode is almost like the text mode, so we copy and patch it
*/
- memcpy(&script_mode, &text_mode, sizeof(ModeDef));
- script_mode.name = "Shell-script";
- script_mode.extensions = "sh|bash|csh|ksh|zsh";
- script_mode.mode_probe = script_mode_probe;
- script_mode.colorize_func = script_colorize_line;
-
qe_register_mode(&script_mode, MODEF_SYNTAX);
return 0;
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Qemacs-commit] qemacs bufed.c htmlsrc.c makemode.c perl.c xml....,
Charlie Gordon <=