the repl now resets on receiving &interrupted conditions.
This commit is contained in:
parent
70f5375d6b
commit
c3b12a22e8
Binary file not shown.
|
@ -76,7 +76,9 @@ description:
|
||||||
(lambda (con)
|
(lambda (con)
|
||||||
(flush-output-port (console-output-port))
|
(flush-output-port (console-output-port))
|
||||||
(display "Unhandled exception\n" (console-error-port))
|
(display "Unhandled exception\n" (console-error-port))
|
||||||
(print-condition con (console-error-port)))
|
(print-condition con (console-error-port))
|
||||||
|
(when (interrupted-condition? con)
|
||||||
|
(raise-continuable con)))
|
||||||
(lambda ()
|
(lambda ()
|
||||||
(display-prompt 0)
|
(display-prompt 0)
|
||||||
(let ([x (my-read k)])
|
(let ([x (my-read k)])
|
||||||
|
|
|
@ -124,6 +124,8 @@
|
||||||
i/o-encoding-error? i/o-encoding-error-char
|
i/o-encoding-error? i/o-encoding-error-char
|
||||||
no-infinities-violation? make-no-infinities-violation
|
no-infinities-violation? make-no-infinities-violation
|
||||||
no-nans-violation? make-no-nans-violation
|
no-nans-violation? make-no-nans-violation
|
||||||
|
|
||||||
|
interrupted-condition? make-interrupted-condition
|
||||||
))
|
))
|
||||||
|
|
||||||
(define-record-type &condition
|
(define-record-type &condition
|
||||||
|
|
|
@ -36,7 +36,6 @@
|
||||||
(define interrupt-handler
|
(define interrupt-handler
|
||||||
(make-parameter
|
(make-parameter
|
||||||
(lambda ()
|
(lambda ()
|
||||||
(import (ikarus system interrupts))
|
|
||||||
; FIXME
|
; FIXME
|
||||||
;(set-port-output-index! (console-output-port) 0)
|
;(set-port-output-index! (console-output-port) 0)
|
||||||
(raise-continuable
|
(raise-continuable
|
||||||
|
|
|
@ -1 +1 @@
|
||||||
1535
|
1536
|
||||||
|
|
|
@ -269,7 +269,6 @@
|
||||||
[$stack (ikarus system $stack) #f #t]
|
[$stack (ikarus system $stack) #f #t]
|
||||||
[$interrupts (ikarus system $interrupts) #f #t]
|
[$interrupts (ikarus system $interrupts) #f #t]
|
||||||
[$io (ikarus system $io) #f #t]
|
[$io (ikarus system $io) #f #t]
|
||||||
[interrupts (ikarus system interrupts) #f #t]
|
|
||||||
[$all (psyntax system $all) #f #t]
|
[$all (psyntax system $all) #f #t]
|
||||||
[$boot (psyntax system $bootstrap) #f #t]
|
[$boot (psyntax system $bootstrap) #f #t]
|
||||||
[ne (psyntax null-environment-5) #f #f]
|
[ne (psyntax null-environment-5) #f #f]
|
||||||
|
@ -556,8 +555,8 @@
|
||||||
[$interrupted? $interrupts]
|
[$interrupted? $interrupts]
|
||||||
[$unset-interrupted! $interrupts]
|
[$unset-interrupted! $interrupts]
|
||||||
[$swap-engine-counter! $interrupts]
|
[$swap-engine-counter! $interrupts]
|
||||||
[interrupted-condition? interrupts]
|
[interrupted-condition? i]
|
||||||
[make-interrupted-condition interrupts]
|
[make-interrupted-condition i]
|
||||||
[$apply-nonprocedure-error-handler ]
|
[$apply-nonprocedure-error-handler ]
|
||||||
[$incorrect-args-error-handler ]
|
[$incorrect-args-error-handler ]
|
||||||
[$multiple-values-error ]
|
[$multiple-values-error ]
|
||||||
|
|
Loading…
Reference in New Issue