mirror of
https://gitlab.com/embeddable-common-lisp/ecl.git
synced 2026-03-10 07:00:20 -07:00
The toplevel should only trap the SERIOUS-CONDITIONs
This commit is contained in:
parent
d73d12ae35
commit
0a804a3b5b
2 changed files with 13 additions and 6 deletions
|
|
@ -24,6 +24,10 @@ ECL 9.6.3:
|
|||
- The compiler no longer enters the debugger when it finds an error
|
||||
in the code it compiles.
|
||||
|
||||
* Visible changes:
|
||||
|
||||
- The toplevel only traps SERIOUS-CONDITIONS.
|
||||
|
||||
ECL 9.6.2:
|
||||
==========
|
||||
|
||||
|
|
|
|||
|
|
@ -436,13 +436,16 @@ under certain conditions; see file 'Copyright' for details.")
|
|||
(unless quiet
|
||||
(break-where))
|
||||
(flet ((rep ()
|
||||
(handler-bind
|
||||
((condition
|
||||
;; We let warnings pass by this way "warn" does the
|
||||
;; work. It is conventional not to trap anything
|
||||
;; that is not a SERIOUS-CONDITION. Otherwise we
|
||||
;; would be interferring the behavior of code that relies
|
||||
;; on conditions for communication (for instance our compiler)
|
||||
;; and which expect nothing to happen by default.
|
||||
(handler-bind
|
||||
((serious-condition
|
||||
(lambda (condition)
|
||||
(cond ((subtypep (type-of condition) 'warning)
|
||||
;; We let warnings pass by this way "warn" does the work.
|
||||
)
|
||||
((< break-level 1)
|
||||
(cond ((< break-level 1)
|
||||
;; Toplevel should enter the debugger on any condition.
|
||||
)
|
||||
(*allow-recursive-debug*
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue