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>