projects
/
chise
/
xemacs-chise.git.1
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
(simplify_char_spec): Try to convert builtin chars to defined chars.
[chise/xemacs-chise.git.1]
/
src
/
fns.c
diff --git
a/src/fns.c
b/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))
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);
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
if (CHARP (ret))
return ret;
else