You can recover cleanly either by typing :pop, or (equivalently, I
think) Ctrl-d (in a shell) or C-c C-d (in an inferior common lisp
buffer in emacs). I always do the latter when I don't care about
the restarts (9 times out of 10).
Andras
On 17 Oct 2003, Edi Weitz wrote:
> Hi!
>
> If a reader error occurs in the REPL the only available restart is
> "Abort entirely from this process." Is that expected behaviour? The
> other implementations I tried all offer one or more ways to recover
> cleanly - at least you're not forced to completely quit the Lisp
> image.
>
> [AllegroCL 6.2 trial on Linux x86]
>
> Thanks,
> Edi.
>
>
> <bird:~ at edi> > alisp
> WARNING: !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
> WARNING: Allegro CL will expire in 23 days.
> WARNING: !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
> ; Fast loading /usr/local/lisp/defsystem.acl.fasl
> ; Fast loading /usr/local/lisp/asdf.acl.fasl
> International Allegro CL Trial Edition
> 6.2 [Linux (x86)] (Sep 12, 2003 1:39)
> Copyright (C) 1985-2002, Franz Inc., Berkeley, CA, USA. All Rights Reserved.
>
> This development copy of Allegro CL is licensed to:
> Dr. Edmund Weitz, self-employed
>
> ;; Optimization settings: safety 1, space 1, speed 1, debug 2.
> ;; For a complete description of all compiler switches given the
> ;; current optimization settings evaluate (EXPLAIN-COMPILER-SETTINGS).
> CL-USER(1): (* #.(/ 3 0) 4)
>
> Error: Attempt to divide 3 by zero.
> [condition type: DIVISION-BY-ZERO]
>
> Restart actions (select using :continue):
> 0: Abort entirely from this process.
> [1] CL-USER(2): :continue 0
> <bird:~ at edi> > lw
> LispWorks(R): The Common Lisp Programming Environment
> Copyright (C) 1987-2002 Xanalys LLC. All rights reserved.
> Version 4.2.7
> Saved by edi as lw-ilisp-capi, at 04 Oct 2002 0:52
> User edi on bird.agharta.de
> ; Loading text file /usr/local/lib/LispWorks/lib/4-2-0-0/config/siteinit.lisp
> ; Loading text file /usr/local/lib/LispWorks/lib/4-2-0-0/private-patches/load.lisp
> ; Loading text file /home/edi/.lispworks
> ; Loading fasl file /usr/local/lib/LispWorks/defsystem.ufsl
> ; Loading text file /usr/local/lisp/asdf.lisp
> ; Loading /usr/local/lib/LispWorks/lib/4-2-0-0/modules/concat/xp-fancyformat.ufsl on demand...
>
> CL-USER 1 > (* #.(/ 3 0) 4)
>
> Error: Division-by-zero caused by / of (3 0).
> 1 (continue) Return a value to use.
> 2 Supply new arguments to use.
> 3 (abort) Return to level 0.
> 4 Return to top-level loop.
> 5 Return from multiprocessing.
>
> Type :b for backtrace, :c <option number> to proceed, or :? for other options
>
> CL-USER 1 : 1 > :c
>
> Supply a form to be evaluated and used: 2
> 8
>