Commit f2223371 authored by Stefan Monnier's avatar Stefan Monnier
Browse files

* lisp/emacs-lisp/backquote.el (backquote-process): Catch uses of , and ,@

with more than one argument.

Fixes: debbugs:15538
parent 87c4314d
2013-10-08 Stefan Monnier <monnier@iro.umontreal.ca>
* emacs-lisp/backquote.el (backquote-process): Catch uses of , and ,@
with more than one argument (bug#15538).
* mpc.el (mpc-songs-jump-to): Adjust to different playlist format.
* vc/pcvs.el: Use lexical-binding.
......
......@@ -153,11 +153,18 @@ LEVEL is only used internally and indicates the nesting level:
(list 'quote s))))
((eq (car s) backquote-unquote-symbol)
(if (<= level 0)
(cons 1 (nth 1 s))
(if (> (length s) 2)
;; We could support it with: (cons 2 `(list . ,(cdr s)))
;; But let's not encourage such uses.
(error "Multiple args to , are not supported: %S" s)
(cons 1 (nth 1 s)))
(backquote-delay-process s (1- level))))
((eq (car s) backquote-splice-symbol)
(if (<= level 0)
(cons 2 (nth 1 s))
(if (> (length s) 2)
;; (cons 2 `(append . ,(cdr s)))
(error "Multiple args to ,@ are not supported: %S" s)
(cons 2 (nth 1 s)))
(backquote-delay-process s (1- level))))
((eq (car s) backquote-backquote-symbol)
(backquote-delay-process s (1+ level)))
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment