summaryrefslogtreecommitdiff
path: root/lisp/simple.el
diff options
context:
space:
mode:
Diffstat (limited to 'lisp/simple.el')
-rw-r--r--lisp/simple.el15
1 files changed, 15 insertions, 0 deletions
diff --git a/lisp/simple.el b/lisp/simple.el
index a757876328b..17697f9be2b 100644
--- a/lisp/simple.el
+++ b/lisp/simple.el
@@ -8718,6 +8718,21 @@ to capitalize ARG words."
(capitalize-region (region-beginning) (region-end))
(capitalize-word arg)))
+(defvar external-standard-input-pushback nil
+ "Pushback character for `external-standard-input'.")
+
+(defun external-standard-input (&optional char)
+ "Read a character from the system standard input.
+
+If CHAR is non-nil, then do not read but return CHAR
+on the next invocation."
+ (if char
+ (setq external-standard-input-pushback char)
+ (if (eq nil external-standard-input-pushback)
+ (external-standard-input-read-char)
+ (let ((rtn external-standard-input-pushback))
+ (setq external-standard-input-pushback nil)
+ rtn))))
(provide 'simple)