summaryrefslogtreecommitdiff
path: root/src/character.h
diff options
context:
space:
mode:
authorKenichi Handa <handa@m17n.org>2002-07-31 07:05:33 +0000
committerKenichi Handa <handa@m17n.org>2002-07-31 07:05:33 +0000
commit8bc28f69bac6280a3b33ecffebe93c5d7b67b4ad (patch)
treefa102b45cd32e182ffdb96c390d3d2791e31abd0 /src/character.h
parentbb4a388429ea9bf8ed5978cf7322c2f8f635d115 (diff)
downloademacs-8bc28f69bac6280a3b33ecffebe93c5d7b67b4ad.tar.gz
(CHAR_TO_BYTE8): If C is not eight-bit char, call
multibyte_char_to_unibyte.
Diffstat (limited to 'src/character.h')
-rw-r--r--src/character.h13
1 files changed, 8 insertions, 5 deletions
diff --git a/src/character.h b/src/character.h
index b83a51d4e82..c2ac15bfc80 100644
--- a/src/character.h
+++ b/src/character.h
@@ -51,15 +51,18 @@ Boston, MA 02111-1307, USA. */
#define MAX_4_BYTE_CHAR 0x1FFFFF
#define MAX_5_BYTE_CHAR 0x3FFF7F
+/* Nonzero iff C is a character that corresponds to a raw 8-bit
+ byte. */
+#define CHAR_BYTE8_P(c) ((c) > MAX_5_BYTE_CHAR)
+
/* Return the character code for raw 8-bit byte BYTE. */
#define BYTE8_TO_CHAR(byte) ((byte) + 0x3FFF00)
/* Return the raw 8-bit byte for character C. */
-#define CHAR_TO_BYTE8(c) ((c) - 0x3FFF00)
-
-/* Nonzero iff C is a character that corresponds to a raw 8-bit
- byte. */
-#define CHAR_BYTE8_P(c) ((c) > MAX_5_BYTE_CHAR)
+#define CHAR_TO_BYTE8(c) \
+ (CHAR_BYTE8_P (c) \
+ ? (c) - 0x3FFF00 \
+ : multibyte_char_to_unibyte (c, Qnil))
/* Nonzero iff BYTE is the 1st byte of a multibyte form of a character
that corresponds to a raw 8-bit byte. */