(cons 'backq-list* thing))))
((eq flag 'vector)
(list 'backq-vector thing))
- (t (cons (cdr
- (assoc flag
- '((cons . backq-cons)
- (list . backq-list)
- (append . backq-append)
- (nconc . backq-nconc))
- :test #'equal))
+ (t (cons (ecase flag
+ ((list) 'backq-list)
+ ((append) 'backq-append)
+ ((nconc) 'backq-nconc))
thing))))
\f
;;;; magic BACKQ- versions of builtin functions
;; 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)))))
(def backq-list list)
(def backq-list* list*)