Hi!

>From my reading of the CLHS, I expected to see some output from the
PRINT before running into the error from the erroneous (POP (POP ...))
in the following example:

,----
| CMU Common Lisp Snapshot 2005-04, running on willehalm
| With core: /opt/cmucl-2005-04/lib/cmucl/lib/lisp.core
| Dumped on: Tue, 2005-04-05 16:17:40+02:00 on lorien
| See <http://www.cons.org/cmucl/> for support information.
| Loaded subsystems:
|     Python 1.1, target Intel x86
|     CLOS based on Gerd's PCL 2004/04/14 03:32:47
| * (let ((l (list 1 2 3 4)))
|               (do ()
|                   ((null l))
|                 (print l) (finish-output)
|                 (pop (pop l))))
| 
| Type-error in KERNEL::OBJECT-NOT-LIST-ERROR-HANDLER:  #:G6 is not of type LIST
|    [Condition of type TYPE-ERROR]
| 
| Restarts:
|   0: [ABORT] Return to Top-Level.
| 
| Debug  (type H for help)
| 
| (C::EXTRACT-LET-VARIABLES 2 #:G6 LET)[:EXTERNAL]
| Source: Error finding source:
| Error in function DEBUG::GET-FILE-TOP-LEVEL-FORM:  Source file no longer 
exists:  target:compiler/ir1tran.lisp.
| 0]
`----

Is this a bug in my understanding, or - hate to think of it - in
Cmucl?

BTW, if the error is simply a call to an undefined function, the PRINT
output appears before the error message:

,----
| * (let ((l (list 1 2 3 4)))
|               (do ()
|                   ((null l))
|                 (print l) (finish-output)
|                 (foobar l)))
| ;
| 
| ; Warning: This function is undefined:
| ;   FOOBAR
| 
| (1 2 3 4)
...
`----

Regards,

Albert.


Reply via email to