[Ecls-list] The dreaded embedded debugger

aaron at pageofswords.net aaron at pageofswords.net
Tue Feb 22 15:39:53 UTC 2011


>
> What does your *debugger-hook* function do? Just returning? This is not
> going to work at all. First try doing it in Common Lisp, then port the
> stuff
> to your program

Opps, it went:
(defun debug-ignore (c h) (declare (ignore h)) (print c) (abort))

I tried this as well
(defun debugger-stub (condition hook)
  (declare (ignore hook))
  (when (find-restart 'abort condition)
    (format *error-output* "~&~a~%   [Condition of type ~a]~%" condition
(type-of condition))
    (abort condition)))

Neither worked... and neither did running:
(block nil (handler-bind ((error #'(lambda (c) (return 2)))) (cos 'a)))

The behaviour is different in the ECL command line, as opposed to the
embedded ECL. In the command-line REPL, the error is ignored and ECL is
ready for more action.

However, in the embedded version, it says:
<snip>
VVVVFORMAT
Condition of type: UNDEFINED-FUNCTION
The function VVVVFORMAT is undefined.

No restarts available.

Top level in: #<process TOP-LEVEL>.
>
</snip>

Okay..., so there is no restart available, and no aborts either it would
seem. I don't even know what to type into the prompt to get it to continue
the execution. For example, typing
<snip>
> (abort)

Debugger received error of type: SIMPLE-CONTROL-ERROR
Restart ABORT is not active.
Error flushed.
>
</snip>

I went to try the ecl_read_from_cstring_safe(s,v) macro... what is the
value of v?

Thanks in advance






More information about the ecl-devel mailing list