changeset 99976:33f97c9e6889

(MAYBE_UNIFY_CHAR): Call maybe_unify_char instead of Funify_charset.
author Kenichi Handa <handa@m17n.org>
date Thu, 27 Nov 2008 07:59:35 +0000
parents dddfb4772d33
children b9e04d1588d7
files src/character.h
diffstat 1 files changed, 12 insertions(+), 20 deletions(-) [+]
line wrap: on
line diff
--- a/src/character.h	Thu Nov 27 07:59:21 2008 +0000
+++ b/src/character.h	Thu Nov 27 07:59:35 2008 +0000
@@ -574,26 +574,18 @@
 /* If C is a character to be unified with a Unicode character, return
    the unified Unicode character.  */
 
-#define MAYBE_UNIFY_CHAR(c)					\
-  if (c > MAX_UNICODE_CHAR					\
-      && CHAR_TABLE_P (Vchar_unify_table))			\
-    {								\
-      Lisp_Object val;						\
-      int unified;						\
-								\
-      val = CHAR_TABLE_REF (Vchar_unify_table, c);		\
-      if (! NILP (val))						\
-	{							\
-	  if (SYMBOLP (val))					\
-	    {							\
-	      Funify_charset (val, Qnil, Qnil);			\
-	      val = CHAR_TABLE_REF (Vchar_unify_table, c);	\
-	    }							\
-	  if ((unified = XINT (val)) >= 0)			\
-	    c = unified;					\
-	}							\
-    }								\
-  else
+#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 = XINT (val);				\
+	else if (! NILP (val))				\
+	  c = maybe_unify_char (c, val);		\
+      }							\
+  } while (0)
 
 
 /* Return the width of ASCII character C.  The width is measured by