Index: /trunk/ccl/level-1/l1-aprims.lisp
===================================================================
--- /trunk/ccl/level-1/l1-aprims.lisp	(revision 582)
+++ /trunk/ccl/level-1/l1-aprims.lisp	(revision 583)
@@ -543,6 +543,6 @@
 
 (defun %make-displaced-array (dimensions displaced-to
-                                         &optional fill adjustable offset temp-p)
-  (declare (ignore temp-p))
+                                         &optional fill adjustable
+					 offset explicitp)
   (if offset 
     (unless (and (fixnump offset) (>= (the fixnum offset) 0))
@@ -564,4 +564,6 @@
            (flags 0))
       (declare (fixnum disp-size rank flags vect-subtype real-offset))
+      (when explicitp
+	(setq flags (bitset $arh_exp_disp_bit flags)))
       (if (not (fixnump new-size))(error "Bad array dimensions ~s." dimensions)) 
       (locally (declare (fixnum new-size))
Index: /trunk/ccl/level-1/l1-utils.lisp
===================================================================
--- /trunk/ccl/level-1/l1-utils.lisp	(revision 582)
+++ /trunk/ccl/level-1/l1-utils.lisp	(revision 583)
@@ -1422,5 +1422,5 @@
                :displaced-to displaced-to :element-type element-type))
       (%make-displaced-array dims displaced-to
-                             fill-pointer adjustable displaced-index-offset))
+                             fill-pointer adjustable displaced-index-offset t))
      (t
       (when displaced-index-offset
