X-Git-Url: http://git.chise.org/gitweb/?p=chise%2Fxemacs-chise.git.1;a=blobdiff_plain;f=src%2Ffns.c;fp=src%2Ffns.c;h=156beebcef473955d4af678128ab84ed0896dd36;hp=b513f4c97e8109154fa1ccbf350c2a32cbf7d062;hb=c1083e2b4200d5643ae782a6ca4c93831fdccb03;hpb=81ff240ab2cbbc460fdfd2eec54589396ae9a4b9 diff --git a/src/fns.c b/src/fns.c index b513f4c..156beeb 100644 --- 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