Mercurial > hg > xemacs-beta
diff lisp/cl-extra.el @ 5583:10f179710250
Deprecate #'remassoc, #'remassq, #'remrassoc, #'remrassq.
src/ChangeLog addition:
2011-10-09 Aidan Kehoe <kehoea@parhasard.net>
* fns.c (remassoc_no_quit):
* fns.c (remrassq_no_quit):
* fns.c (syms_of_fns):
* fontcolor-tty.c (Fregister_tty_color):
* fontcolor-tty.c (Funregister_tty_color):
* fontcolor-tty.c (Ffind_tty_color):
* lisp.h:
Remove Fremassq, Fremrassq, Fremassoc, Fremrassoc, they're
XEmacs-specific functions and Lisp callers should use (delete*
... :key #'car) anyway. Keep the non-Lisp-visible _no_quit
versions, calling FdeleteX from C with the appropriate arguments
is ungainly.
lisp/ChangeLog addition:
2011-10-09 Aidan Kehoe <kehoea@parhasard.net>
* obsolete.el:
* obsolete.el (assq-delete-all):
* packages.el (package-provide):
* packages.el (package-suppress):
* mule/cyrillic.el ("Cyrillic-KOI8"):
* mule/cyrillic.el (koi8-u):
* mule/general-late.el (posix-charset-to-coding-system-hash):
* mule/latin.el:
* mule/latin.el (for):
* cl-extra.el:
* cl-extra.el (cl-extra):
* loadup.el (load-history):
Change any uses of #'remassq, #'remassoc and friends to calling
#'delete* with an appropriate key argument. Provide compatibility
implementations, mark them obsolete.
man/ChangeLog addition:
2011-10-09 Aidan Kehoe <kehoea@parhasard.net>
* lispref/lists.texi (Association Lists):
Don't document #'remassoc, #'remassq and friends in detail;
they're XEmacs-specific and (delete* ... :key #'car) is
preferable.
author | Aidan Kehoe <kehoea@parhasard.net> |
---|---|
date | Sun, 09 Oct 2011 12:55:51 +0100 |
parents | d4f334808463 |
children | bd80d9103fc8 |
line wrap: on
line diff
--- a/lisp/cl-extra.el Sun Oct 09 10:39:09 2011 +0100 +++ b/lisp/cl-extra.el Sun Oct 09 12:55:51 2011 +0100 @@ -874,6 +874,30 @@ (-1 (1- (length (format "%b" (- integer))))) (1 (length (format "%b" integer))))) +;; These are here because labels and symbol-macrolet are not available in +;; obsolete.el. They are, however, all marked as obsolete in that file. +(symbol-macrolet ((not-nil '#:not-nil)) + (labels ((car-or-not-nil (object) + (if (consp object) (car object) not-nil)) + (cdr-or-not-nil (object) + (if (consp object) (cdr object) not-nil))) + (defalias 'remassoc + #'(lambda (key alist) + (delete* key alist :test #'equal + :key (if key #'car-safe #'car-or-not-nil)))) + (defalias 'remrassoc + #'(lambda (key alist) + (delete* key alist :test #'equal + :key (if key #'cdr-safe #'cdr-or-not-nil)))) + (defalias 'remrassq + #'(lambda (key alist) + (delete* key alist :test #'eq + :key (if key #'cdr-safe #'cdr-or-not-nil)))) + (defalias 'remassq + #'(lambda (key alist) + (delete* key alist :test #'eq + :key (if key #'car-safe #'car-or-not-nil)))))) + (run-hooks 'cl-extra-load-hook) ;; XEmacs addition