Mercurial > emacs
changeset 60333:e1f267f69b78
(get_next_display_element): Fix control and escape
glyph from display vector. From Ehud Karni <ehud@unix.mvs.co.il>
author | Kim F. Storm <storm@cua.dk> |
---|---|
date | Tue, 01 Mar 2005 13:38:34 +0000 |
parents | cd7e398ff0c4 |
children | ec7a860cdd57 |
files | src/xdisp.c |
diffstat | 1 files changed, 15 insertions(+), 15 deletions(-) [+] |
line wrap: on
line diff
--- a/src/xdisp.c Tue Mar 01 13:37:23 2005 +0000 +++ b/src/xdisp.c Tue Mar 01 13:38:34 2005 +0000 @@ -5087,11 +5087,12 @@ 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 @@ { 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 @@ 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)