From 318f417cd31e7d2b0dcedcb4d63297bfb582b71f Mon Sep 17 00:00:00 2001 From: Karl Heuer Date: Sat, 12 Jun 1999 03:36:46 +0000 Subject: [PATCH] (getf): Don't call get*. --- lisp/emacs-lisp/cl-extra.el | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) 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." 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)) -- 2.39.5