mirror of
https://gitlab.com/embeddable-common-lisp/ecl.git
synced 2026-01-14 13:21:54 -08:00
Differentiate between correctable and non-correctable stack overflows
This commit is contained in:
parent
c0a1638b99
commit
8963d7d220
1 changed files with 7 additions and 5 deletions
|
|
@ -540,12 +540,14 @@ returns with NIL."
|
|||
(type :initarg :type :initform nil :reader ext:stack-overflow-type))
|
||||
(:REPORT
|
||||
(lambda (condition stream)
|
||||
(let ((type (ext::stack-overflow-type condition)))
|
||||
(if (eq type 'ext:c-stack)
|
||||
(format stream "Machine stack overflow. Stack cannot grow any further. Either exit
|
||||
or return to an outer frame, undoing all the function calls so far.")
|
||||
(let* ((type (ext::stack-overflow-type condition))
|
||||
(size (ext::stack-overflow-size condition)))
|
||||
(if size
|
||||
(format stream "~A overflow at size ~D. Stack can probably be resized."
|
||||
type (ext:stack-overflow-size condition)))))))
|
||||
type size)
|
||||
(format stream "~A stack overflow. Stack cannot grow any further. Either exit
|
||||
or return to an outer frame, undoing all the function calls so far."
|
||||
type))))))
|
||||
|
||||
(define-condition storage-exhausted (storage-condition) ())
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue