qemacs-commit
[Top][All Lists]
Advanced

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

[Qemacs-commit] qemacs buffer.c clang.c extras.c list.c qe.c qe...


From: Charlie Gordon
Subject: [Qemacs-commit] qemacs buffer.c clang.c extras.c list.c qe.c qe...
Date: Sat, 17 Oct 2020 16:55:47 -0400 (EDT)

CVSROOT:        /sources/qemacs
Module name:    qemacs
Changes by:     Charlie Gordon <chqrlie>        20/10/17 16:55:47

Modified files:
        .              : buffer.c clang.c extras.c list.c qe.c qe.h 
                         qscript.c tty.c variables.c variables.h 

Log message:
        Improve completion system
        
        - pass CompleteState to print_entry() handler
        - remove list_get_colorized_line()
        - remove get_colorized_line() window handler
        - add colorize_mode along with colorize_func
        - add list_display_hook() to fix list mode navigation
        - rename generic_get_colorized_line() as get_colorized_line()
        - fix memory leak in eb_add_property()
        - pretty print tags in tag_complete() and list_tags()

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/qemacs/buffer.c?cvsroot=qemacs&r1=1.117&r2=1.118
http://cvs.savannah.gnu.org/viewcvs/qemacs/clang.c?cvsroot=qemacs&r1=1.139&r2=1.140
http://cvs.savannah.gnu.org/viewcvs/qemacs/extras.c?cvsroot=qemacs&r1=1.76&r2=1.77
http://cvs.savannah.gnu.org/viewcvs/qemacs/list.c?cvsroot=qemacs&r1=1.27&r2=1.28
http://cvs.savannah.gnu.org/viewcvs/qemacs/qe.c?cvsroot=qemacs&r1=1.297&r2=1.298
http://cvs.savannah.gnu.org/viewcvs/qemacs/qe.h?cvsroot=qemacs&r1=1.278&r2=1.279
http://cvs.savannah.gnu.org/viewcvs/qemacs/qscript.c?cvsroot=qemacs&r1=1.2&r2=1.3
http://cvs.savannah.gnu.org/viewcvs/qemacs/tty.c?cvsroot=qemacs&r1=1.89&r2=1.90
http://cvs.savannah.gnu.org/viewcvs/qemacs/variables.c?cvsroot=qemacs&r1=1.26&r2=1.27
http://cvs.savannah.gnu.org/viewcvs/qemacs/variables.h?cvsroot=qemacs&r1=1.11&r2=1.12

Patches:
Index: buffer.c
===================================================================
RCS file: /sources/qemacs/qemacs/buffer.c,v
retrieving revision 1.117
retrieving revision 1.118
diff -u -b -r1.117 -r1.118
--- buffer.c    17 Oct 2020 15:41:32 -0000      1.117
+++ buffer.c    17 Oct 2020 20:55:47 -0000      1.118
@@ -2611,9 +2611,12 @@
             if (p->offset == offset) {
                 if (p->type == type && type == QE_PROP_TAG) {
                     /* prevent tag duplicates */
-                    if (strequal(p->data, data))
+                    if (strequal(p->data, data)) {
+                        if (type & QE_PROP_FREE)
+                            qe_free(&data);
                         return;
                 }
+                }
                 continue;
             }
             break;

Index: clang.c
===================================================================
RCS file: /sources/qemacs/qemacs/clang.c,v
retrieving revision 1.139
retrieving revision 1.140
diff -u -b -r1.139 -r1.140
--- clang.c     2 Oct 2020 20:57:51 -0000       1.139
+++ clang.c     17 Oct 2020 20:55:47 -0000      1.140
@@ -832,8 +832,7 @@
         line_num--;
         offsetl = eb_prev_line(s->b, offsetl);
         /* XXX: deal with truncation */
