Change ^G interrupt handler to signal Emacs indicating that the
authorChris Hanson <org/chris-hanson/cph>
Sun, 22 Nov 1987 22:16:08 +0000 (22:16 +0000)
committerChris Hanson <org/chris-hanson/cph>
Sun, 22 Nov 1987 22:16:08 +0000 (22:16 +0000)
interrupt has been received.

v7/src/runtime/intrpt.scm

index d0bfe35172faca12a2718d42463329a3708c2400..b7e625471e730fdd2fc31e3b5f8cce66e21d5481 100644 (file)
@@ -1,6 +1,6 @@
 ;;; -*-Scheme-*-
 ;;;
-;;;    $Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/runtime/intrpt.scm,v 13.45 1987/11/17 20:10:00 jinx Exp $
+;;;    $Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/runtime/intrpt.scm,v 13.46 1987/11/22 22:16:08 cph Exp $
 ;;;
 ;;;    Copyright (c) 1987 Massachusetts Institute of Technology
 ;;;
       (lambda ()
        (breakpoint "^B interrupt" (rep-environment)))))))
 
-; (define ^S-interrupt-handler
-;   (keep-typeahead
-;    (lambda (interrupt-character interrupt-enables)
-;      (if (null? ^Q-Hook)
-;       (begin (set-interrupt-enables! interrupt-enables)
-;              (beep)
-;              (call-with-current-continuation
-;               (lambda (stop-^S-wait)
-;                 (fluid-let ((^Q-Hook Stop-^S-Wait))
-;                   (let busy-wait () (busy-wait))))))))))
-; 
-; (define ^Q-interrupt-handler
-;   (keep-typeahead
-;    (lambda (interrupt-character interrupt-enables)
-;      (if (not (null? ^Q-Hook))
-;       (begin (set-interrupt-enables! interrupt-enables)
-;              (^Q-Hook 'GO-ON))))))
-; 
-; (define ^P-interrupt-handler
-;   (flush-typeahead
-;    (lambda (interrupt-character interrupt-enables)
-;      (set-interrupt-enables! interrupt-enables)
-;      (proceed))))
-; 
-; (define ^Z-interrupt-handler
-;   (flush-typeahead
-;    (lambda (interrupt-character interrupt-enables)
-;      (set-interrupt-enables! interrupt-enables)
-;      (edit))))
-
 (define ^G-interrupt-handler
   (flush-typeahead
    (lambda (interrupt-character interrupt-enables)
+     (if ((access under-emacs? emacs-interface-package))
+        ((access transmit-signal emacs-interface-package) #\g))
      (abort-to-top-level-driver "Quit!"))))
 
 (define ^U-interrupt-handler
 (define (gc-out-of-space-handler . args)
   (abort-to-nearest-driver "Aborting! Out of memory"))
 \f
+#|
+(define ^S-interrupt-handler
+  (keep-typeahead
+   (lambda (interrupt-character interrupt-enables)
+     (if (null? ^Q-Hook)
+        (begin
+          (set-interrupt-enables! interrupt-enables)
+          (beep)
+          (call-with-current-continuation
+           (lambda (stop-^S-wait)
+             (fluid-let ((^Q-Hook Stop-^S-Wait))
+               (let busy-wait () (busy-wait))))))))))
+(define ^Q-interrupt-handler
+  (keep-typeahead
+   (lambda (interrupt-character interrupt-enables)
+     (if (not (null? ^Q-Hook))
+        (begin
+          (set-interrupt-enables! interrupt-enables)
+          (^Q-Hook 'GO-ON))))))
+(define ^P-interrupt-handler
+  (flush-typeahead
+   (lambda (interrupt-character interrupt-enables)
+     (set-interrupt-enables! interrupt-enables)
+     (proceed))))
+(define ^Z-interrupt-handler
+  (flush-typeahead
+   (lambda (interrupt-character interrupt-enables)
+     (set-interrupt-enables! interrupt-enables)
+     (edit))))
+|#
+\f
 (install-keyboard-interrupt! #\G ^G-interrupt-handler)
 (install-keyboard-interrupt! #\B ^B-interrupt-handler)
 ; (install-keyboard-interrupt! #\P ^P-interrupt-handler)