Mercurial > emacs
diff lisp/emacs-lisp/cl-extra.el @ 24826:a134726a4a15
(getf): Don't call get*.
author | Karl Heuer <kwzh@gnu.org> |
---|---|
date | Sat, 12 Jun 1999 03:36:46 +0000 |
parents | a74507d555ba |
children | 3bfd67af61d0 |
line wrap: on
line diff
--- a/lisp/emacs-lisp/cl-extra.el Thu Jun 10 01:19:33 1999 +0000 +++ b/lisp/emacs-lisp/cl-extra.el Sat Jun 12 03:36:46 1999 +0000 @@ -624,7 +624,13 @@ PROPLIST is a list of the sort returned by `symbol-plist'." (setplist '--cl-getf-symbol-- plist) (or (get '--cl-getf-symbol-- tag) - (and def (get* '--cl-getf-symbol-- tag def)))) + ;; Originally we called get* here, + ;; but that fails, because get* has a compiler macro + ;; definition that uses getf! + (when def + (while (and plist (not (eq (car plist) tag))) + (setq plist (cdr (cdr plist)))) + (if plist (car (cdr plist)) def)))) (defun cl-set-getf (plist tag val) (let ((p plist))