projects
/
sbcl.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
0.8.21.7:
[sbcl.git]
/
src
/
code
/
backq.lisp
diff --git
a/src/code/backq.lisp
b/src/code/backq.lisp
index
b82b464
..
0e7896d
100644
(file)
--- a/
src/code/backq.lisp
+++ b/
src/code/backq.lisp
@@
-186,13
+186,10
@@
(cons 'backq-list* thing))))
((eq flag 'vector)
(list 'backq-vector thing))
(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
thing))))
\f
;;;; magic BACKQ- versions of builtin functions
@@
-210,6
+207,7
@@
;; whether there's still an optimizer bug, and fix it if so, and
;; then make these INLINE.
`(defun ,b-name (&rest ,args)
;; 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*)
(apply #',name ,args)))))
(def backq-list list)
(def backq-list* list*)