mirror of
https://gitlab.com/embeddable-common-lisp/ecl.git
synced 2026-01-15 05:43:19 -08:00
Allow entering the debugger when a form is evaluated in the compiler.
This commit is contained in:
parent
4230533d58
commit
07bb6dd424
1 changed files with 7 additions and 3 deletions
|
|
@ -203,8 +203,12 @@
|
|||
`(let* ((si::*break-enable* *compiler-break-enable*)
|
||||
(throw-flag t))
|
||||
(unwind-protect
|
||||
(multiple-value-prog1 ,main-form
|
||||
(setf throw-flag nil))
|
||||
(multiple-value-prog1
|
||||
(if *compiler-break-enable*
|
||||
(handler-bind ((error #'invoke-debugger))
|
||||
,main-form)
|
||||
,main-form)
|
||||
(setf throw-flag nil))
|
||||
(when throw-flag ,error-form))))
|
||||
|
||||
(defun cmp-eval (form)
|
||||
|
|
@ -212,7 +216,7 @@
|
|||
(cmperr "The form ~s was not evaluated successfully.~
|
||||
~&You are recommended to compile again."
|
||||
form)))
|
||||
|
||||
|
||||
(defun cmp-macroexpand (form &optional (env *cmp-env*))
|
||||
(with-cmp-protection (macroexpand form env)
|
||||
(cmperr "The macro form ~S was not expanded successfully.~
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue