changeset 44542:c71959ed4615

(sync_frame_with_window_matrix_rows): Don't give frame rows marginal areas. (Fdump_frame_glyph_matrix) [GLYPH_DEBUG]: New function. (syms_of_xdisp) [GLYPH_DEBUG]: Defsubr it.
author Gerd Moellmann <gerd@gnu.org>
date Fri, 12 Apr 2002 11:42:23 +0000
parents 1910e7c74f9f
children 3c17bf4ba3a3
files src/xdisp.c
diffstat 1 files changed, 20 insertions(+), 5 deletions(-) [+]
line wrap: on
line diff
--- a/src/xdisp.c	Fri Apr 12 11:32:23 2002 +0000
+++ b/src/xdisp.c	Fri Apr 12 11:42:23 2002 +0000
@@ -11343,16 +11343,20 @@
 
   /* If W is a full-width window, glyph pointers in W's current matrix
      have, by definition, to be the same as glyph pointers in the
-     corresponding frame matrix.  */
+     corresponding frame matrix.  Note that frame matrices have no
+     marginal areas (see build_frame_matrix).  */
   window_row = w->current_matrix->rows;
   window_row_end = window_row + w->current_matrix->nrows;
   frame_row = f->current_matrix->rows + XFASTINT (w->top);
   while (window_row < window_row_end)
     {
-      int area;
-      
-      for (area = LEFT_MARGIN_AREA; area <= LAST_AREA; ++area)
-	frame_row->glyphs[area] = window_row->glyphs[area];
+      struct glyph *start = window_row->glyphs[LEFT_MARGIN_AREA];
+      struct glyph *end = window_row->glyphs[LAST_AREA];
+
+      frame_row->glyphs[LEFT_MARGIN_AREA] = start;
+      frame_row->glyphs[TEXT_AREA] = start;
+      frame_row->glyphs[RIGHT_MARGIN_AREA] = end;
+      frame_row->glyphs[LAST_AREA] = end;
 
       /* Disable frame rows whose corresponding window rows have
 	 been disabled in try_window_id.  */
@@ -12367,6 +12371,16 @@
 }
 
 
+DEFUN ("dump-frame-glyph-matrix", Fdump_frame_glyph_matrix,
+       Sdump_frame_glyph_matrix, 0, 0, "", doc: /* */)
+     ()
+{
+  struct frame *f = XFRAME (selected_frame);
+  dump_glyph_matrix (f->current_matrix, 1);
+  return Qnil;
+}
+
+
 DEFUN ("dump-glyph-row", Fdump_glyph_row, Sdump_glyph_row, 1, 2, "",
        doc: /* Dump glyph row ROW to stderr.
 GLYPH 0 means don't dump glyphs.
@@ -14859,6 +14873,7 @@
   staticpro (&message_dolog_marker3);
 
 #if GLYPH_DEBUG
+  defsubr (&Sdump_frame_glyph_matrix);
   defsubr (&Sdump_glyph_matrix);
   defsubr (&Sdump_glyph_row);
   defsubr (&Sdump_tool_bar_row);