Ctrl-C in printer exits Ikarus
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Ikarus Scheme |
Fix Committed
|
Low
|
Abdulaziz Ghuloum |
Bug Description
While in the Eval stage of the REPL, Ctrl-C stops evaluation and returns you to the Ikarus prompt. On the other hand, while in the Read or Print stages of the REPL, Ctrl-C exits Ikarus.
Instead Ctrl-C while in the Print stage should simply return to the Ikarus prompt (Eval and Read should keep their current behavior).
As it is now:
$ ikarus
Ikarus Scheme version 0.0.3+ (revision 1692, build 2008-11-25)
Copyright (c) 2006-2008 Abdulaziz Ghuloum
> (define x (make-vector #x10FFFF))
> x
#(0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
...
<User types Ctrl-C>
Unhandled exception:
Condition components:
1. &interrupted
2. &message: "received an interrupt signal"
$ # <-- shell prompt
As it should be:
$ ikarus
Ikarus Scheme version 0.0.3+ (revision 1692, build 2008-11-25)
Copyright (c) 2006-2008 Abdulaziz Ghuloum
> (define x (make-vector #x10FFFF))
> x
#(0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
...
<User types Ctrl-C>
Unhandled exception
Condition components:
1. &interrupted
2. &message: "received an interrupt signal"
> ;; <--- ikarus prompt
Related branches
Changed in ikarus: | |
status: | In Progress → Fix Committed |
Changed in ikarus: | |
milestone: | none → 0.0.4 |
I fixed it in 1696, but I don't like it. There are some tiny areas where condition handlers are switched and where ikarus would exit if interrupted. The code needs to be revisited, so, marking in-progress.