qemacs-commit
[Top][All Lists]
Advanced

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

[Qemacs-commit] qemacs archive.c bufed.c clang.c dired.c docboo...


From: Charlie Gordon
Subject: [Qemacs-commit] qemacs archive.c bufed.c clang.c dired.c docboo...
Date: Mon, 8 May 2017 06:47:23 -0400 (EDT)

CVSROOT:        /sources/qemacs
Module name:    qemacs
Changes by:     Charlie Gordon <chqrlie>        17/05/08 06:47:23

Modified files:
        .              : archive.c bufed.c clang.c dired.c docbook.c 
                         extra-modes.c fractal.c html.c list.c qe.c qe.h 
                         shell.c 

Log message:
        modes: avoid duplicate mode names
        - rename ModeDef.mode_name as alt_name, only use if needed
        - remove duplicates from and extend mode name completion list
        - remove duplicate html-mode and list-mode commands
        - do_set_mode() command bypasses dired pane

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/qemacs/archive.c?cvsroot=qemacs&r1=1.31&r2=1.32
http://cvs.savannah.gnu.org/viewcvs/qemacs/bufed.c?cvsroot=qemacs&r1=1.45&r2=1.46
http://cvs.savannah.gnu.org/viewcvs/qemacs/clang.c?cvsroot=qemacs&r1=1.128&r2=1.129
http://cvs.savannah.gnu.org/viewcvs/qemacs/dired.c?cvsroot=qemacs&r1=1.79&r2=1.80
http://cvs.savannah.gnu.org/viewcvs/qemacs/docbook.c?cvsroot=qemacs&r1=1.13&r2=1.14
http://cvs.savannah.gnu.org/viewcvs/qemacs/extra-modes.c?cvsroot=qemacs&r1=1.61&r2=1.62
http://cvs.savannah.gnu.org/viewcvs/qemacs/fractal.c?cvsroot=qemacs&r1=1.4&r2=1.5
http://cvs.savannah.gnu.org/viewcvs/qemacs/html.c?cvsroot=qemacs&r1=1.44&r2=1.45
http://cvs.savannah.gnu.org/viewcvs/qemacs/list.c?cvsroot=qemacs&r1=1.26&r2=1.27
http://cvs.savannah.gnu.org/viewcvs/qemacs/qe.c?cvsroot=qemacs&r1=1.283&r2=1.284
http://cvs.savannah.gnu.org/viewcvs/qemacs/qe.h?cvsroot=qemacs&r1=1.263&r2=1.264
http://cvs.savannah.gnu.org/viewcvs/qemacs/shell.c?cvsroot=qemacs&r1=1.133&r2=1.134

Patches:
Index: archive.c
===================================================================
RCS file: /sources/qemacs/qemacs/archive.c,v
retrieving revision 1.31
retrieving revision 1.32
diff -u -b -r1.31 -r1.32
--- archive.c   7 May 2017 20:27:18 -0000       1.31
+++ archive.c   8 May 2017 10:47:22 -0000       1.32
@@ -191,7 +191,6 @@
     /* copy and patch text_mode */
     memcpy(&archive_mode, &text_mode, sizeof(ModeDef));
     archive_mode.name = "archive";
-    archive_mode.mode_name = NULL;
     archive_mode.mode_probe = archive_mode_probe;
     archive_mode.data_type = &archive_data_type;
 
@@ -334,7 +333,6 @@
     /* copy and patch text_mode */
     memcpy(&compress_mode, &text_mode, sizeof(ModeDef));
     compress_mode.name = "compress";
-    compress_mode.mode_name = NULL;
     compress_mode.mode_probe = compress_mode_probe;
     compress_mode.data_type = &compress_data_type;
 
@@ -413,7 +411,6 @@
     /* copy and patch text_mode */
     memcpy(&wget_mode, &text_mode, sizeof(ModeDef));
     wget_mode.name = "wget";
-    wget_mode.mode_name = NULL;
     wget_mode.mode_probe = wget_mode_probe;
     wget_mode.data_type = &wget_data_type;
 
@@ -502,7 +499,6 @@
     /* copy and patch text_mode */
     memcpy(&man_mode, &text_mode, sizeof(ModeDef));
     man_mode.name = "man";
-    man_mode.mode_name = NULL;
     man_mode.mode_probe = man_mode_probe;
     man_mode.data_type = &man_data_type;
 

Index: bufed.c
===================================================================
RCS file: /sources/qemacs/qemacs/bufed.c,v
retrieving revision 1.45
retrieving revision 1.46
diff -u -b -r1.45 -r1.46
--- bufed.c     17 Apr 2017 18:14:15 -0000      1.45
+++ bufed.c     8 May 2017 10:47:22 -0000       1.46
@@ -443,9 +443,7 @@
     bufed_mode.mode_free = bufed_mode_free;
     bufed_mode.display_hook = bufed_display_hook;
 
