From 4dab43ea76a93f6632ca2e43b326fcd7f1b73663 Mon Sep 17 00:00:00 2001 From: Chris Hanson Date: Sat, 7 Mar 1987 17:36:00 +0000 Subject: [PATCH] When doing (read-char) from the terminal, check for any characters in the input buffer before asking Emacs to read one. --- v7/src/runtime/emacs.scm | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/v7/src/runtime/emacs.scm b/v7/src/runtime/emacs.scm index efeb59ad4..4a85891ae 100644 --- a/v7/src/runtime/emacs.scm +++ b/v7/src/runtime/emacs.scm @@ -1,6 +1,6 @@ ;;; -*-Scheme-*- ;;; -;;; $Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/runtime/emacs.scm,v 13.41 1987/01/23 00:11:34 jinx Exp $ +;;; $Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/runtime/emacs.scm,v 13.42 1987/03/07 17:36:00 cph Exp $ ;;; ;;; Copyright (c) 1987 Massachusetts Institute of Technology ;;; @@ -88,7 +88,7 @@ (with-output-to-string (lambda () (write object)))) - + (define (emacs-read-char-immediate) (define (loop) (let ((char (primitive-read-char-immediate))) @@ -97,9 +97,13 @@ (begin (emacs-read-finish) char)))) (emacs-read-start) - (transmit-signal-without-gc #\c) + (if (not (primitive-read-char-ready? 0)) + (transmit-signal-without-gc #\c)) (loop)) +(define primitive-read-char-ready? + (make-primitive-procedure 'TTY-READ-CHAR-READY?)) + (define primitive-read-char-immediate (make-primitive-procedure 'TTY-READ-CHAR-IMMEDIATE)) @@ -163,5 +167,4 @@ (install!) ;;; end EMACS-INTERFACE-PACKAGE -)) )) \ No newline at end of file -- 2.25.1