diff --git a/scsh/event.scm b/scsh/event.scm index e03c2f8..8a9c855 100644 --- a/scsh/event.scm +++ b/scsh/event.scm @@ -35,16 +35,15 @@ ;Initialize the system. (define (install-event-handlers!) (let loop ((count 0)) - (if (< count interrupt-count) - (let ((old-handler (vector-ref (interrupt-handlers-vector) count))) - (set-interrupt-handler - count - (lambda stuff - (register-interrupt count) - (apply old-handler stuff))) + (if (< count (number-of-interrupts)) + (begin + ;we're not interested in the setter-function here: + (low-interrupt-register + count + (lambda (enabled-interrupts) + (register-interrupt count))) (loop (+ count 1)))))) - ;;; extensions by JMG ;;; takes list of interrupt/xxx's