aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/xdisp.c35
1 files changed, 17 insertions, 18 deletions
diff --git a/src/xdisp.c b/src/xdisp.c
index e800c42d754..9c9dbe878a6 100644
--- a/src/xdisp.c
+++ b/src/xdisp.c
@@ -2540,8 +2540,15 @@ display_text_line (w, start, vpos, hpos, taboffset)
2540 p = &FETCH_CHAR (pos); 2540 p = &FETCH_CHAR (pos);
2541 } 2541 }
2542 c = *p++; 2542 c = *p++;
2543 if (c >= 040 && c < 0177 2543 /* Let a display table override all standard display methods. */
2544 && (dp == 0 || !VECTORP (DISP_CHAR_VECTOR (dp, c)))) 2544 if (dp != 0 && VECTORP (DISP_CHAR_VECTOR (dp, c)))
2545 {
2546 p1 = copy_part_of_rope (f, p1, leftmargin,
2547 XVECTOR (DISP_CHAR_VECTOR (dp, c))->contents,
2548 XVECTOR (DISP_CHAR_VECTOR (dp, c))->size,
2549 current_face);
2550 }
2551 else if (c >= 040 && c < 0177)
2545 { 2552 {
2546 if (p1 >= leftmargin) 2553 if (p1 >= leftmargin)
2547 *p1 = MAKE_GLYPH (f, c, current_face); 2554 *p1 = MAKE_GLYPH (f, c, current_face);
@@ -2617,13 +2624,6 @@ display_text_line (w, start, vpos, hpos, taboffset)
2617#endif 2624#endif
2618 break; 2625 break;
2619 } 2626 }
2620 else if (dp != 0 && VECTORP (DISP_CHAR_VECTOR (dp, c)))
2621 {
2622 p1 = copy_part_of_rope (f, p1, leftmargin,
2623 XVECTOR (DISP_CHAR_VECTOR (dp, c))->contents,
2624 XVECTOR (DISP_CHAR_VECTOR (dp, c))->size,
2625 current_face);
2626 }
2627 else if (c < 0200 && ctl_arrow) 2627 else if (c < 0200 && ctl_arrow)
2628 { 2628 {
2629 if (p1 >= leftmargin) 2629 if (p1 >= leftmargin)
@@ -3734,8 +3734,14 @@ display_string (w, vpos, string, length, hpos, truncate,
3734 else if (c == 0) 3734 else if (c == 0)
3735 break; 3735 break;
3736 3736
3737 if (c >= 040 && c < 0177 3737 if (dp != 0 && VECTORP (DISP_CHAR_VECTOR (dp, c)))
3738 && (dp == 0 || !VECTORP (DISP_CHAR_VECTOR (dp, c)))) 3738 {
3739 p1 = copy_part_of_rope (f, p1, start,
3740 XVECTOR (DISP_CHAR_VECTOR (dp, c))->contents,
3741 XVECTOR (DISP_CHAR_VECTOR (dp, c))->size,
3742 0);
3743 }
3744 else if (c >= 040 && c < 0177)
3739 { 3745 {
3740 if (p1 >= start) 3746 if (p1 >= start)
3741 *p1 = c; 3747 *p1 = c;
@@ -3751,13 +3757,6 @@ display_string (w, vpos, string, length, hpos, truncate,
3751 } 3757 }
3752 while ((p1 - start + hscroll - (hscroll > 0)) % tab_width); 3758 while ((p1 - start + hscroll - (hscroll > 0)) % tab_width);
3753 } 3759 }
3754 else if (dp != 0 && VECTORP (DISP_CHAR_VECTOR (dp, c)))
3755 {
3756 p1 = copy_part_of_rope (f, p1, start,
3757 XVECTOR (DISP_CHAR_VECTOR (dp, c))->contents,
3758 XVECTOR (DISP_CHAR_VECTOR (dp, c))->size,
3759 0);
3760 }
3761 else if (c < 0200 && ! NILP (buffer_defaults.ctl_arrow)) 3760 else if (c < 0200 && ! NILP (buffer_defaults.ctl_arrow))
3762 { 3761 {
3763 if (p1 >= start) 3762 if (p1 >= start)