the repl now resets on receiving &interrupted conditions.

This commit is contained in:
Abdulaziz Ghuloum 2008-07-12 20:05:45 -07:00
parent 70f5375d6b
commit c3b12a22e8
6 changed files with 8 additions and 6 deletions

Binary file not shown.

View File

@ -76,7 +76,9 @@ description:
(lambda (con)
(flush-output-port (console-output-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 ()
(display-prompt 0)
(let ([x (my-read k)])

View File

@ -124,6 +124,8 @@
i/o-encoding-error? i/o-encoding-error-char
no-infinities-violation? make-no-infinities-violation
no-nans-violation? make-no-nans-violation
interrupted-condition? make-interrupted-condition
))
(define-record-type &condition

View File

@ -36,7 +36,6 @@
(define interrupt-handler
(make-parameter
(lambda ()
(import (ikarus system interrupts))
; FIXME
;(set-port-output-index! (console-output-port) 0)
(raise-continuable

View File

@ -1 +1 @@
1535
1536

View File

@ -269,7 +269,6 @@
[$stack (ikarus system $stack) #f #t]
[$interrupts (ikarus system $interrupts) #f #t]
[$io (ikarus system $io) #f #t]
[interrupts (ikarus system interrupts) #f #t]
[$all (psyntax system $all) #f #t]
[$boot (psyntax system $bootstrap) #f #t]
[ne (psyntax null-environment-5) #f #f]
@ -556,8 +555,8 @@
[$interrupted? $interrupts]
[$unset-interrupted! $interrupts]
[$swap-engine-counter! $interrupts]
[interrupted-condition? interrupts]
[make-interrupted-condition interrupts]
[interrupted-condition? i]
[make-interrupted-condition i]
[$apply-nonprocedure-error-handler ]
[$incorrect-args-error-handler ]
[$multiple-values-error ]