qemacs-commit
[Top][All Lists]
Advanced

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

[Qemacs-commit] qemacs bufed.c


From: Charlie Gordon
Subject: [Qemacs-commit] qemacs bufed.c
Date: Tue, 03 Dec 2013 17:41:50 +0000

CVSROOT:        /sources/qemacs
Module name:    qemacs
Changes by:     Charlie Gordon <chqrlie>        13/12/03 17:41:50

Modified files:
        .              : bufed.c 

Log message:
        display modified and read-only indicators in buffer list
        display encoding and home relative filename in buffer list

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/qemacs/bufed.c?cvsroot=qemacs&r1=1.20&r2=1.21

Patches:
Index: bufed.c
===================================================================
RCS file: /sources/qemacs/qemacs/bufed.c,v
retrieving revision 1.20
retrieving revision 1.21
diff -u -b -r1.20 -r1.21
--- bufed.c     25 Apr 2008 10:54:16 -0000      1.20
+++ bufed.c     3 Dec 2013 17:41:50 -0000       1.21
@@ -2,7 +2,7 @@
  * Buffer editor mode for QEmacs.
  *
  * Copyright (c) 2001, 2002 Fabrice Bellard.
- * Copyright (c) 2002-2008 Charlie Gordon.
+ * Copyright (c) 2002-2013 Charlie Gordon.
  *
  * This library is free software; you can redistribute it and/or
  * modify it under the terms of the GNU Lesser General Public
@@ -36,7 +36,7 @@
 static void build_bufed_list(EditState *s)
 {
     QEmacsState *qs = s->qe_state;
-    EditBuffer *b, *b1;
+    EditBuffer *b;
     BufedState *hs;
     int last_index = list_get_pos(s);
     int i, flags;
@@ -55,11 +55,25 @@
     b->flags &= ~BF_READONLY;
     eb_delete(b, 0, b->total_size);
     for (i = 0; i < hs->items.nb_items; i++) {
-        eb_printf(b, " %-20s", hs->items.items[i]->str);
-        b1 = eb_find(hs->items.items[i]->str);
+        EditBuffer *b1 = eb_find(hs->items.items[i]->str);
+        char flags[4];
+        char *flagp = flags;
+
         if (b1) {
+            if (b1->modified)
+                *flagp++ = '*';
+            if (b1->flags & BF_READONLY)
+                *flagp++ = '%';
+        }
+        *flagp = '\0';
+        eb_printf(b, " %-2s%-20s", flags, hs->items.items[i]->str);
+        if (b1) {
+            char path[MAX_FILENAME_SIZE];
+
             /* CG: should also display mode */
-            eb_printf(b, " %10d  %s", b1->total_size, b1->filename);
+            eb_printf(b, " %-10s  %10d  %s", 
+                      b1->charset->name, b1->total_size,
+                      make_user_path(path, sizeof(path), b1->filename));
         }
         eb_printf(b, "\n");
     }



reply via email to

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