diff options
author | Glenn Morris <rgm@gnu.org> | 2012-11-10 15:13:33 -0800 |
---|---|---|
committer | Glenn Morris <rgm@gnu.org> | 2012-11-10 15:13:33 -0800 |
commit | 6baf66d53bbedd85a443e0d69d1f4311a93f0677 (patch) | |
tree | 38d7a00d5f7d5aecb86285d334fa15a31e5fbab1 /lisp/emacs-lisp/cl-macs.el | |
parent | 05a859c1bd9cd07b2c0fad06a0694e88ea929fcf (diff) | |
parent | e4e46889223296e8875548d278340b21db449a4a (diff) | |
download | emacs-6baf66d53bbedd85a443e0d69d1f4311a93f0677.tar.gz emacs-6baf66d53bbedd85a443e0d69d1f4311a93f0677.tar.bz2 emacs-6baf66d53bbedd85a443e0d69d1f4311a93f0677.zip |
Merge from emacs-24; up to 2012-11-08T14:54:03Z!monnier@iro.umontreal.ca
Diffstat (limited to 'lisp/emacs-lisp/cl-macs.el')
-rw-r--r-- | lisp/emacs-lisp/cl-macs.el | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/lisp/emacs-lisp/cl-macs.el b/lisp/emacs-lisp/cl-macs.el index 8d240774edb..b28f8f7f9e9 100644 --- a/lisp/emacs-lisp/cl-macs.el +++ b/lisp/emacs-lisp/cl-macs.el @@ -554,6 +554,7 @@ its argument list allows full Common Lisp conventions." ;;;###autoload (defmacro cl-destructuring-bind (args expr &rest body) + "Bind the variables in ARGS to the result of EXPR and execute BODY." (declare (indent 2) (debug (&define cl-macro-list def-form cl-declarations def-body))) (let* ((cl--bind-lets nil) (cl--bind-forms nil) (cl--bind-inits nil) @@ -1886,10 +1887,12 @@ values. For compatibility, (cl-values A B C) is a synonym for (list A B C). ;;;###autoload (defmacro cl-locally (&rest body) + "Equivalent to `progn'." (declare (debug t)) (cons 'progn body)) ;;;###autoload (defmacro cl-the (_type form) + "At present this ignores _TYPE and is simply equivalent to FORM." (declare (indent 1) (debug (cl-type-spec form))) form) @@ -2537,6 +2540,10 @@ and then returning foo." ;;;###autoload (defun cl-compiler-macroexpand (form) + "Like `macroexpand', but for compiler macros. +Expands FORM repeatedly until no further expansion is possible. +Returns FORM unchanged if it has no compiler macro, or if it has a +macro that returns its `&whole' argument." (while (let ((func (car-safe form)) (handler nil)) (while (and (symbolp func) |