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 { |