Merge from emacs--devo--0
[bpt/emacs.git] / src / character.h
index 7282375..1e4a120 100644 (file)
@@ -52,6 +52,11 @@ Boston, MA 02111-1307, USA.  */
 #define MAX_4_BYTE_CHAR 0x1FFFFF
 #define MAX_5_BYTE_CHAR 0x3FFF7F
 
+/* Minimum leading code of multibyte characters.  */
+#define MIN_MULTIBYTE_LEADING_CODE 0xC0
+/* Maximum leading code of multibyte characters.  */
+#define MAX_MULTIBYTE_LEADING_CODE 0xF8
+
 /* Nonzero iff C is a character that corresponds to a raw 8-bit
    byte.  */
 #define CHAR_BYTE8_P(c) ((c) > MAX_5_BYTE_CHAR)
@@ -177,7 +182,7 @@ extern char unibyte_has_multibyte_table[256];
       (p)[1] = (0x80 | (((c) >> 6) & 0x3F)),   \
       (p)[2] = (0x80 | ((c) & 0x3F)),          \
       3)                                       \
-   : char_string (c, p))
+   : char_string ((unsigned) c, p))
 
 /* Store multibyte form of byte B in P.  The caller should allocate at
    least MAX_MULTIBYTE_LENGTH bytes area at P in advance.  Returns the
@@ -605,7 +610,7 @@ extern char unibyte_has_multibyte_table[256];
    : XINT (CHAR_TABLE_REF (Vchar_width_table, c)))
 
 extern int char_resolve_modifier_mask P_ ((int));
-extern int char_string P_ ((int, unsigned char *));
+extern int char_string P_ ((unsigned, unsigned char *));
 extern int string_char P_ ((const unsigned char *,
                            const unsigned char **, int *));