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 {