From 85bebf9acb155b38ef15c45f2a171f45581c8d18 Mon Sep 17 00:00:00 2001 From: ram <ram> Date: Fri, 6 Aug 1993 13:02:53 +0000 Subject: [PATCH] Tweaked WITH-ARRAY-DATA to test for (not (array-header-p )) instead of (simple-array * (*)). --- code/sysmacs.lisp | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/code/sysmacs.lisp b/code/sysmacs.lisp index 05040375b..92d75355a 100644 --- a/code/sysmacs.lisp +++ b/code/sysmacs.lisp @@ -7,7 +7,7 @@ ;;; Scott Fahlman or slisp-group@cs.cmu.edu. ;;; (ext:file-comment - "$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/code/sysmacs.lisp,v 1.14 1993/06/24 13:49:30 ram Exp $") + "$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/code/sysmacs.lisp,v 1.15 1993/08/06 13:02:53 ram Exp $") ;;; ;;; ********************************************************************** ;;; @@ -43,12 +43,14 @@ (n-evalue `(the (or index null) ,evalue))) `(multiple-value-bind (,data-var ,start-var ,end-var ,offset-var) - (if (typep ,n-array '(simple-array * (*))) - ,(once-only ((n-len `(length ,n-array)) - (n-end `(or ,n-evalue ,n-len))) - `(if (<= ,n-svalue ,n-end ,n-len) - (values ,n-array ,n-svalue ,n-end 0) - (%with-array-data ,n-array ,n-svalue ,n-evalue))) + (if (not (array-header-p ,n-array)) + (let ((,n-array ,n-array)) + (declare (type (simple-array * (*)) ,n-array)) + ,(once-only ((n-len `(length ,n-array)) + (n-end `(or ,n-evalue ,n-len))) + `(if (<= ,n-svalue ,n-end ,n-len) + (values ,n-array ,n-svalue ,n-end 0) + (%with-array-data ,n-array ,n-svalue ,n-evalue)))) (%with-array-data ,n-array ,n-svalue ,n-evalue)) (declare (ignorable ,offset-var)) ,@forms))) -- GitLab