From: Kenichi Handa Date: Tue, 10 Oct 2000 02:00:52 +0000 (+0000) Subject: (CHAR_STRING): Optimized for single byte characters. X-Git-Tag: emacs-pretest-21.0.90~991 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=e10ae834bc2faf1ab859f72cb1f867db1f489cad;p=emacs.git (CHAR_STRING): Optimized for single byte characters. --- diff --git a/src/charset.h b/src/charset.h index 83b31abf1f6..b8ee0af40f7 100644 --- a/src/charset.h +++ b/src/charset.h @@ -524,9 +524,11 @@ extern int iso_charset_table[2][2][128]; advance. Returns the length of the multi-byte form. If C is an invalid character code, signal an error. */ -#define CHAR_STRING(c, str) \ - (ASCII_BYTE_P (c) \ - ? (*(str) = (unsigned char)(c), 1) \ +#define CHAR_STRING(c, str) \ + (SINGLE_BYTE_CHAR_P (c) \ + ? ((ASCII_BYTE_P (c) || c >= 0xA0) \ + ? (*(str) = (unsigned char)(c), 1) \ + : (*(str) = LEADING_CODE_8_BIT_CONTROL, *((str)+ 1) = c + 0x20, 2)) \ : char_to_string (c, (unsigned char *) str)) /* Return a character code of the character of which multi-byte form