X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fcode%2Fsharpm.lisp;h=273a6a6004ca2081a52e2fa7f96a604b69167e12;hb=2010727926b091b23a246f6f659be61e27e19667;hp=233a35ad89e0172c523b10424abaf8a5ef03f85f;hpb=2963d6858d147b23c33f38e051e61264b479c9fc;p=sbcl.git diff --git a/src/code/sharpm.lisp b/src/code/sharpm.lisp index 233a35a..273a6a6 100644 --- a/src/code/sharpm.lisp +++ b/src/code/sharpm.lisp @@ -96,12 +96,13 @@ dimensions axis seq)) (let ((len (length seq))) (dims len) - (unless (= axis (1- dimensions)) - (when (zerop len) - (%reader-error stream - "#~WA axis ~W is empty, but is not ~ - the last dimension." - dimensions axis)) + (unless (or (= axis (1- dimensions)) + ;; ANSI: "If some dimension of the array whose + ;; representation is being parsed is found to be + ;; 0, all dimensions to the right (i.e., the + ;; higher numbered dimensions) are also + ;; considered to be 0." + (= len 0)) (setq seq (elt seq 0)))))))) ;;;; reading structure instances: the #S readmacro