I have fixed the function that is invoked when a Ctrl-C arrives to the program. With that change, and a modified program, your expectations should be met :-)<br><br>The program:<br><br>(format t "~%Let's read~%")<br>
(let ((line nil))<br> (restart-case<br> (setf line (read-line)) ; IO sleep<br> (my-restart ()<br> (format t "~%ABORTING!")<br> (ext:quit)))<br> (format t "~%Line: ~S" line))<br>(ext:quit)<br>
<br>Building it:<br>$ ecl -norc -eval '(require :cmp)' -eval '(c::build-program "program" :lisp-files (list (compile-file "foo" :system-p t)))' -eval '(quit)'<br><br>A sample session:<br clear="all">
$ ./program <br><br>Let's read<br> ^C ^C<br>Condition of type: INTERACTIVE-INTERRUPT<br>Console interrupt<br>Available restarts:<br><br>1. (CONTINUE) CONTINUE<br>2. (MY-RESTART) MY-RESTART<br><br>Top level in: #<process TOP-LEVEL>.<br>
> :r1<br>The line typed again<br><br>Line: "The line typed again"<br><br>Can I consider this to be fixed?<br><br>-- <br>Instituto de Física Fundamental, CSIC<br>c/ Serrano, 113b, Madrid 28006 (Spain) <br><a href="http://juanjose.garciaripoll.googlepages.com" target="_blank">http://juanjose.garciaripoll.googlepages.com</a><br>