mirror of
https://gitlab.com/embeddable-common-lisp/ecl.git
synced 2026-01-16 06:12:25 -08:00
In EXT:SAFE-EVAL avoid the debugger being entered at all.
This commit is contained in:
parent
82252f6868
commit
8aee46b839
2 changed files with 10 additions and 7 deletions
|
|
@ -14,6 +14,9 @@ ECL 10.3.2:
|
|||
- The reimplementation of DIRECTORY introduced a bug in pathnames with ending
|
||||
double wildcars, such as "/foo/**/".
|
||||
|
||||
- EXT:SAFE-EVAL (or cl_safe_eval in C) would attempt to start the debugger
|
||||
when an error was signaled.
|
||||
|
||||
* Visible changes:
|
||||
|
||||
- The source location annotator records the original pathnames, not the
|
||||
|
|
|
|||
|
|
@ -1480,13 +1480,13 @@ supplied, then SAFE-EVAL will not use a debugger but rather return that
|
|||
value."
|
||||
(let ((output nil) (ok nil))
|
||||
(unwind-protect
|
||||
(if err-value-p
|
||||
(let ((*break-enable* nil))
|
||||
(setf output (si::eval-with-env form env)
|
||||
ok t))
|
||||
(handler-bind ((serious-condition #'invoke-debugger))
|
||||
(setf output (si::eval-with-env form env)
|
||||
ok t)))
|
||||
(handler-bind ((serious-condition
|
||||
(if err-value-p
|
||||
#'(lambda (c)
|
||||
(return-from safe-eval err-value))
|
||||
#'invoke-debugger)))
|
||||
(setf output (si::eval-with-env form env)
|
||||
ok t))
|
||||
(return-from safe-eval (if ok output err-value)))))
|
||||
|
||||
#-ecl-min
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue