mirror of
git://git.sv.gnu.org/emacs.git
synced 2026-02-20 20:07:36 +00:00
(display_string, display_text_line):
Display table overrides ordinary display even for \t, \n, etc.
This commit is contained in:
parent
fd46fd176e
commit
376b0e5954
1 changed files with 17 additions and 18 deletions
35
src/xdisp.c
35
src/xdisp.c
|
|
@ -2540,8 +2540,15 @@ display_text_line (w, start, vpos, hpos, taboffset)
|
|||
p = &FETCH_CHAR (pos);
|
||||
}
|
||||
c = *p++;
|
||||
if (c >= 040 && c < 0177
|
||||
&& (dp == 0 || !VECTORP (DISP_CHAR_VECTOR (dp, c))))
|
||||
/* Let a display table override all standard display methods. */
|
||||
if (dp != 0 && VECTORP (DISP_CHAR_VECTOR (dp, c)))
|
||||
{
|
||||
p1 = copy_part_of_rope (f, p1, leftmargin,
|
||||
XVECTOR (DISP_CHAR_VECTOR (dp, c))->contents,
|
||||
XVECTOR (DISP_CHAR_VECTOR (dp, c))->size,
|
||||
current_face);
|
||||
}
|
||||
else if (c >= 040 && c < 0177)
|
||||
{
|
||||
if (p1 >= leftmargin)
|
||||
*p1 = MAKE_GLYPH (f, c, current_face);
|
||||
|
|
@ -2617,13 +2624,6 @@ display_text_line (w, start, vpos, hpos, taboffset)
|
|||
#endif
|
||||
break;
|
||||
}
|
||||
else if (dp != 0 && VECTORP (DISP_CHAR_VECTOR (dp, c)))
|
||||
{
|
||||
p1 = copy_part_of_rope (f, p1, leftmargin,
|
||||
XVECTOR (DISP_CHAR_VECTOR (dp, c))->contents,
|
||||
XVECTOR (DISP_CHAR_VECTOR (dp, c))->size,
|
||||
current_face);
|
||||
}
|
||||
else if (c < 0200 && ctl_arrow)
|
||||
{
|
||||
if (p1 >= leftmargin)
|
||||
|
|
@ -3734,8 +3734,14 @@ display_string (w, vpos, string, length, hpos, truncate,
|
|||
else if (c == 0)
|
||||
break;
|
||||
|
||||
if (c >= 040 && c < 0177
|
||||
&& (dp == 0 || !VECTORP (DISP_CHAR_VECTOR (dp, c))))
|
||||
if (dp != 0 && VECTORP (DISP_CHAR_VECTOR (dp, c)))
|
||||
{
|
||||
p1 = copy_part_of_rope (f, p1, start,
|
||||
XVECTOR (DISP_CHAR_VECTOR (dp, c))->contents,
|
||||
XVECTOR (DISP_CHAR_VECTOR (dp, c))->size,
|
||||
0);
|
||||
}
|
||||
else if (c >= 040 && c < 0177)
|
||||
{
|
||||
if (p1 >= start)
|
||||
*p1 = c;
|
||||
|
|
@ -3751,13 +3757,6 @@ display_string (w, vpos, string, length, hpos, truncate,
|
|||
}
|
||||
while ((p1 - start + hscroll - (hscroll > 0)) % tab_width);
|
||||
}
|
||||
else if (dp != 0 && VECTORP (DISP_CHAR_VECTOR (dp, c)))
|
||||
{
|
||||
p1 = copy_part_of_rope (f, p1, start,
|
||||
XVECTOR (DISP_CHAR_VECTOR (dp, c))->contents,
|
||||
XVECTOR (DISP_CHAR_VECTOR (dp, c))->size,
|
||||
0);
|
||||
}
|
||||
else if (c < 0200 && ! NILP (buffer_defaults.ctl_arrow))
|
||||
{
|
||||
if (p1 >= start)
|
||||
|
|
|
|||
Loading…
Reference in a new issue