]> code.delx.au - gnu-emacs/commitdiff
* character.h (MAYBE_UNIFY_CHAR): Remove.
authorPaul Eggert <eggert@cs.ucla.edu>
Wed, 26 Sep 2012 20:00:29 +0000 (13:00 -0700)
committerPaul Eggert <eggert@cs.ucla.edu>
Wed, 26 Sep 2012 20:00:29 +0000 (13:00 -0700)
* charset.c, charset.h (maybe_unify_char): Now static.
* charset.c (decode_char): Use maybe_unify_char, not MAYBE_UNIFY_CHAR.
Since this stuff is now private to charset.c, there's no need for
a public macro and no need to inline by hand.

src/ChangeLog
src/character.h
src/charset.c
src/charset.h

index 47e2b7a7feaa8ac659625e42d3ba655620c58f2c..23d39a0de663c9d587a926b04624c77d5a9ed449 100644 (file)
@@ -1,3 +1,11 @@
+2012-09-26  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * character.h (MAYBE_UNIFY_CHAR): Remove.
+       * charset.c, charset.h (maybe_unify_char): Now static.
+       * charset.c (decode_char): Use maybe_unify_char, not MAYBE_UNIFY_CHAR.
+       Since this stuff is now private to charset.c, there's no need for
+       a public macro and no need to inline by hand.
+
 2012-09-26  Tomohiro Matsuyama  <tomo@cx4a.org>
             Stefan Monnier  <monnier@iro.umontreal.ca>
             Juanma Barranquero  <lekktu@gmail.com>
index 70d4e67a97811ffb4153c904b3251c9a3ac91a34..b2cdcb766995c9a2f1aae61f9dd659496201c4be 100644 (file)
@@ -554,23 +554,6 @@ INLINE_HEADER_BEGIN
   } while (0)
 
 
-/* If C is a character to be unified with a Unicode character, return
-   the unified Unicode character.  */
-
-#define MAYBE_UNIFY_CHAR(c)                            \
-  do {                                                 \
-    if (c > MAX_UNICODE_CHAR && c <= MAX_5_BYTE_CHAR)  \
-      {                                                        \
-       Lisp_Object val;                                \
-       val = CHAR_TABLE_REF (Vchar_unify_table, c);    \
-       if (INTEGERP (val))                             \
-         c = XFASTINT (val);                           \
-       else if (! NILP (val))                          \
-         c = maybe_unify_char (c, val);                \
-      }                                                        \
-  } while (0)
-
-
 /* Return a non-outlandish value for the tab width.  */
 
 #define SANE_TAB_WIDTH(buf) \
index d8c38e5ea3b2cb246ab091ca96a2730a8fe4fa2b..b0915ffde9cd6bca220ec69ecc59243efd201122 100644 (file)
@@ -1617,7 +1617,7 @@ only `ascii', `eight-bit-control', and `eight-bit-graphic'. */)
 /* Return a unified character code for C (>= 0x110000).  VAL is a
    value of Vchar_unify_table for C; i.e. it is nil, an integer, or a
    charset symbol.  */
-int
+static int
 maybe_unify_char (int c, Lisp_Object val)
 {
   struct charset *charset;
@@ -1723,8 +1723,12 @@ decode_char (struct charset *charset, unsigned int code)
        {
          c = char_index + CHARSET_CODE_OFFSET (charset);
          if (CHARSET_UNIFIED_P (charset)
-             && c > MAX_UNICODE_CHAR)
-           MAYBE_UNIFY_CHAR (c);
+             && MAX_UNICODE_CHAR < c && c <= MAX_5_BYTE_CHAR)
+           {
+             /* Unify C with a Unicode character if possible.  */
+             Lisp_Object val = CHAR_TABLE_REF (Vchar_unify_table, c);
+             c = maybe_unify_char (c, val);
+           }
        }
     }
 
index 50d230489fee435dc0d42eca059b545032360c2e..b5fa36290c8a71685f8125c592f3cd0d31b3d2c7 100644 (file)
@@ -538,7 +538,6 @@ extern int charset_unibyte;
 extern struct charset *char_charset (int, Lisp_Object, unsigned *);
 extern Lisp_Object charset_attributes (int);
 
-extern int maybe_unify_char (int, Lisp_Object);
 extern int decode_char (struct charset *, unsigned);
 extern unsigned encode_char (struct charset *, int);
 extern int string_xstring_p (Lisp_Object);