changeset 10822:1ec15b8745a2

(display_string, display_text_line): Display table overrides ordinary display even for \t, \n, etc.
author Richard M. Stallman <rms@gnu.org>
date Fri, 24 Feb 1995 18:49:48 +0000
parents 1ff0ed96a4c0
children abd2a268ed88
files src/xdisp.c
diffstat 1 files changed, 17 insertions(+), 18 deletions(-) [+]
line wrap: on
line diff
--- a/src/xdisp.c	Fri Feb 24 09:12:56 1995 +0000
+++ b/src/xdisp.c	Fri Feb 24 18:49:48 1995 +0000
@@ -2540,8 +2540,15 @@
 	  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 @@
 #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 @@
       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 @@
 	    }
 	  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)