X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fcode%2Fbackq.lisp;h=6aa1a70af222c45069f192348f77c331e95cc75b;hb=d442c23da9851beac541b8bddfc2c0837cb87309;hp=5b3cd9c7803ac503e2556137231b876126f3a2fd;hpb=42702bd5e2af3e0042c9f27372c6f5d92335df12;p=sbcl.git diff --git a/src/code/backq.lisp b/src/code/backq.lisp index 5b3cd9c..6aa1a70 100644 --- a/src/code/backq.lisp +++ b/src/code/backq.lisp @@ -201,15 +201,14 @@ ;;; them, the backquoted material will be recognizable to the ;;; pretty-printer. (macrolet ((def (b-name name) - (let ((args (gensym "ARGS"))) ;; FIXME: This function should be INLINE so that the lists ;; aren't consed twice, but I ran into an optimizer bug the ;; first time I tried to make this work for BACKQ-LIST. See ;; whether there's still an optimizer bug, and fix it if so, and ;; then make these INLINE. - `(defun ,b-name (&rest ,args) - (declare (dynamic-extent ,args)) - (apply #',name ,args))))) + `(defun ,b-name (&rest rest) + (declare (truly-dynamic-extent rest)) + (apply #',name rest)))) (def backq-list list) (def backq-list* list*) (def backq-append append)