Custom Query (1030 matches)
Results (223 - 225 of 1030)
| Ticket | Resolution | Summary | Owner | Reporter |
|---|---|---|---|---|
| #821 | invalid | handler-case cannot handle stack overflow | ||
| Description |
(defun f (n) (if (> n 0) (1+ (f (1- n))) 0)) In GCL, (handler-case (f 100000)(error (x)(format t "~% handler-case caught error ~s" x) 'boohoo)) results in this:
BOOHOO In Allegro CL, it results in this:
boohoo but in CCL we get this...
So CCL does not have error handling for this kind of error. If it is to be used seriously as a replacement for GCL on Windows, it has to recover better than this. version: Welcome to Clozure Common Lisp Version 1.6-r14468M (WindowsX8632)! Thanks Richard Fateman fateman@… |
|||
| #11 | fixed | hand-rolled :darwin64-thread-state64 struct isn't mis-aligned, but should be. | ||
| Description |
Apple has decided that renaming some structures dealing with thread contexts and the fields in those structures would help to ensure compatibility with some C standard or other; the names of these fields therefore depend on what header files one looks at (and what -preserve-broken-legacy-behavior options are in effect.) Lisp code occasionally needs to poke around in these structures, and therefore defines its own set of record types with its own field names "manually". The manual definition of :darwin-ppc-thread-state64 in ccl/level-1/ppc-trap-support.lisp has been wrong; the structure is defined with #pragma pack(4) in effect, so some 64-bit fields that should be misaligned are actually (and incorrectly) naturally aligned. One consequence of this is that backtrace doesn't work on darwinppc64 in some contexts, e.g., after a keyboard interrupt. There may be other consequences, as well. |
|||
| #845 | fixed | gui::background-process-run-function and zombie windows | ||
| Description |
(gui::background-process-run-function 'foo1 (lambda () (print "I'm dead"))) (gui::background-process-run-function 'foo2 (lambda () (loop (sleep 1)))) Executing the above two forms causes the expected results: a second Listener that says "I'm dead". However, if you close that Listener window, the window comes back when you hit cmd-L (even though its process is dead). Windows attached to dead Listener processes should be deleted completely once closed. |
|||