-    /* first register mode */
     qe_register_mode(&bufed_mode, MODEF_VIEW);
-
     qe_register_cmd_table(bufed_commands, &bufed_mode);
     qe_register_cmd_table(bufed_global_commands, NULL);
 

Index: clang.c
===================================================================
RCS file: /sources/qemacs/qemacs/clang.c,v
retrieving revision 1.128
retrieving revision 1.129
diff -u -b -r1.128 -r1.129
--- clang.c     7 May 2017 20:29:29 -0000       1.128
+++ clang.c     8 May 2017 10:47:22 -0000       1.129
@@ -1318,7 +1318,7 @@
 
 ModeDef cpp_mode = {
     .name = "C++",
-    .mode_name = "cpp",
+    .alt_name = "cpp",
     .extensions = "cc|hh|cpp|hpp|cxx|hxx|CPP|CC|c++|lzz",
     .mode_probe = cpp_mode_probe,
     .colorize_func = c_colorize_line,
@@ -1445,7 +1445,7 @@
 
 ModeDef csharp_mode = {
     .name = "C#",   /* C Sharp */
-    .mode_name = "csharp",
+    .alt_name = "csharp",
     .extensions = "cs",
     .colorize_func = c_colorize_line,
     .colorize_flags = CLANG_CSHARP | CLANG_PREPROC,
@@ -2671,7 +2671,7 @@
 
 static ModeDef cbang_mode = {
     .name = "C!",
-    .mode_name = "cbang",
+    .alt_name = "cbang",
     .extensions = "cb|cbi",
     .colorize_func = c_colorize_line,
     .colorize_flags = CLANG_CBANG | CLANG_CAP_TYPE,
@@ -2707,7 +2707,6 @@
 
 static ModeDef vala_mode = {
     .name = "Vala",
-    .mode_name = "vala",
     .extensions = "vala|vapi",
     .colorize_func = c_colorize_line,
     .colorize_flags = CLANG_VALA | CLANG_CC | CLANG_REGEX |
@@ -2767,7 +2766,6 @@
 
 static ModeDef pawn_mode = {
     .name = "Pawn",
-    .mode_name = "pawn",
     .extensions = "p",
     .mode_probe = pawn_mode_probe,
     .colorize_func = c_colorize_line,
@@ -2802,7 +2800,7 @@
 
 static ModeDef cminus_mode = {
     .name = "C-minus",
-    .mode_name = "cminus",
+    .alt_name = "cminus",
     .extensions = "cm",
     .colorize_func = c_colorize_line,
     .colorize_flags = CLANG_CMINUS,
@@ -2846,7 +2844,7 @@
 
 static ModeDef gmscript_mode = {
     .name = "Game Monkey",
-    .mode_name = "gmscript",
+    .alt_name = "gmscript",
     .extensions = "gm",
     .colorize_func = c_colorize_line,
     .colorize_flags = CLANG_GMSCRIPT,

Index: dired.c
===================================================================
RCS file: /sources/qemacs/qemacs/dired.c,v
retrieving revision 1.79
retrieving revision 1.80
diff -u -b -r1.79 -r1.80
--- dired.c     25 Apr 2017 17:41:27 -0000      1.79
+++ dired.c     8 May 2017 10:47:23 -0000       1.80
@@ -1379,9 +1379,7 @@
     dired_mode.display_hook = dired_display_hook;
     dired_mode.get_default_path = dired_get_default_path;
 
-    /* first register mode */
     qe_register_mode(&dired_mode, /* MODEF_DATATYPE | */ MODEF_MAJOR | 
MODEF_VIEW);
-
     qe_register_variables(dired_variables, countof(dired_variables));
     qe_register_cmd_table(dired_commands, &dired_mode);
     qe_register_cmd_table(dired_global_commands, NULL);
@@ -1489,10 +1487,10 @@
 {
     memcpy(&filelist_mode, &text_mode, sizeof(ModeDef));
     filelist_mode.name = "filelist";
-    filelist_mode.mode_name = NULL;
     filelist_mode.mode_probe = NULL;
     filelist_mode.mode_init = filelist_mode_init;
     filelist_mode.display_hook = filelist_display_hook;
+
     qe_register_mode(&filelist_mode, MODEF_VIEW);
     qe_register_cmd_table(filelist_commands, &filelist_mode);
     qe_register_cmd_table(filelist_global_commands, NULL);

Index: docbook.c
===================================================================
RCS file: /sources/qemacs/qemacs/docbook.c,v
retrieving revision 1.13
retrieving revision 1.14
diff -u -b -r1.13 -r1.14
--- docbook.c   27 Aug 2015 15:32:13 -0000      1.13
+++ docbook.c   8 May 2017 10:47:23 -0000       1.14
@@ -2,6 +2,7 @@
  * WYSIWYG Docbook mode for QEmacs.
  *
  * Copyright (c) 2002 Fabrice Bellard.
+ * Copyright (c) 2003-2017 Charlie Gordon.
  *
  * This library is free software; you can redistribute it and/or
  * modify it under the terms of the GNU Lesser General Public
@@ -49,8 +50,10 @@
     /* inherit from html mode */
     memcpy(&docbook_mode, &html_mode, sizeof(ModeDef));
     docbook_mode.name = "docbook";
-    docbook_mode.buffer_instance_size = sizeof(QEModeData);
     docbook_mode.extensions = NULL;
+    /* buffer_instance_size must be non 0 for docbook_mode_init() to
+       receive MODEF_NEWINSTANCE flag */
+    docbook_mode.buffer_instance_size = sizeof(QEModeData);
     docbook_mode.mode_probe = docbook_mode_probe;
     docbook_mode.mode_init = docbook_mode_init;
 

Index: extra-modes.c
===================================================================
RCS file: /sources/qemacs/qemacs/extra-modes.c,v
retrieving revision 1.61
retrieving revision 1.62
diff -u -b -r1.61 -r1.62
--- extra-modes.c       17 Apr 2017 09:16:24 -0000      1.61
+++ extra-modes.c       8 May 2017 10:47:23 -0000       1.62
@@ -2575,7 +2575,7 @@
 
 static ModeDef coffee_mode = {
     .name = "CoffeeScript",
-    .mode_name = "coffee",
+    .alt_name = "coffee",
     .extensions = "coffee",
     .shell_handlers = "coffee",
     .mode_probe = coffee_mode_probe,
@@ -4710,7 +4710,6 @@
 
 static ModeDef scad_mode = {
     .name = "OpenSCAD",
-    .mode_name = "openscad",
     .extensions = "scad",
     .colorize_func = scad_colorize_line,
     .keywords = scad_keywords,

Index: fractal.c
===================================================================
RCS file: /sources/qemacs/qemacs/fractal.c,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -b -r1.4 -r1.5
--- fractal.c   6 May 2017 17:18:42 -0000       1.4
+++ fractal.c   8 May 2017 10:47:23 -0000       1.5
@@ -1069,7 +1069,6 @@
         /* populate and register shell mode and commands */
         memcpy(&fractal_mode, &text_mode, sizeof(ModeDef));
         fractal_mode.name = "fractal";
-        fractal_mode.mode_name = NULL;
         fractal_mode.mode_probe = fractal_mode_probe;
         fractal_mode.buffer_instance_size = sizeof(FractalState);
         fractal_mode.mode_init = fractal_mode_init;

Index: html.c
===================================================================
RCS file: /sources/qemacs/qemacs/html.c,v
retrieving revision 1.44
retrieving revision 1.45
diff -u -b -r1.44 -r1.45
--- html.c      21 Apr 2017 12:26:44 -0000      1.44
+++ html.c      8 May 2017 10:47:23 -0000       1.45
@@ -923,8 +923,8 @@
     .mode_close = html_mode_close,
     .mode_free = html_mode_free,
     .display = html_display,
-    .move_left_right = html_move_left_right_visual,
     .move_up_down = html_move_up_down,
+    .move_left_right = html_move_left_right_visual,
     .move_bol = html_move_bol,
     .move_eol = html_move_eol,
     .move_bof = text_move_bof,  /* XXX: should refine */

Index: list.c
===================================================================
RCS file: /sources/qemacs/qemacs/list.c,v
retrieving revision 1.26
retrieving revision 1.27
diff -u -b -r1.26 -r1.27
--- list.c      25 Apr 2017 17:41:27 -0000      1.26
+++ list.c      8 May 2017 10:47:23 -0000       1.27
@@ -106,7 +106,6 @@
 {
     memcpy(&list_mode, &text_mode, sizeof(ModeDef));
     list_mode.name = "list";
-    list_mode.mode_name = NULL;
     list_mode.mode_probe = NULL;
     list_mode.mode_init = list_mode_init;
 

Index: qe.c
===================================================================
RCS file: /sources/qemacs/qemacs/qe.c,v
retrieving revision 1.283
retrieving revision 1.284
diff -u -b -r1.283 -r1.284
--- qe.c        8 May 2017 10:26:56 -0000       1.283
+++ qe.c        8 May 2017 10:47:23 -0000       1.284
@@ -98,7 +98,7 @@
     for (m = qs->first_mode; m; m = m->next) {
         if ((m->flags & flags) == flags) {
             if ((m->name && !strcasecmp(m->name, name))
-            ||  (m->mode_name && !strcasecmp(m->mode_name, name)))
+            ||  (m->alt_name && !strcasecmp(m->alt_name, name)))
                 break;
         }
     }
@@ -139,9 +139,6 @@
 
     m->flags |= flags;
 
-    if (!m->mode_name)
-        m->mode_name = m->name;
-
     if (m->flags & MODEF_SYNTAX) {
         /* if no syntax probing function, use extension matcher */
         if (!m->mode_probe && m->extensions)
@@ -189,14 +186,15 @@
         char buf[64];
         int size;
         CmdDef *def;
+        const char *mode_name = m->alt_name ? m->alt_name : m->name;
 
         /* lower case convert for C mode, Perl... */
-        qe_strtolower(buf, sizeof(buf) - 10, m->mode_name);
+        qe_strtolower(buf, sizeof(buf) - 10, mode_name);
         pstrcat(buf, sizeof(buf), "-mode");
         size = strlen(buf) + 1;
         /* constant immediate string parameter */
         size += snprintf(buf + size, sizeof(buf) - size,
-                         "S{%s}", m->mode_name) + 1;
+                         "S{%s}", mode_name) + 1;
         def = qe_mallocz_array(CmdDef, 2);
         def->name = qe_malloc_dup(buf, size);
         def->key = def->alt_key = KEY_NONE;
@@ -214,7 +212,9 @@
     ModeDef *m;
 
     for (m = qs->first_mode; m != NULL; m = m->next) {
-        complete_test(cp, m->mode_name);
+        complete_test(cp, m->name);
+        if (m->alt_name && !strequal(m->name, m->alt_name))
+            complete_test(cp, m->alt_name);
     }
 }
 
@@ -2322,6 +2322,9 @@
 {
     ModeDef *m;
 
+    /* set-mode from the dired window applies to the target window */
+    s = qe_find_target_window(s, 0);
+
     /* XXX: should check if mode is appropriate */
     m = qe_find_mode(name, 0);
     if (m)
@@ -6401,7 +6404,6 @@
     /* populate and register minibuffer mode and commands */
     memcpy(&minibuffer_mode, &text_mode, sizeof(ModeDef));
     minibuffer_mode.name = "minibuffer";
-    minibuffer_mode.mode_name = NULL;
     minibuffer_mode.mode_probe = NULL;
     minibuffer_mode.buffer_instance_size = sizeof(MinibufState);
     minibuffer_mode.mode_free = minibuffer_mode_free;
@@ -6474,7 +6476,6 @@
     /* popup mode inherits from text mode */
     memcpy(&popup_mode, &text_mode, sizeof(ModeDef));
     popup_mode.name = "popup";
-    popup_mode.mode_name = NULL;
     popup_mode.mode_probe = NULL;
     qe_register_mode(&popup_mode, MODEF_VIEW);
     qe_register_cmd_table(popup_commands, &popup_mode);

Index: qe.h
===================================================================
RCS file: /sources/qemacs/qemacs/qe.h,v
retrieving revision 1.263
retrieving revision 1.264
diff -u -b -r1.263 -r1.264
--- qe.h        8 May 2017 10:26:56 -0000       1.263
+++ qe.h        8 May 2017 10:47:23 -0000       1.264
@@ -1498,8 +1498,8 @@
 };
 
 struct ModeDef {
-    const char *name;
-    const char *mode_name;
+    const char *name;           /* pretty name for the mode */
+    const char *alt_name;       /* alternate name, for the mode setting cmd */
     const char *extensions;
     const char *shell_handlers;
     const char *keywords;

Index: shell.c
===================================================================
RCS file: /sources/qemacs/qemacs/shell.c,v
retrieving revision 1.133
retrieving revision 1.134
diff -u -b -r1.133 -r1.134
--- shell.c     8 May 2017 10:26:56 -0000       1.133
+++ shell.c     8 May 2017 10:47:23 -0000       1.134
@@ -3119,7 +3119,6 @@
     /* populate and register shell mode and commands */
     memcpy(&shell_mode, &text_mode, sizeof(ModeDef));
     shell_mode.name = "shell";
-    shell_mode.mode_name = NULL;
     shell_mode.mode_probe = shell_mode_probe;
     shell_mode.colorize_func = shell_colorize_line,
     shell_mode.buffer_instance_size = sizeof(ShellState);
@@ -3147,7 +3146,6 @@
     /* populate and register pager mode and commands */
     memcpy(&pager_mode, &text_mode, sizeof(ModeDef));
     pager_mode.name = "pager";
-    pager_mode.mode_name = NULL;
     pager_mode.mode_probe = NULL;
     pager_mode.mode_init = pager_mode_init;
 



reply via email to

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