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