qemacs-commit
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemacs-commit] qemacs extra-modes.c markdown.c orgmode.c qe.c


From: Charlie Gordon
Subject: [Qemacs-commit] qemacs extra-modes.c markdown.c orgmode.c qe.c
Date: Tue, 27 May 2014 15:50:48 +0000

CVSROOT:        /sources/qemacs
Module name:    qemacs
Changes by:     Charlie Gordon <chqrlie>        14/05/27 15:50:47

Modified files:
        .              : extra-modes.c markdown.c orgmode.c qe.c 

Log message:
        use generic mode_probe function where possible

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/qemacs/extra-modes.c?cvsroot=qemacs&r1=1.21&r2=1.22
http://cvs.savannah.gnu.org/viewcvs/qemacs/markdown.c?cvsroot=qemacs&r1=1.12&r2=1.13
http://cvs.savannah.gnu.org/viewcvs/qemacs/orgmode.c?cvsroot=qemacs&r1=1.20&r2=1.21
http://cvs.savannah.gnu.org/viewcvs/qemacs/qe.c?cvsroot=qemacs&r1=1.174&r2=1.175

Patches:
Index: extra-modes.c
===================================================================
RCS file: /sources/qemacs/qemacs/extra-modes.c,v
retrieving revision 1.21
retrieving revision 1.22
diff -u -b -r1.21 -r1.22
--- extra-modes.c       27 May 2014 12:05:52 -0000      1.21
+++ extra-modes.c       27 May 2014 15:50:47 -0000      1.22
@@ -210,14 +210,6 @@
     cp->colorize_state = colstate;
 }
 
-static int asm_mode_probe(ModeDef *mode, ModeProbeData *p)
-{
-    if (match_extension(p->filename, mode->extensions))
-        return 80;
-
-    return 1;
-}
-
 static ModeDef asm_mode;
 
 static int asm_init(void)
@@ -226,7 +218,6 @@
     memcpy(&asm_mode, &text_mode, sizeof(ModeDef));
     asm_mode.name = "asm";
     asm_mode.extensions = "asm|asi|cod";
-    asm_mode.mode_probe = asm_mode_probe;
     asm_mode.colorize_func = asm_colorize_line;
 
     qe_register_mode(&asm_mode, MODEF_SYNTAX);
@@ -329,14 +320,6 @@
     }
 }
 
-static int basic_mode_probe(ModeDef *mode, ModeProbeData *p)
-{
-    if (match_extension(p->filename, mode->extensions))
-        return 80;
-
-    return 1;
-}
-
 static ModeDef basic_mode;
 
 static int basic_init(void)
@@ -345,7 +328,6 @@
     memcpy(&basic_mode, &text_mode, sizeof(ModeDef));
     basic_mode.name = "Basic";
     basic_mode.extensions = "bas|frm|mst|vb|vbs";
-    basic_mode.mode_probe = basic_mode_probe;
     basic_mode.colorize_func = basic_colorize_line;
 
     qe_register_mode(&basic_mode, MODEF_SYNTAX);
@@ -588,14 +570,6 @@
     cp->colorize_state = (state << 4) | (level & 15);
 }
 
-static int vim_mode_probe(ModeDef *mode, ModeProbeData *p)
-{
-    if (match_extension(p->filename, mode->extensions))
-        return 80;
-
-    return 1;
-}
-
 static ModeDef vim_mode;
 
 static int vim_init(void)
@@ -604,7 +578,6 @@
     memcpy(&vim_mode, &text_mode, sizeof(ModeDef));
     vim_mode.name = "Vim";
     vim_mode.extensions = "vim";
-    vim_mode.mode_probe = vim_mode_probe;
     vim_mode.colorize_func = vim_colorize_line;
 
     qe_register_mode(&vim_mode, MODEF_SYNTAX);
@@ -767,14 +740,6 @@
     cp->colorize_state = colstate;
 }
 
-static int pascal_mode_probe(ModeDef *mode, ModeProbeData *p)
-{
-    if (match_extension(p->filename, mode->extensions))
-        return 80;
-
-    return 1;
-}
-
 static ModeDef pascal_mode;
 
 static int pascal_init(void)
@@ -783,7 +748,6 @@
     memcpy(&pascal_mode, &text_mode, sizeof(ModeDef));
     pascal_mode.name = "Pascal";
     pascal_mode.extensions = "pas";
