From 6a27e4a00600914b01c69088d43f42820f1485a8 Mon Sep 17 00:00:00 2001 From: Douglas Katzman Date: Sat, 6 Dec 2014 22:31:17 -0500 Subject: [PATCH] Workaround for type inference problem --- src/code/backq.lisp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/code/backq.lisp b/src/code/backq.lisp index 66e2e2042..947a2d6dc 100644 --- a/src/code/backq.lisp +++ b/src/code/backq.lisp @@ -225,7 +225,10 @@ ;; But if splicing is required then we're going to construct the interim ;; list no matter what. It could theoretically be avoided by doing: ;; (MULTIPLE-VALUE-CALL #'VECTOR ... (VALUES-LIST ) ...) - (if (or (listp original) (some #'qq-subform-splicing-p list)) + (if (or (listp original) + ;; The target compiler open-codes SOME but the cross-compiler + ;; seems not to without (THE LIST) to help it out. + (some #'qq-subform-splicing-p (the list list))) (qq-fold-suffix list dotted-p (vectorp input)) (values list dotted-p)))) -- 2.11.4.GIT