[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemacs-commit] qemacs extras.c
From: |
Charlie Gordon |
Subject: |
[Qemacs-commit] qemacs extras.c |
Date: |
Sat, 22 Aug 2015 20:37:49 +0000 |
CVSROOT: /sources/qemacs
Module name: qemacs
Changes by: Charlie Gordon <chqrlie> 15/08/22 20:37:49
Modified files:
. : extras.c
Log message:
buffers: added extra information on page layout in describe-buffer
CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/qemacs/extras.c?cvsroot=qemacs&r1=1.35&r2=1.36
Patches:
Index: extras.c
===================================================================
RCS file: /sources/qemacs/qemacs/extras.c,v
retrieving revision 1.35
retrieving revision 1.36
diff -u -b -r1.35 -r1.36
--- extras.c 11 Aug 2015 17:23:23 -0000 1.35
+++ extras.c 22 Aug 2015 20:37:49 -0000 1.36
@@ -1046,6 +1046,39 @@
}
}
+ if (b->nb_pages) {
+ Page *p;
+ const u8 *pc;
+ int i, c, n;
+
+ eb_printf(b1, "\nBuffer page layout:\n");
+
+ eb_printf(b1, " page size flags lines col chars addr\n");
+ for (i = 0, p = b->page_table; i < b->nb_pages && i < 100; i++, p++) {
+ eb_printf(b1, " %4d %4d %5x %5d %4d %5d %p |",
+ i, p->size, p->flags, p->nb_lines, p->col, p->nb_chars,
p->data);
+ pc = p->data;
+ n = min(p->size, 16);
+ while (n-- > 0) {
+ switch (c = *pc++) {
+ case '\r': c = 'r'; break;
+ case '\n': c = 'n'; break;
+ case '\t': c = 't'; break;
+ case '\\': break;
+ default:
+ if (c < 32 || c >= 127)
+ eb_printf(b1, "\\%03o", c);
+ else
+ eb_printf(b1, "%c", c);
+ continue;
+ }
+ eb_printf(b1, "\\%c", c);
+ }
+ eb_printf(b1, "|%s\n", p->size > 16 ? "..." : "");
+ }
+ eb_printf(b1, "\n");
+ }
+
b1->flags |= BF_READONLY;
if (show) {
show_popup(b1);