diff options
author | Leo Liu <sdl.web@gmail.com> | 2014-11-24 22:57:53 +0800 |
---|---|---|
committer | Leo Liu <sdl.web@gmail.com> | 2014-11-24 23:01:05 +0800 |
commit | 6dbaf0471927829126025f57315db02d78255790 (patch) | |
tree | 1fd4f11c491e1e95b86003c6f190f7140e5a96c8 /lisp/emacs-lisp/cl-extra.el | |
parent | d71a2d495f688083faa97f7ea305fdc6b595750c (diff) | |
download | emacs-6dbaf0471927829126025f57315db02d78255790.tar.gz |
New macro macroexp-let2*
* emacs-lisp/macroexp.el (macroexp-let2*): New macro.
* window.el (with-temp-buffer-window)
(with-current-buffer-window, with-displayed-buffer-window):
* emacs-lisp/cl-macs.el (cl--compiler-macro-adjoin):
* emacs-lisp/cl-lib.el (substring):
* emacs-lisp/cl-extra.el (cl-getf): Use it.
Diffstat (limited to 'lisp/emacs-lisp/cl-extra.el')
-rw-r--r-- | lisp/emacs-lisp/cl-extra.el | 17 |
1 files changed, 8 insertions, 9 deletions
diff --git a/lisp/emacs-lisp/cl-extra.el b/lisp/emacs-lisp/cl-extra.el index 9ccfc8bfb93..a94dcd335b4 100644 --- a/lisp/emacs-lisp/cl-extra.el +++ b/lisp/emacs-lisp/cl-extra.el @@ -606,15 +606,14 @@ PROPLIST is a list of the sort returned by `symbol-plist'. (declare (gv-expander (lambda (do) (gv-letplace (getter setter) plist - (macroexp-let2 nil k tag - (macroexp-let2 nil d def - (funcall do `(cl-getf ,getter ,k ,d) - (lambda (v) - (macroexp-let2 nil val v - `(progn - ,(funcall setter - `(cl--set-getf ,getter ,k ,val)) - ,val)))))))))) + (macroexp-let2* nil ((k tag) (d def)) + (funcall do `(cl-getf ,getter ,k ,d) + (lambda (v) + (macroexp-let2 nil val v + `(progn + ,(funcall setter + `(cl--set-getf ,getter ,k ,val)) + ,val))))))))) (setplist '--cl-getf-symbol-- plist) (or (get '--cl-getf-symbol-- tag) ;; Originally we called cl-get here, |