changeset 89052:547647cd162a

(Fbyte_code): Convert a unibyte character to multibyte if necessary.
author Kenichi Handa <handa@m17n.org>
date Tue, 03 Sep 2002 04:06:33 +0000
parents 98dcb14bf34c
children 06a2cbbeaee9
files src/bytecode.c
diffstat 1 files changed, 11 insertions(+), 4 deletions(-) [+]
line wrap: on
line diff
--- a/src/bytecode.c	Tue Sep 03 04:06:07 2002 +0000
+++ b/src/bytecode.c	Tue Sep 03 04:06:33 2002 +0000
@@ -1433,10 +1433,17 @@
 	  break;
 
 	case Bchar_syntax:
-	  BEFORE_POTENTIAL_GC ();
-	  CHECK_NUMBER (TOP);
-	  AFTER_POTENTIAL_GC ();
-	  XSETFASTINT (TOP, syntax_code_spec[(int) SYNTAX (XINT (TOP))]);
+	  {
+	    int c;
+
+	    BEFORE_POTENTIAL_GC ();
+	    CHECK_CHARACTER (TOP);
+	    AFTER_POTENTIAL_GC ();
+	    c = XFASTINT (TOP);
+	    if (NILP (current_buffer->enable_multibyte_characters))
+	      MAKE_CHAR_MULTIBYTE (c);
+	    XSETFASTINT (TOP, syntax_code_spec[(int) SYNTAX (c)]);
+	  }	    
 	  break;
 
 	case Bbuffer_substring: