comparison lisp/ChangeLog @ 4792:95b04754ea8c

Make #'equalp more compatible with CL; add a compiler macro, test & doc it. lisp/ChangeLog addition: 2009-11-08 Aidan Kehoe <kehoea@parhasard.net> * cl-extra.el (cl-string-vector-equalp) (cl-bit-vector-vector-equalp, cl-vector-array-equalp) (cl-hash-table-contents-equalp): New functions, to implement equalp treating arrays with identical contents as equivalent, as specified by Common Lisp. (equalp): Revise this function to implement array equivalence, and the hash-table equalp behaviour specified by CL. * cl-macs.el (equalp): Add a compiler macro for this function, used when one of the arguments is constant, and as such, its type is known at compile time. man/ChangeLog addition: 2009-11-08 Aidan Kehoe <kehoea@parhasard.net> * lispref/objects.texi (Equality Predicates): Document #'equalp here, as well as #'equal and #'eq. tests/ChangeLog addition: 2009-12-31 Aidan Kehoe <kehoea@parhasard.net> * automated/lisp-tests.el: Test much of the functionality of equalp; add a pointer to Paul Dietz' ANSI test suite for this function, converted to Emacs Lisp. Not including the tests themselves in XEmacs because who owns the copyright on the files is unclear and the GCL people didn't respond to my queries.
author Aidan Kehoe <kehoea@parhasard.net>
date Thu, 31 Dec 2009 15:09:41 +0000
parents ea07b60c097f
children 8484c6c76837
comparison
equal deleted inserted replaced
4791:ea07b60c097f 4792:95b04754ea8c
162 162
163 * bytecomp.el (save-window-excursion): 163 * bytecomp.el (save-window-excursion):
164 Remove the compiler form for this bytecode, we no longer generate 164 Remove the compiler form for this bytecode, we no longer generate
165 calls to it. Keep the information about the bytecode's numeric 165 calls to it. Keep the information about the bytecode's numeric
166 value, we want that for disassembling code. 166 value, we want that for disassembling code.
167
168 2009-11-08 Aidan Kehoe <kehoea@parhasard.net>
169
170 * cl-extra.el (cl-string-vector-equalp)
171 (cl-bit-vector-vector-equalp, cl-vector-array-equalp)
172 (cl-hash-table-contents-equalp): New functions, to implement
173 equalp treating arrays with identical contents as equivalent, as
174 specified by Common Lisp.
175 (equalp): Revise this function to implement array equivalence,
176 and the hash-table equalp behaviour specified by CL.
177 * cl-macs.el (equalp): Add a compiler macro for this function,
178 used when one of the arguments is constant, and as such, its type
179 is known at compile time.
167 180
168 2009-11-01 Aidan Kehoe <kehoea@parhasard.net> 181 2009-11-01 Aidan Kehoe <kehoea@parhasard.net>
169 182
170 * cl-extra.el (equalp): 183 * cl-extra.el (equalp):
171 Don't error if handed a string and a non-string. 184 Don't error if handed a string and a non-string.