changeset 90023:46eb9a242d5d

(get_next_display_element): In unibyte case, decide to display in octal form by checking a chacter by UNIBYTE_CHAR_HAS_MULTIBYTE_P.
author Kenichi Handa <handa@m17n.org>
date Fri, 15 Oct 2004 02:12:58 +0000
parents 63061660cd73
children 2289ad7ece19
files src/xdisp.c
diffstat 1 files changed, 8 insertions(+), 9 deletions(-) [+]
line wrap: on
line diff
--- a/src/xdisp.c	Fri Oct 15 02:11:01 2004 +0000
+++ b/src/xdisp.c	Fri Oct 15 02:12:58 2004 +0000
@@ -4978,19 +4978,18 @@
 	     the translation.  This could easily be changed but I
 	     don't believe that it is worth doing.
 
-	     If it->multibyte_p is nonzero, eight-bit characters and
-	     non-printable multibyte characters are also translated to
-	     octal form.
+	     If it->multibyte_p is nonzero, non-printable non-ASCII
+	     characters are also translated to octal form.
 
 	     If it->multibyte_p is zero, eight-bit characters that
 	     don't have corresponding multibyte char code are also
 	     translated to octal form.  */
-	  else if ((it->c < ' '
-		    && (it->area != TEXT_AREA
-			|| (it->c != '\n' && it->c != '\t')))
-		   || (it->c != '\n' && it->c != '\t'
-		       && (it->multibyte_p ? !CHAR_PRINTABLE_P (it->c)
-			   : it->c == 127)))
+	  else if ((it->c < ' ' ? (it->area != TEXT_AREA
+				   || (it->c != '\n' && it->c != '\t'))
+		    : it->multibyte_p ? !CHAR_PRINTABLE_P (it->c)
+		    : (it->c >= 127
+		       && (! unibyte_display_via_language_environment
+			   || (UNIBYTE_CHAR_HAS_MULTIBYTE_P (it->c))))))
 	    {
 	      /* IT->c is a control character which must be displayed
 		 either as '\003' or as `^C' where the '\\' and '^'