(simplify_char_spec): Try to convert builtin chars to defined chars.
authortomo <tomo>
Thu, 12 Feb 2004 06:25:26 +0000 (06:25 +0000)
committertomo <tomo>
Thu, 12 Feb 2004 06:25:26 +0000 (06:25 +0000)
src/fns.c

index b513f4c..156beeb 100644 (file)
--- a/src/fns.c
+++ b/src/fns.c
@@ -3817,13 +3817,25 @@ Lisp_Object
 simplify_char_spec (Lisp_Object char_spec)
 {
   if (CHARP (char_spec))
-    return char_spec;
+    {
+      Lisp_Object ccs;
+      int code_point = ENCODE_CHAR (XCHAR (char_spec), ccs);
+
+      if (code_point >= 0)
+       {
+         int cid = decode_defined_char (ccs, code_point, Qnil);
+
+         if (cid >= 0)
+           return make_char (cid);
+       }
+      return char_spec;
+    }
   else if (INTP (char_spec))
     return Fdecode_char (Qmap_ucs, char_spec, Qnil, Qnil);
   else
     {
       Lisp_Object ret = Ffind_char (char_spec);
-      
+
       if (CHARP (ret))
        return ret;
       else