Mercurial > hg > xemacs-beta
comparison src/bytecode.c @ 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 | 1628e3b9601a 48b63cd88a21 |
comparison
equal
deleted
inserted
replaced
| 4909:87175eb65ff4 | 4910:6bc1f3f6cf0d |
|---|---|
| 328 } | 328 } |
| 329 | 329 |
| 330 | 330 |
| 331 /* We have our own two-argument versions of various arithmetic ops. | 331 /* We have our own two-argument versions of various arithmetic ops. |
| 332 Only two-argument arithmetic operations have their own byte codes. */ | 332 Only two-argument arithmetic operations have their own byte codes. */ |
| 333 static int | 333 int |
| 334 bytecode_arithcompare (Lisp_Object obj1, Lisp_Object obj2) | 334 bytecode_arithcompare (Lisp_Object obj1, Lisp_Object obj2) |
| 335 { | 335 { |
| 336 #ifdef WITH_NUMBER_TYPES | 336 #ifdef WITH_NUMBER_TYPES |
| 337 switch (promote_args (&obj1, &obj2)) | 337 switch (promote_args (&obj1, &obj2)) |
| 338 { | 338 { |
