Mercurial > emacs
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: