Mercurial > emacs
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);