diff src/xdisp.c @ 59053:36d7c274dcef

(get_next_display_element): Display codes 8a0 and 8ad specially as `\ ' and `\-'.
author Richard M. Stallman <rms@gnu.org>
date Tue, 21 Dec 2004 11:35:18 +0000
parents 877029420a0c
children 6ae984fd783d 4ee39d9428b0 eac554634bfa
line wrap: on
line diff
--- a/src/xdisp.c	Tue Dec 21 11:34:42 2004 +0000
+++ b/src/xdisp.c	Tue Dec 21 11:35:18 2004 +0000
@@ -4915,7 +4915,9 @@
 		   || (it->multibyte_p
 		       ? ((it->c >= 127
 			   && it->len == 1)
-			  || !CHAR_PRINTABLE_P (it->c))
+			  || !CHAR_PRINTABLE_P (it->c)
+			  || it->c == 0x8ad
+			  || it->c == 0x8a0)
 		       : (it->c >= 127
 			  && (!unibyte_display_via_language_environment
 			      || it->c == unibyte_char_to_multibyte (it->c)))))
@@ -4958,6 +4960,21 @@
 		  XSETINT (it->ctl_chars[1], g);
 		  ctl_len = 2;
 		}
+	      else if (it->c == 0x8a0 || it->c == 0x8ad)
+		{
+		  /* Set IT->ctl_chars[0] to the glyph for `\\'.  */
+		  if (it->dp
+		      && INTEGERP (DISP_ESCAPE_GLYPH (it->dp))
+		      && GLYPH_CHAR_VALID_P (XINT (DISP_ESCAPE_GLYPH (it->dp))))
+		    g = XINT (DISP_ESCAPE_GLYPH (it->dp));
+		  else
+		    g = FAST_MAKE_GLYPH ('\\', face_id);
+		  XSETINT (it->ctl_chars[0], g);
+
+		  g = FAST_MAKE_GLYPH (it->c == 0x8ad ? '-' : ' ', face_id);
+		  XSETINT (it->ctl_chars[1], g);
+		  ctl_len = 2;
+		}
 	      else
 		{
 		  unsigned char str[MAX_MULTIBYTE_LENGTH];