Mercurial > emacs
changeset 89018:a9f683a73092
(MAKE_CHAR_UNIBYTE, MAKE_CHAR_MULTIBYTE): New macros.
author | Kenichi Handa <handa@m17n.org> |
---|---|
date | Tue, 20 Aug 2002 03:59:11 +0000 |
parents | 6a9e0cb7368b |
children | 0df387138bce |
files | src/character.h |
diffstat | 1 files changed, 16 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/src/character.h Tue Aug 20 03:58:53 2002 +0000 +++ b/src/character.h Tue Aug 20 03:59:11 2002 +0000 @@ -68,6 +68,22 @@ that corresponds to a raw 8-bit byte. */ #define CHAR_BYTE8_HEAD_P(byte) ((byte) == 0xC0 || (byte) == 0xC1) +/* If C is not ASCII, make it unibyte. */ + +#define MAKE_CHAR_UNIBYTE(c) \ + if (! ASCII_CHAR_P (c)) \ + c = multibyte_char_to_unibyte (c, Qnil); \ + else + + +/* If C is not ASCII, make it multibyte. */ + +#define MAKE_CHAR_MULTIBYTE(c) \ + if (! ASCII_CHAR_P (c)) \ + c = unibyte_char_to_multibyte (c); \ + else + + /* This is the maximum byte length of multibyte form. */ #define MAX_MULTIBYTE_LENGTH 5