Mercurial > hg > xemacs-beta
comparison src/data.c @ 5374:d967d96ca043
Conditionalise the old-* functions and byte codes at compile time.
src/ChangeLog addition:
2011-03-15 Aidan Kehoe <kehoea@parhasard.net>
* config.h.in (SUPPORT_CONFOUNDING_FUNCTIONS): New #define,
equivalent NEED_TO_HANDLE_21_4_CODE by default, describing whether
this XEmacs should support the old-eq, old-equal and related
functions and byte codes.
* bytecode.c (UNUSED):
Only interpret old-eq, old-equal, old-memq if
SUPPORT_CONFOUNDING_FUNCTIONS is defined.
* data.c:
Move Fold_eq to fns.c with the rest of the Fold_* functions.
* fns.c:
* fns.c (Fmemq):
* fns.c (memq_no_quit):
* fns.c (assoc_no_quit):
* fns.c (Frassq):
* fns.c (Fequal):
* fns.c (Fold_equal):
* fns.c (syms_of_fns):
Group old-eq, old-equal, old-memq etc together, surround them with
#ifdef SUPPORT_CONFOUNDING_FUNCTIONS.
lisp/ChangeLog addition:
2011-03-15 Aidan Kehoe <kehoea@parhasard.net>
* bytecomp.el:
Don't generate the old-eq, old-memq, old-equal bytecodes any more,
but keep the information about them around for the sake of the
disassembler.
man/ChangeLog addition:
2011-03-15 Aidan Kehoe <kehoea@parhasard.net>
* lispref/objects.texi (Character Type):
* lispref/objects.texi (Equality Predicates):
No longer document `old-eq', `old-equal', they haven't been used
in years.
tests/ChangeLog addition:
2011-03-17 Aidan Kehoe <kehoea@parhasard.net>
* automated/lisp-tests.el:
Only test the various old-* function if old-eq is bound and a
subr.
author | Aidan Kehoe <kehoea@parhasard.net> |
---|---|
date | Thu, 17 Mar 2011 20:13:00 +0000 |
parents | 47298dcf2e8f |
children | 4f39e57a82b4 ac37a5f7e5be |
comparison
equal
deleted
inserted
replaced
5372:6c3a695f54f5 | 5374:d967d96ca043 |
---|---|
179 Return t if the two args are the same Lisp object. | 179 Return t if the two args are the same Lisp object. |
180 */ | 180 */ |
181 (object1, object2)) | 181 (object1, object2)) |
182 { | 182 { |
183 return EQ_WITH_EBOLA_NOTICE (object1, object2) ? Qt : Qnil; | 183 return EQ_WITH_EBOLA_NOTICE (object1, object2) ? Qt : Qnil; |
184 } | |
185 | |
186 DEFUN ("old-eq", Fold_eq, 2, 2, 0, /* | |
187 Return t if the two args are (in most cases) the same Lisp object. | |
188 | |
189 Special kludge: A character is considered `old-eq' to its equivalent integer | |
190 even though they are not the same object and are in fact of different | |
191 types. This is ABSOLUTELY AND UTTERLY HORRENDOUS but is necessary to | |
192 preserve byte-code compatibility with v19. This kludge is known as the | |
193 \"char-int confoundance disease\" and appears in a number of other | |
194 functions with `old-foo' equivalents. | |
195 | |
196 Do not use this function! | |
197 */ | |
198 (object1, object2)) | |
199 { | |
200 /* #### blasphemy */ | |
201 return HACKEQ_UNSAFE (object1, object2) ? Qt : Qnil; | |
202 } | 184 } |
203 | 185 |
204 DEFUN ("null", Fnull, 1, 1, 0, /* | 186 DEFUN ("null", Fnull, 1, 1, 0, /* |
205 Return t if OBJECT is nil. | 187 Return t if OBJECT is nil. |
206 */ | 188 */ |
3566 | 3548 |
3567 #ifdef HAVE_RATIO | 3549 #ifdef HAVE_RATIO |
3568 DEFSUBR (Fdiv); | 3550 DEFSUBR (Fdiv); |
3569 #endif | 3551 #endif |
3570 DEFSUBR (Feq); | 3552 DEFSUBR (Feq); |
3571 DEFSUBR (Fold_eq); | |
3572 DEFSUBR (Fnull); | 3553 DEFSUBR (Fnull); |
3573 Ffset (intern ("not"), intern ("null")); | 3554 Ffset (intern ("not"), intern ("null")); |
3574 DEFSUBR (Flistp); | 3555 DEFSUBR (Flistp); |
3575 DEFSUBR (Fnlistp); | 3556 DEFSUBR (Fnlistp); |
3576 DEFSUBR (Ftrue_list_p); | 3557 DEFSUBR (Ftrue_list_p); |