changeset 90193:f7fa7985c898

(get_next_display_element): Sync with the change in HEAD (2005-06-08).
author Kenichi Handa <handa@m17n.org>
date Thu, 09 Jun 2005 07:30:09 +0000
parents 173dee4e2611
children d940db5a66b9
files src/xdisp.c
diffstat 1 files changed, 17 insertions(+), 3 deletions(-) [+]
line wrap: on
line diff
--- a/src/xdisp.c	Thu Jun 09 07:13:03 2005 +0000
+++ b/src/xdisp.c	Thu Jun 09 07:30:09 2005 +0000
@@ -5244,8 +5244,7 @@
 		 highlighting.  */
 
 	      if (! EQ (Vshow_nonbreak_escape, Qt)
-		  && (it->c == 0x8a0 || it->c == 0x920
-		      || it->c == 0xe20 || it->c == 0xf20))
+		  && it->c == 0xA0)
 		{
 		  /* Merge the no-break-space face into the current face.  */
 		  face_id = merge_faces (it->f, Qno_break_space, 0,
@@ -5284,10 +5283,25 @@
 					 it->face_id);
 		}
 
+	      /* Handle soft hyphens in the mode where they only get
+		 highlighting.  */
+
+	      if (! EQ (Vshow_nonbreak_escape, Qt)
+		  && it->c == 0xAD)
+		{
+		  g = it->c = '-';
+		  XSETINT (it->ctl_chars[0], g);
+		  ctl_len = 1;
+		  goto display_control;
+		}
+
+	      /* Handle non-break space and soft hyphen
+		 with the escape glyph.  */
+
 	      if (it->c == 0xA0 || it->c == 0xAD)
 		{
 		  XSETINT (it->ctl_chars[0], escape_glyph);
-		  g = it->c;
+		  g = it->c = (it->c == 0xA0 ? ' ' : '-');
 		  XSETINT (it->ctl_chars[1], g);
 		  ctl_len = 2;
 		  goto display_control;