X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fcompiler%2Farray-tran.lisp;h=82b3bdb83e8ddc30d8bb4873aac03dd3c2c68659;hb=4d0b87793a047baecf2403455ddca1a82f44a41b;hp=75b11b96065ecb4d732f54960bbf540b6c54a6ca;hpb=425dd2dc04e5069689af53adfbef2671b7c1ca48;p=sbcl.git diff --git a/src/compiler/array-tran.lisp b/src/compiler/array-tran.lisp index 75b11b9..82b3bdb 100644 --- a/src/compiler/array-tran.lisp +++ b/src/compiler/array-tran.lisp @@ -337,8 +337,9 @@ ;;; can pick them apart in the DEFTRANSFORMS, and transform '(3) style ;;; dimensions to integer args directly. (define-source-transform make-array (dimensions &rest keyargs &environment env) - (if (and (fun-lexically-notinline-p 'list) - (fun-lexically-notinline-p 'vector)) + (if (or (and (fun-lexically-notinline-p 'list) + (fun-lexically-notinline-p 'vector)) + (oddp (length keyargs))) (values nil t) (multiple-value-bind (new-dimensions rank) (flet ((constant-dims (dimensions)