-    pascal_mode.mode_probe = pascal_mode_probe;
     pascal_mode.colorize_func = pascal_colorize_line;
 
     qe_register_mode(&pascal_mode, MODEF_SYNTAX);
@@ -1185,14 +1149,6 @@
     cp->colorize_state = state;
 }
 
-static int sql_mode_probe(ModeDef *mode, ModeProbeData *p)
-{
-    if (match_extension(p->filename, mode->extensions))
-        return 80;
-
-    return 1;
-}
-
 static ModeDef sql_mode;
 
 static int sql_init(void)
@@ -1201,7 +1157,6 @@
     memcpy(&sql_mode, &text_mode, sizeof(ModeDef));
     sql_mode.name = "SQL";
     sql_mode.extensions = "sql|mysql|sqlite|sqlplus";
-    sql_mode.mode_probe = sql_mode_probe;
     sql_mode.colorize_func = sql_colorize_line;
 
     qe_register_mode(&sql_mode, MODEF_SYNTAX);
@@ -1375,14 +1330,6 @@
     cp->colorize_state = state;
 }
 
-static int lua_mode_probe(ModeDef *mode, ModeProbeData *p)
-{
-    if (match_extension(p->filename, mode->extensions))
-        return 80;
-
-    return 1;
-}
-
 static ModeDef lua_mode;
 
 static int lua_init(void)
@@ -1391,7 +1338,6 @@
     memcpy(&lua_mode, &text_mode, sizeof(ModeDef));
     lua_mode.name = "Lua";
     lua_mode.extensions = "lua";
-    lua_mode.mode_probe = lua_mode_probe;
     lua_mode.colorize_func = lua_colorize_line;
 
     qe_register_mode(&lua_mode, MODEF_SYNTAX);
@@ -1651,14 +1597,6 @@
     cp->colorize_state = state;
 }
 
-static int julia_mode_probe(ModeDef *mode, ModeProbeData *p)
-{
-    if (match_extension(p->filename, mode->extensions))
-        return 80;
-
-    return 1;
-}
-
 static ModeDef julia_mode;
 
 static int julia_init(void)
@@ -1667,7 +1605,6 @@
     memcpy(&julia_mode, &text_mode, sizeof(ModeDef));
     julia_mode.name = "Julia";
     julia_mode.extensions = "jl";
-    julia_mode.mode_probe = julia_mode_probe;
     julia_mode.colorize_func = julia_colorize_line;
 
     qe_register_mode(&julia_mode, MODEF_SYNTAX);
@@ -1870,14 +1807,6 @@
     cp->colorize_state = state;
 }
 
-static int haskell_mode_probe(ModeDef *mode, ModeProbeData *p)
-{
-    if (match_extension(p->filename, mode->extensions))
-        return 80;
-
-    return 1;
-}
-
 static ModeDef haskell_mode;
 
 static int haskell_init(void)
@@ -1886,7 +1815,6 @@
     memcpy(&haskell_mode, &text_mode, sizeof(ModeDef));
     haskell_mode.name = "Haskell";
     haskell_mode.extensions = "hs|haskell";
-    haskell_mode.mode_probe = haskell_mode_probe;
     haskell_mode.colorize_func = haskell_colorize_line;
 
     qe_register_mode(&haskell_mode, MODEF_SYNTAX);
@@ -2099,14 +2027,6 @@
     cp->colorize_state = state;
 }
 
-static int python_mode_probe(ModeDef *mode, ModeProbeData *p)
-{
-    if (match_extension(p->filename, mode->extensions))
-        return 80;
-
-    return 1;
-}
-
 static ModeDef python_mode;
 
 static int python_init(void)
@@ -2115,7 +2035,6 @@
     memcpy(&python_mode, &text_mode, sizeof(ModeDef));
     python_mode.name = "Python";
     python_mode.extensions = "py|pyt";
-    python_mode.mode_probe = python_mode_probe;
     python_mode.colorize_func = python_colorize_line;
 
     qe_register_mode(&python_mode, MODEF_SYNTAX);
@@ -2805,14 +2724,6 @@
     cp->colorize_state = colstate;
 }
 
