aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorStefan Monnier2015-05-06 17:43:43 -0400
committerStefan Monnier2015-05-06 17:43:43 -0400
commitbceffdb3796df75b6f2efc2f6f17ca927a25c3b9 (patch)
treef2185861ef05e6c0cb208ff7cd4f7d67c5b73e95
parent96b99c1bef79f3839e1a2f3c8e8d6f5625dc5cc3 (diff)
downloademacs-bceffdb3796df75b6f2efc2f6f17ca927a25c3b9.tar.gz
emacs-bceffdb3796df75b6f2efc2f6f17ca927a25c3b9.zip
(define-modify-macro): Make sure cl--arglist-args is defined
* lisp/emacs-lisp/cl.el (define-modify-macro): Make sure cl--arglist-args is defined (bug#20517).
-rw-r--r--lisp/emacs-lisp/cl.el3
1 files changed, 3 insertions, 0 deletions
diff --git a/lisp/emacs-lisp/cl.el b/lisp/emacs-lisp/cl.el
index 564a44457d8..c966ace3852 100644
--- a/lisp/emacs-lisp/cl.el
+++ b/lisp/emacs-lisp/cl.el
@@ -626,6 +626,8 @@ You can replace this form with `gv-define-setter'.
626;; ...the rest, and build the 5-tuple)) 626;; ...the rest, and build the 5-tuple))
627(make-obsolete 'get-setf-method 'gv-letplace "24.3") 627(make-obsolete 'get-setf-method 'gv-letplace "24.3")
628 628
629(declare-function cl--arglist-args "cl-macs" (args))
630
629(defmacro define-modify-macro (name arglist func &optional doc) 631(defmacro define-modify-macro (name arglist func &optional doc)
630 "Define a `setf'-like modify macro. 632 "Define a `setf'-like modify macro.
631If NAME is called, it combines its PLACE argument with the other 633If NAME is called, it combines its PLACE argument with the other
@@ -639,6 +641,7 @@ You can replace this macro with `gv-letplace'."
639 symbolp &optional stringp))) 641 symbolp &optional stringp)))
640 (if (memq '&key arglist) 642 (if (memq '&key arglist)
641 (error "&key not allowed in define-modify-macro")) 643 (error "&key not allowed in define-modify-macro"))
644 (require 'cl-macs) ;For cl--arglist-args.
642 (let ((place (make-symbol "--cl-place--"))) 645 (let ((place (make-symbol "--cl-place--")))
643 `(cl-defmacro ,name (,place ,@arglist) 646 `(cl-defmacro ,name (,place ,@arglist)
644 ,doc 647 ,doc