summaryrefslogtreecommitdiff
path: root/lisp/emacs-lisp
diff options
context:
space:
mode:
authorStefan Monnier <monnier@iro.umontreal.ca>2012-11-14 20:26:52 -0500
committerStefan Monnier <monnier@iro.umontreal.ca>2012-11-14 20:26:52 -0500
commit589fc4791fb569279b23e5a09243115a7b52cf74 (patch)
treec84ac93d8f4a84c84085770964b789180c3ca634 /lisp/emacs-lisp
parentbf20ea80f6331aaea18042a92928deb9db1b66f3 (diff)
downloademacs-589fc4791fb569279b23e5a09243115a7b52cf74.tar.gz
emacs-589fc4791fb569279b23e5a09243115a7b52cf74.tar.bz2
emacs-589fc4791fb569279b23e5a09243115a7b52cf74.zip
* lisp/emacs-lisp/cl-macs.el (cl--transform-lambda): Defend against
potential binding of print-gensym to t, and prettify (back)quotes in case they appear in args's default values. Fixes: debbugs:12884
Diffstat (limited to 'lisp/emacs-lisp')
-rw-r--r--lisp/emacs-lisp/cl-macs.el8
1 files changed, 5 insertions, 3 deletions
diff --git a/lisp/emacs-lisp/cl-macs.el b/lisp/emacs-lisp/cl-macs.el
index 3c46c40242d..f83bfe00666 100644
--- a/lisp/emacs-lisp/cl-macs.el
+++ b/lisp/emacs-lisp/cl-macs.el
@@ -260,9 +260,11 @@ The name is made by appending a number to PREFIX, default \"G\"."
(require 'help-fns)
(cons (help-add-fundoc-usage
(if (stringp (car hdr)) (pop hdr))
- (format "%S"
- (cons 'fn
- (cl--make-usage-args orig-args))))
+ ;; Be careful with make-symbol and (back)quote,
+ ;; see bug#12884.
+ (let ((print-gensym nil) (print-quoted t))
+ (format "%S" (cons 'fn (cl--make-usage-args
+ orig-args)))))
hdr)))
(list `(let* ,cl--bind-lets
,@(nreverse cl--bind-forms)