Mercurial > hg > xemacs-beta
diff lisp/cl-macs.el @ 4910:6bc1f3f6cf0d
Make canoncase visible to Lisp; use it with chars in internal_equalp.
src/ChangeLog addition:
2010-02-01 Aidan Kehoe <kehoea@parhasard.net>
* fns.c (internal_equalp):
Use bytecode_arithcompare, which takes two args, instead of
passing a stack pointer to Feqlsign.
Use CANONCASE(), not DOWNCASE(), for case-insensitive character
comparison.
Correct a comment here.
* casefiddle.c (casify_object): New operation in this function,
CASE_CANONICALIZE.
(Fcanoncase): New function, used for case-insensitive comparison.
* lisp.h:
Make Fcanoncase, bytecode_arithcompare visible here.
* bytecode.c (bytecode_arithcompare):
Make this visible to other files.
lisp/ChangeLog addition:
2010-02-01 Aidan Kehoe <kehoea@parhasard.net>
* cl-macs.el (equalp):
Remove special treatment for an #'equalp with a single character
constant argument, it was incorrect (it used #'downcase instead of
#'canoncase).
author | Aidan Kehoe <kehoea@parhasard.net> |
---|---|
date | Mon, 01 Feb 2010 17:57:04 +0000 |
parents | 6ef8256a020a |
children | c17c857e20bf |
line wrap: on
line diff
--- a/lisp/cl-macs.el Mon Feb 01 06:20:05 2010 -0600 +++ b/lisp/cl-macs.el Mon Feb 01 17:57:04 2010 +0000 @@ -3412,12 +3412,6 @@ ;; No need to protect against multiple evaluation here: `(and (member ,original-y '("" #* [])) t)) (t form))) - ((unordered-check (and (characterp x) (not (cl-const-expr-p y)))) - `(,@let-form - (or (eq ,x ,y) - ;; eq has a bytecode, char-equal doesn't. - (and (characterp ,y) - (eq (downcase ,x) (downcase ,y)))))) ((unordered-check (and (numberp x) (not (cl-const-expr-p y)))) `(,@let-form (and (numberp ,y)