diff options
| -rw-r--r-- | lisp/emacs-lisp/cl-extra.el | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/lisp/emacs-lisp/cl-extra.el b/lisp/emacs-lisp/cl-extra.el index 2402d799108..46801c6cc36 100644 --- a/lisp/emacs-lisp/cl-extra.el +++ b/lisp/emacs-lisp/cl-extra.el | |||
| @@ -624,7 +624,13 @@ argument VECP, this copies vectors as well as conses." | |||
| 624 | PROPLIST is a list of the sort returned by `symbol-plist'." | 624 | PROPLIST is a list of the sort returned by `symbol-plist'." |
| 625 | (setplist '--cl-getf-symbol-- plist) | 625 | (setplist '--cl-getf-symbol-- plist) |
| 626 | (or (get '--cl-getf-symbol-- tag) | 626 | (or (get '--cl-getf-symbol-- tag) |
| 627 | (and def (get* '--cl-getf-symbol-- tag def)))) | 627 | ;; Originally we called get* here, |
| 628 | ;; but that fails, because get* has a compiler macro | ||
| 629 | ;; definition that uses getf! | ||
| 630 | (when def | ||
| 631 | (while (and plist (not (eq (car plist) tag))) | ||
| 632 | (setq plist (cdr (cdr plist)))) | ||
| 633 | (if plist (car (cdr plist)) def)))) | ||
| 628 | 634 | ||
| 629 | (defun cl-set-getf (plist tag val) | 635 | (defun cl-set-getf (plist tag val) |
| 630 | (let ((p plist)) | 636 | (let ((p plist)) |