-        /* XXX: should only query the syntax colorizer */
-        len = s->get_colorized_line(s, buf, countof(buf), sbuf,
+        len = get_colorized_line(s, buf, countof(buf), sbuf,
                                     offsetl, &offset1, line_num);
         /* get current indentation of this line, adjust if it has a label */
         pos1 = find_indent1(s, buf);
@@ -1011,8 +1010,7 @@
   end_parse:
     /* compute special cases which depend on the chars on the current line */
     /* XXX: deal with truncation */
-    /* XXX: should only query the syntax colorizer */
-    len = s->get_colorized_line(s, buf, countof(buf), sbuf,
+    len = get_colorized_line(s, buf, countof(buf), sbuf,
                                 offset, &offset1, line_num1);
     if (sbuf[0] == C_STYLE_PREPROCESS)
         return;
@@ -1114,7 +1112,7 @@
 #if 0
     if (s->mode->auto_indent > 1) {  /* auto format */
         /* recompute colorization of the current line (after re-indentation) */
-        len = s->get_colorized_line(s, buf, countof(buf), sbuf,
+        len = get_colorized_line(s, buf, countof(buf), sbuf,
                                     offset, &offset1, line_num1);
         /* skip indentation */
         for (pos = 0; qe_isblank(buf[pos]); pos++)
@@ -1198,8 +1196,7 @@
     eb_get_pos(s->b, &line_num, &col_num, offset);
     level = 0;
     for (;;) {
-        /* XXX: should only query the syntax colorizer */
-        s->get_colorized_line(s, buf, countof(buf), sbuf,
+        get_colorized_line(s, buf, countof(buf), sbuf,
                               offset, &offset1, line_num);
         sharp = 0;
         for (p = buf; *p; p++) {
@@ -1266,8 +1263,7 @@
     while (offset > 0) {
         line_num--;
         offset = eb_prev_line(s->b, offset);
-        /* XXX: should only query the syntax colorizer */
-        s->get_colorized_line(s, buf, countof(buf), sbuf,
+        get_colorized_line(s, buf, countof(buf), sbuf,
                               offset, &offset1, line_num);
         sharp = 0;
         for (p = buf; *p; p++) {

Index: extras.c
===================================================================
RCS file: /sources/qemacs/qemacs/extras.c,v
retrieving revision 1.76
retrieving revision 1.77
diff -u -b -r1.76 -r1.77
--- extras.c    17 Oct 2020 15:41:32 -0000      1.76
+++ extras.c    17 Oct 2020 20:55:47 -0000      1.77
@@ -36,8 +36,7 @@
 
     eb_get_pos(s->b, &line_num, &col_num, offset);
     offset0 = eb_goto_bol2(s->b, offset, &pos);
-    /* XXX: should only query the syntax colorizer */
-    len = s->get_colorized_line(s, buf, countof(buf), sbuf,
+    len = get_colorized_line(s, buf, countof(buf), sbuf,
                                 offset0, &offset1, line_num);
     if (len > countof(buf))
         len = countof(buf);
@@ -535,8 +534,7 @@
     style0 = 0;
     len = 0;
     if (use_colors) {
-        /* XXX: should only query the syntax colorizer */
-        len = s->get_colorized_line(s, buf, countof(buf), sbuf,
+        len = get_colorized_line(s, buf, countof(buf), sbuf,
                                     offset1, &offset1, line_num);
         if (len < countof(buf) - 2) {
             if (pos > 0
@@ -564,8 +562,7 @@
                 offset1 = offset0 = eb_goto_bol2(s->b, offset, &pos);
                 len = 0;
                 if (use_colors) {
-                    /* XXX: should only query the syntax colorizer */
-                    len = s->get_colorized_line(s, buf, countof(buf), sbuf,
+                    len = get_colorized_line(s, buf, countof(buf), sbuf,
                                                 offset1, &offset1, line_num);
                     if (len >= countof(buf) - 2) {
                         /* very long line detected, use fallback version */
@@ -641,8 +638,7 @@
                 offset1 = offset0 = offset;
                 len = 0;
                 if (use_colors) {
-                    /* XXX: should only query the syntax colorizer */
-                    len = s->get_colorized_line(s, buf, countof(buf), sbuf,
+                    len = get_colorized_line(s, buf, countof(buf), sbuf,
                                                 offset1, &offset1, line_num);
                     if (len >= countof(buf) - 2) {
                         /* very long line detected, use fallback version */
@@ -1475,7 +1471,6 @@
     eb_printf(b1, "%*s: %d\n", w, "interactive", s->interactive);
     eb_printf(b1, "%*s: %d\n", w, "force_highlight", s->force_highlight);
     eb_printf(b1, "%*s: %d\n", w, "mouse_force_highlight", 
s->mouse_force_highlight);
-    eb_printf(b1, "%*s: %p\n", w, "get_colorized_line", 
(void*)s->get_colorized_line);
     eb_printf(b1, "%*s: %p\n", w, "colorize_func", (void*)s->colorize_func);
     eb_printf(b1, "%*s: %lld\n", w, "default_style", (long 
long)s->default_style);
     eb_printf(b1, "%*s: %s\n", w, "buffer", s->b->name);
@@ -1708,9 +1703,9 @@
     int offset, line_num, col_num;
 
     if (s->colorize_func || s->b->b_styles) {
-        /* force complete buffer colorizarion */
+        /* force complete buffer colorization */
         eb_get_pos(s->b, &line_num, &col_num, s->b->total_size);
-        s->get_colorized_line(s, buf, countof(buf), sbuf,
+        get_colorized_line(s, buf, countof(buf), sbuf,
                               s->b->total_size, &offset, line_num);
     }
 }
@@ -1730,6 +1725,40 @@
     }
 }
 
+static int tag_print_entry(CompleteState *cp, EditState *s, const char *name) {
+    if (cp->target) {
+        EditBuffer *b = cp->target->b;
+        QEProperty *p;
+        if (!s->colorize_func && cp->target->colorize_func) {
+            set_colorize_func(s, cp->target->colorize_func, 
cp->target->colorize_mode);
+        }
+        for (p = b->property_list; p; p = p->next) {
+            if (p->type == QE_PROP_TAG && strequal(p->data, name)) {
+                int offset = eb_goto_bol(b, p->offset);
+                int offset1 = eb_goto_eol(b, p->offset);
+                return eb_insert_buffer_convert(s->b, s->b->total_size,
+                                                b, offset, offset1 - offset);
+            }
+        }
+    }
+    return eb_puts(s->b, name);
+}
+
+static int tag_get_entry(EditState *s, char *dest, int size, int offset)
+{
+    int len = eb_fgets(s->b, dest, size, offset, &offset);
+    int p2 = strcspn(dest, "=[{(,;");
+    int p1;
+    while (p2 > 0 && !qe_isalnum_(dest[p2 - 1]))
+        p2--;
+    p1 = p2;
+    while (p1 > 0 && (qe_isalnum_(dest[p1 - 1]) || dest[p1 - 1] == '-'))
+        p1--;
+    memmove(dest, dest + p1, len = p2 - p1);
+    dest[len] = '\0';   /* strip the prototype or trailing newline if any */
+    return len;
+}
+
 static void do_find_tag(EditState *s, const char *str) {
     QEProperty *p;
 
@@ -1767,6 +1796,7 @@
     char buf[256];
     EditBuffer *b;
     QEProperty *p;
+    EditState *e1;
 
     b = new_help_buffer();
     if (!b)
@@ -1777,14 +1807,25 @@
     snprintf(buf, sizeof buf, "Tags in file %s", s->b->filename);
     for (p = s->b->property_list; p; p = p->next) {
         if (p->type == QE_PROP_TAG) {
-            eb_printf(b, "%12d  %s\n", p->offset, (char*)p->data);
+            //eb_printf(b, "%12d  %s\n", p->offset, (char*)p->data);
+            int offset = eb_goto_bol(s->b, p->offset);
+            int offset1 = eb_goto_eol(s->b, p->offset);
+            eb_insert_buffer_convert(b, b->total_size, s->b, offset, offset1 - 
offset);
+            eb_putc(b, '\n');
         }
     }
 
     b->flags |= BF_READONLY;
-    show_popup(s, b, buf);
+    e1 = show_popup(s, b, buf);
+    if (s->colorize_func) {
+        set_colorize_func(e1, s->colorize_func, s->colorize_mode);
+    }
 }
 
+static CompletionDef tag_completion = {
+    "tag", tag_complete, tag_print_entry, tag_get_entry
+};
+
 static CmdDef extra_commands[] = {
     CMD2( KEY_META('='), KEY_NONE,
           "compare-windows", do_compare_windows, ESi, "ui" )
@@ -1888,10 +1929,6 @@
     CMD_DEF_END,
 };
 
-static CompletionDef tag_completion = {
-    "tag", tag_complete,
-};
-
 static int extras_init(void)
 {
     int key;

Index: list.c
===================================================================
RCS file: /sources/qemacs/qemacs/list.c,v
retrieving revision 1.27
retrieving revision 1.28
diff -u -b -r1.27 -r1.28
--- list.c      8 May 2017 10:47:23 -0000       1.27
+++ list.c      17 Oct 2020 20:55:47 -0000      1.28
@@ -23,37 +23,6 @@
 
 ModeDef list_mode;
 
-static int list_get_colorized_line(EditState *s,
-                                   unsigned int *buf, int buf_size,
-                                   QETermStyle *sbuf,
-                                   int offset, int *offsetp, int line_num)
-{
-    QEmacsState *qs = s->qe_state;
-    int i, len;
-
-    /* Get line contents including static buffer styles */
-    /* XXX: deal with truncation */
-    /* XXX: should just use s->cur_line style */
-    len = generic_get_colorized_line(s, buf, buf_size, sbuf,
-                                     offset, offsetp, line_num);
-
-    if (((qs->active_window == s) || s->force_highlight) &&
-          s->offset >= offset && s->offset < *offsetp)
-    {
-        /* highlight the line if the cursor is inside */
-        for (i = 0; i <= len; i++) {
-            sbuf[i] = QE_STYLE_HIGHLIGHT;
-        }
-    } else
-    if (buf[0] == '*') {
-        /* selection */
-        for (i = 0; i <= len; i++) {
-            sbuf[i] |= QE_STYLE_SEL;
-        }
-    }
-    return len;
-}
-
 /* get current position (index) in list */
 int list_get_pos(EditState *s)
 {
@@ -97,20 +66,26 @@
     if (s) {
         /* XXX: should come from mode.default_wrap */
         s->wrap = WRAP_TRUNCATE;
-        s->get_colorized_line = list_get_colorized_line;
     }
     return 0;
 }
 
+static void list_display_hook(EditState *s)
+{
+    /* Keep point at the beginning of a non empty line */
+    if (s->offset && s->offset == s->b->total_size)
+        s->offset -= 1;
+    s->offset = eb_goto_bol(s->b, s->offset);
+}
+
 static int list_init(void)
 {
     memcpy(&list_mode, &text_mode, sizeof(ModeDef));
     list_mode.name = "list";
     list_mode.mode_probe = NULL;
     list_mode.mode_init = list_mode_init;
-
+    list_mode.display_hook = list_display_hook;
     qe_register_mode(&list_mode, MODEF_NOCMD | MODEF_VIEW);
-
     return 0;
 }
 

Index: qe.c
===================================================================
RCS file: /sources/qemacs/qemacs/qe.c,v
retrieving revision 1.297
retrieving revision 1.298
diff -u -b -r1.297 -r1.298
--- qe.c        17 Oct 2020 15:41:32 -0000      1.297
+++ qe.c        17 Oct 2020 20:55:47 -0000      1.298
@@ -255,7 +255,7 @@
     }
 }
 
-int command_print_entry(EditState *s, const char *name)
+int command_print_entry(CompleteState *cp, EditState *s, const char *name)
 {
     EditBuffer *b = s->b;
     CmdDef *d = qe_find_cmd(name);
@@ -2267,7 +2267,7 @@
         generic_mode_close(s);
         qe_free_mode_data(s->mode_data);
         s->mode = NULL;  /* XXX: should instead use fundamental_mode */
-        set_colorize_func(s, NULL);
+        set_colorize_func(s, NULL, NULL);
 
         /* XXX: this code makes no sense, if must be reworked! */
 #if 0
@@ -2359,7 +2359,7 @@
         s->wrap = m->default_wrap;
         m->mode_init(s, s->b, MODEF_VIEW | mode_flags);
         if (m->colorize_func)
-            set_colorize_func(s, m->colorize_func);
+            set_colorize_func(s, m->colorize_func, m);
         /* modify offset_top so that its value is correct */
         if (s->mode->backward_offset)
             s->offset_top = s->mode->backward_offset(s, s->offset_top);
@@ -4165,7 +4165,7 @@
             if (bom) {
                 cctx.offset = eb_next(b, cctx.offset);
             }
-            s->colorize_func(&cctx, buf + bom, len - bom, s->mode);
+            s->colorize_func(&cctx, buf + bom, len - bom, s->colorize_mode);
             s->colorize_states[line] = cctx.colorize_state;
         }
     }
@@ -4188,7 +4188,7 @@
         cctx.offset = eb_next(b, cctx.offset);
     }
     cctx.combine_stop = len - bom;
-    s->colorize_func(&cctx, buf + bom, len - bom, s->mode);
+    s->colorize_func(&cctx, buf + bom, len - bom, s->colorize_mode);
     /* buf[len] has char '\0' but may hold style, force buf ending */
     buf[len + 1] = 0;
 
@@ -4235,9 +4235,8 @@
 
 #endif /* CONFIG_TINY */
 
-void set_colorize_func(EditState *s, ColorizeFunc colorize_func)
+void set_colorize_func(EditState *s, ColorizeFunc colorize_func, ModeDef 
*colorize_mode)
 {
-    s->get_colorized_line = generic_get_colorized_line;
     s->colorize_func = NULL;
 
 #ifndef CONFIG_TINY
@@ -4248,28 +4247,27 @@
     s->colorize_nb_valid_lines = 0;
     s->colorize_max_valid_offset = INT_MAX;
     s->colorize_func = colorize_func;
+    s->colorize_mode = colorize_mode;
     if (colorize_func)
         eb_add_callback(s->b, colorize_callback, s, 0);
 #endif
 }
 
-int generic_get_colorized_line(EditState *s, unsigned int *buf, int buf_size,
+int get_colorized_line(EditState *s, unsigned int *buf, int buf_size,
                                QETermStyle *sbuf,
                                int offset, int *offsetp, int line_num)
 {
-    int len;
-
 #ifndef CONFIG_TINY
     if (s->colorize_func) {
-        len = syntax_get_colorized_line(s, buf, buf_size, sbuf,
+        return syntax_get_colorized_line(s, buf, buf_size, sbuf,
                                         offset, offsetp, line_num);
     } else
 #endif
     if (s->b->b_styles) {
-        len = get_staticly_colorized_line(s, buf, buf_size, sbuf,
+        return get_staticly_colorized_line(s, buf, buf_size, sbuf,
                                           offset, offsetp, line_num);
     } else {
-        len = eb_get_line(s->b, buf, buf_size, offset, offsetp);
+        int len = eb_get_line(s->b, buf, buf_size, offset, offsetp);
         if (buf[len] != '\n') {
             /* line was truncated */
             /* XXX: should use reallocatable buffer */
@@ -4277,10 +4275,10 @@
         }
         buf[len] = '\0';
         if (sbuf) {
-            memset(sbuf, 0, len * sizeof(*sbuf));
-        }
+            memset(sbuf, 0, (len + 1) * sizeof(*sbuf));
     }
     return len;
+    }
 }
 
 #define RLE_EMBEDDINGS_SIZE    128
@@ -4351,8 +4349,27 @@
     ||  s->curline_style || s->region_style
     ||  s->isearch_state) {
         /* XXX: deal with truncation */
-        colored_nb_chars = s->get_colorized_line(s, buf, countof(buf), sbuf,
+        colored_nb_chars = get_colorized_line(s, buf, countof(buf), sbuf,
                                                  offset, &offset0, line_num);
+        if (s->mode == &list_mode) {
+            QEmacsState *qs = s->qe_state;
+            int i;
+
+            if ((qs->active_window == s || s->force_highlight) &&
+                s->offset >= offset && s->offset < offset0)
+            {
+                /* highlight the current line */
+                for (i = 0; i <= colored_nb_chars; i++) {
+                    sbuf[i] = QE_STYLE_HIGHLIGHT;
+                }
+            } else
+            if (buf[0] == '*') {
+                /* selection */
+                for (i = 0; i <= colored_nb_chars; i++) {
+                    sbuf[i] |= QE_STYLE_SEL;
+                }
+            }
+        }
         if (s->isearch_state) {
             isearch_colorize_matches(s, buf, colored_nb_chars, sbuf, offset);
         }
@@ -6049,7 +6066,7 @@
     "buffer", buffer_complete
 };
 
-static int default_completion_window_print_entry(EditState *s, const char 
*name) {
+static int default_completion_window_print_entry(CompleteState *cp, EditState 
*s, const char *name) {
     return eb_puts(s->b, name);
 }
 
@@ -6299,8 +6316,7 @@
         b->tab_width = 4;
         for (i = 0; i < count; i++) {
             eb_putc(b, ' ');    /* XXX: should use window margins */
-            mb->completion->print_entry(e, outputs[i]->str);
-            if (i != count - 1)
+            mb->completion->print_entry(&cs, e, outputs[i]->str);
                 eb_putc(b, '\n');
         }
         b->flags |= BF_READONLY;
@@ -8134,7 +8150,7 @@
     if (b) {
         eb_clear(b);
     } else {
-        b = eb_new("*Help*", BF_UTF8);
+        b = eb_new("*Help*", BF_SYSTEM | BF_UTF8 | BF_STYLE1);
     }
     return b;
 }
@@ -8571,7 +8587,7 @@
     s->offset_top = min(s->offset_top, s->b->total_size);
     eb_add_callback(s->b, eb_offset_callback, &s->offset, 0);
     eb_add_callback(s->b, eb_offset_callback, &s->offset_top, 0);
-    set_colorize_func(s, NULL);
+    set_colorize_func(s, NULL, NULL);
     return 0;
 }
 
@@ -8598,7 +8614,7 @@
     s->wrap = WRAP_AUTO;
 
     /* free all callbacks or associated buffer data */
-    set_colorize_func(s, NULL);
+    set_colorize_func(s, NULL, NULL);
     eb_free_callback(s->b, eb_offset_callback, &s->offset);
     eb_free_callback(s->b, eb_offset_callback, &s->offset_top);
 

Index: qe.h
===================================================================
RCS file: /sources/qemacs/qemacs/qe.h,v
retrieving revision 1.278
retrieving revision 1.279
diff -u -b -r1.278 -r1.279
--- qe.h        17 Oct 2020 15:41:32 -0000      1.278
+++ qe.h        17 Oct 2020 20:55:47 -0000      1.279
@@ -1414,8 +1414,8 @@
     int up_down_last_x; /* last x offset for vertical movement */
 
     /* low level colorization function */
-    GetColorizedLineFunc get_colorized_line;
-    ColorizeFunc colorize_func; /* colorization function */
+    ColorizeFunc colorize_func; /* colorization function and mode */
+    ModeDef *colorize_mode;
 
     QETermStyle default_style;  /* default text style */
 
@@ -2002,7 +2002,7 @@
 typedef struct CompletionDef {
     const char *name;
     void (*enumerate)(CompleteState *cp);
-    int (*print_entry)(EditState *s, const char *name);
+    int (*print_entry)(CompleteState *cp, EditState *s, const char *name);
     int (*get_entry)(EditState *s, char *dest, int size, int offset);
     int flags;
     struct CompletionDef *next;
@@ -2018,7 +2018,7 @@
                      StringArray *hist, const char *completion_name,
                      void (*cb)(void *opaque, char *buf), void *opaque);
 void command_complete(CompleteState *cp);
-int command_print_entry(EditState *s, const char *name);
+int command_print_entry(CompleteState *cp, EditState *s, const char *name);
 int command_get_entry(EditState *s, char *dest, int size, int offset);
 void file_complete(CompleteState *cp);
 void buffer_complete(CompleteState *cp);
@@ -2124,8 +2124,8 @@
 int text_backward_offset(EditState *s, int offset);
 int text_display_line(EditState *s, DisplayState *ds, int offset);
 
-void set_colorize_func(EditState *s, ColorizeFunc colorize_func);
-int generic_get_colorized_line(EditState *s, unsigned int *buf, int buf_size,
+void set_colorize_func(EditState *s, ColorizeFunc colorize_func, ModeDef 
*mode);
+int get_colorized_line(EditState *s, unsigned int *buf, int buf_size,
                                QETermStyle *sbuf,
                                int offset, int *offsetp, int line_num);
 

Index: qscript.c
===================================================================
RCS file: /sources/qemacs/qemacs/qscript.c,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -b -r1.2 -r1.3
--- qscript.c   17 Oct 2020 15:41:32 -0000      1.2
+++ qscript.c   17 Oct 2020 20:55:47 -0000      1.3
@@ -1169,12 +1169,12 @@
     variable_complete(cp);
 }
 
-int script_print_entry(EditState *s, const char *name) {
+int script_print_entry(CompleteState *cp, EditState *s, const char *name) {
     CmdDef *d = qe_find_cmd(name);
     if (d) {
-        return command_print_entry(s, name);
+        return command_print_entry(cp, s, name);
     } else {
-        return variable_print_entry(s, name);
+        return variable_print_entry(cp, s, name);
     }        
 }
 

Index: tty.c
===================================================================
RCS file: /sources/qemacs/qemacs/tty.c,v
retrieving revision 1.89
retrieving revision 1.90
diff -u -b -r1.89 -r1.90
--- tty.c       17 Oct 2020 15:41:32 -0000      1.89
+++ tty.c       17 Oct 2020 20:55:47 -0000      1.90
@@ -906,8 +906,7 @@
     eb_printf(b, "%*s: fg:%d, bg:%d\n", w, "virtual tty colors",
               ts->tty_fg_colors_count, ts->tty_bg_colors_count);
     
-    eb_putc(b, '\n');
-    eb_printf(b, "Unicode combination cache:\n\n");
+    eb_printf(b, "\nUnicode combination cache:\n\n");
     
     for (ip = ts->comb_cache; *ip != 0; ip += *ip & 0xFFFF) {
         if (*ip & 0x10000) {

Index: variables.c
===================================================================
RCS file: /sources/qemacs/qemacs/variables.c,v
retrieving revision 1.26
retrieving revision 1.27
diff -u -b -r1.26 -r1.27
--- variables.c 17 Oct 2020 15:41:32 -0000      1.26
+++ variables.c 17 Oct 2020 20:55:47 -0000      1.27
@@ -416,7 +416,7 @@
     eb_putc(b, '\n');
 }
 
-int variable_print_entry(EditState *s, const char *name)
+int variable_print_entry(CompleteState *cp, EditState *s, const char *name)
 {
     char buf[256];
     char typebuf[32];

Index: variables.h
===================================================================
RCS file: /sources/qemacs/qemacs/variables.h,v
retrieving revision 1.11
retrieving revision 1.12
diff -u -b -r1.11 -r1.12
--- variables.h 17 Oct 2020 15:41:32 -0000      1.11
+++ variables.h 17 Oct 2020 20:55:47 -0000      1.12
@@ -96,7 +96,7 @@
 void qe_register_variables(VarDef *vars, int count);
 VarDef *qe_find_variable(const char *name);
 void variable_complete(CompleteState *cp);
-int variable_print_entry(EditState *s, const char *name);
+int variable_print_entry(CompleteState *cp, EditState *s, const char *name);
 
 QVarType qe_get_variable(EditState *s, const char *name,
                          char *buf, int size, int *pnum, int as_source);



reply via email to

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