-static int ocaml_mode_probe(ModeDef *mode, ModeProbeData *p)
-{
-    if (match_extension(p->filename, mode->extensions))
-        return 80;
-
-    return 1;
-}
-
 static ModeDef ocaml_mode;
 
 static int ocaml_init(void)
@@ -2821,7 +2732,6 @@
     memcpy(&ocaml_mode, &text_mode, sizeof(ModeDef));
     ocaml_mode.name = "Ocaml";
     ocaml_mode.extensions = "ml|mli|mll|mly";
-    ocaml_mode.mode_probe = ocaml_mode_probe;
     ocaml_mode.colorize_func = ocaml_colorize_line;
 
     qe_register_mode(&ocaml_mode, MODEF_SYNTAX);

Index: markdown.c
===================================================================
RCS file: /sources/qemacs/qemacs/markdown.c,v
retrieving revision 1.12
retrieving revision 1.13
diff -u -b -r1.12 -r1.13
--- markdown.c  27 May 2014 12:05:56 -0000      1.12
+++ markdown.c  27 May 2014 15:50:47 -0000      1.13
@@ -750,15 +750,6 @@
     do_mkd_move_subtree(s, -1);
 }
 
-static int mkd_mode_probe(ModeDef *mode, ModeProbeData *p)
-{
-    /* just check file extension */
-    if (match_extension(p->filename, mode->extensions))
-        return 80;
-
-    return 1;
-}
-
 /* Mkd mode specific commands */
 static CmdDef mkd_commands[] = {
     /* Motion */
@@ -825,7 +816,6 @@
     memcpy(&mkd_mode, &text_mode, sizeof(ModeDef));
     mkd_mode.name = "markdown";
     mkd_mode.extensions = "mkd|md";
-    mkd_mode.mode_probe = mkd_mode_probe;
     mkd_mode.mode_init = mkd_mode_init;
     mkd_mode.colorize_func = mkd_colorize_line;
 

Index: orgmode.c
===================================================================
RCS file: /sources/qemacs/qemacs/orgmode.c,v
retrieving revision 1.20
retrieving revision 1.21
diff -u -b -r1.20 -r1.21
--- orgmode.c   27 May 2014 12:05:53 -0000      1.20
+++ orgmode.c   27 May 2014 15:50:47 -0000      1.21
@@ -678,15 +678,6 @@
     do_org_move_subtree(s, -1);
 }
 
-static int org_mode_probe(ModeDef *mode, ModeProbeData *p)
-{
-    /* just check file extension */
-    if (match_extension(p->filename, mode->extensions))
-        return 80;
-
-    return 1;
-}
-
 /* Org mode specific commands */
 static CmdDef org_commands[] = {
     /* Motion */
@@ -748,7 +739,6 @@
     memcpy(&org_mode, &text_mode, sizeof(ModeDef));
     org_mode.name = "org";
     org_mode.extensions = "org";
-    org_mode.mode_probe = org_mode_probe;
     org_mode.colorize_func = org_colorize_line;
 
     qe_register_mode(&org_mode, MODEF_SYNTAX);

Index: qe.c
===================================================================
RCS file: /sources/qemacs/qemacs/qe.c,v
retrieving revision 1.174
retrieving revision 1.175
diff -u -b -r1.174 -r1.175
--- qe.c        27 May 2014 12:05:55 -0000      1.174
+++ qe.c        27 May 2014 15:50:47 -0000      1.175
@@ -79,6 +79,15 @@
 
 /* mode handling */
 
+static int generic_mode_probe(ModeDef *mode, ModeProbeData *p)
+{
+    if (mode->extensions) {
+        if (match_extension(p->filename, mode->extensions))
+            return 80;
+    }
+    return 1;
+}
+
 void qe_register_mode(ModeDef *m, int flags)
 {
     QEmacsState *qs = &qe_state;
@@ -86,12 +95,22 @@
 
     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) */
-    p = &qs->first_mode;
-    while (*p != NULL)
-        p = &(*p)->next;
+    for (p = &qs->first_mode;; p = &(*p)->next) {
+        if (*p == m)
+            return;
+        if (*p == NULL) {
     m->next = NULL;
     *p = m;
+            break;
+        }
+    }
 
     /* add missing functions */
     if (!m->mode_init)



reply via email to

[Prev in Thread] Current Thread [Next in Thread]