Hi 

I could track down a compiler problem to the following example:

(setf *print-circle* T)

(defun test()
  (declare (optimize (safety 3)))
  (let((tmp '(1 2 3 4 5 6 7 8)))
    (setf (elt tmp 4) tmp)
    (print tmp)
    (print (elt tmp 4))))
(test)

The second print shows 5. If I replace the let-assignment by 
(let ((tmp nil))(setf tmp ... the problem disappears.

Am I missing something? (Linux x86, CMUCL CVS snapshot 2003-11; the same for 
SBCL 0.8.11)

Regard Heiner
        


Reply via email to