From 29a13e2afea61b379e8da8a7dcdee475b7f21a27 Mon Sep 17 00:00:00 2001 From: Eli Zaretskii Date: Mon, 3 Nov 2014 19:14:50 +0200 Subject: [PATCH] Fix minor issues with functions that dump glyph matrices. src/xdisp.c (Fdump_glyph_matrix, Fdump_frame_glyph_matrix): Doc fix. (Fdump_frame_glyph_matrix): Don't segfault if invoked on a GUI frame; instead, print an error message. --- src/ChangeLog | 6 ++++++ src/xdisp.c | 14 +++++++++++--- 2 files changed, 17 insertions(+), 3 deletions(-) diff --git a/src/ChangeLog b/src/ChangeLog index 006e5c4b4a0..f30cad15f02 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,3 +1,9 @@ +2014-11-03 Eli Zaretskii + + * xdisp.c (Fdump_glyph_matrix, Fdump_frame_glyph_matrix): Doc fix. + (Fdump_frame_glyph_matrix): Don't segfault if invoked on a GUI + frame; instead, print an error message. + 2014-11-03 Jan Djärv * nsfns.m (ns_set_doc_edited): Check for FRAME_NS (Bug#18925). diff --git a/src/xdisp.c b/src/xdisp.c index c12ef753a45..0558aa8099d 100644 --- a/src/xdisp.c +++ b/src/xdisp.c @@ -18755,7 +18755,10 @@ DEFUN ("dump-glyph-matrix", Fdump_glyph_matrix, doc: /* Dump the current matrix of the selected window to stderr. Shows contents of glyph row structures. With non-nil parameter GLYPHS, dump glyphs as well. If GLYPHS is 1 show -glyphs in short form, otherwise show glyphs in long form. */) +glyphs in short form, otherwise show glyphs in long form. + +Interactively, no argument means show glyphs in short form; +with numeric argument, its value is passed as the GLYPHS flag. */) (Lisp_Object glyphs) { struct window *w = XWINDOW (selected_window); @@ -18773,11 +18776,16 @@ glyphs in short form, otherwise show glyphs in long form. */) DEFUN ("dump-frame-glyph-matrix", Fdump_frame_glyph_matrix, - Sdump_frame_glyph_matrix, 0, 0, "", doc: /* */) + Sdump_frame_glyph_matrix, 0, 0, "", doc: /* Dump the current glyph matrix of the selected frame to stderr. +Only text-mode frames have frame glyph matrices. */) (void) { struct frame *f = XFRAME (selected_frame); - dump_glyph_matrix (f->current_matrix, 1); + + if (f->current_matrix) + dump_glyph_matrix (f->current_matrix, 1); + else + fprintf (stderr, "*** This frame doesn't have a frame glyph matrix ***\n"); return Qnil; } -- 2.11.4.GIT