From 1868c863edaf8bd1472a83300964899ddd62aeb7 Mon Sep 17 00:00:00 2001 From: "Kim F. Storm" Date: Tue, 1 Mar 2005 13:38:34 +0000 Subject: [PATCH] (get_next_display_element): Fix control and escape glyph from display vector. From Ehud Karni --- src/xdisp.c | 30 +++++++++++++++--------------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/src/xdisp.c b/src/xdisp.c index ea7945ad07e..613f6f09b44 100644 --- a/src/xdisp.c +++ b/src/xdisp.c @@ -5087,11 +5087,12 @@ get_next_display_element (it) display. Then, set IT->dpvec to these glyphs. */ GLYPH g; int ctl_len; - int face_id, lface_id; + int face_id, lface_id = 0 ; GLYPH escape_glyph; if (it->c < 128 && it->ctl_arrow_p) { + g = '^'; /* default glyph for Control */ /* Set IT->ctl_chars[0] to the glyph for `^'. */ if (it->dp && INTEGERP (DISP_CTRL_GLYPH (it->dp)) @@ -5099,19 +5100,18 @@ get_next_display_element (it) { g = XINT (DISP_CTRL_GLYPH (it->dp)); lface_id = FAST_GLYPH_FACE (g); - if (lface_id) - { - g = FAST_GLYPH_CHAR (g); - face_id = merge_faces (it->f, Qt, lface_id, - it->face_id); - } + } + if (lface_id) + { + g = FAST_GLYPH_CHAR (g); + face_id = merge_faces (it->f, Qt, lface_id, + it->face_id); } else { /* Merge the escape-glyph face into the current face. */ face_id = merge_faces (it->f, Qescape_glyph, 0, it->face_id); - g = '^'; } XSETINT (it->ctl_chars[0], g); @@ -5121,25 +5121,25 @@ get_next_display_element (it) goto display_control; } + escape_glyph = '\\'; /* default for Octal display */ if (it->dp && INTEGERP (DISP_ESCAPE_GLYPH (it->dp)) && GLYPH_CHAR_VALID_P (XFASTINT (DISP_ESCAPE_GLYPH (it->dp)))) { escape_glyph = XFASTINT (DISP_ESCAPE_GLYPH (it->dp)); lface_id = FAST_GLYPH_FACE (escape_glyph); - if (lface_id) - { - escape_glyph = FAST_GLYPH_CHAR (escape_glyph); - face_id = merge_faces (it->f, Qt, lface_id, - it->face_id); - } + } + if (lface_id) + { + escape_glyph = FAST_GLYPH_CHAR (escape_glyph); + face_id = merge_faces (it->f, Qt, lface_id, + it->face_id); } else { /* Merge the escape-glyph face into the current face. */ face_id = merge_faces (it->f, Qescape_glyph, 0, it->face_id); - escape_glyph = '\\'; } if (it->c == 0x8a0 || it->c == 0x8ad) -- 2.39.2