mirror of
https://git.savannah.gnu.org/git/guile.git
synced 2025-04-30 03:40:34 +02:00
ctrl-d with readline exits one recursive repl instance
* module/ice-9/buffered-input.scm (make-buffered-input-port): Instead of always returning EOF once EOF is seen once, call the producer again. Allows Ctrl-D to cause one EOF at the REPL, returning once from a recursive edit, but input continues normally. Thanks to Andrew Bagdanov for a clue that led to the fix.
This commit is contained in:
parent
dbb39d9c8b
commit
2f26a2266a
2 changed files with 5 additions and 1 deletions
1
THANKS
1
THANKS
|
@ -21,6 +21,7 @@ Contributors since the last release:
|
||||||
For fixes or providing information which led to a fix:
|
For fixes or providing information which led to a fix:
|
||||||
|
|
||||||
David Allouche
|
David Allouche
|
||||||
|
Andrew Bagdanov
|
||||||
Martin Baulig
|
Martin Baulig
|
||||||
Fabrice Bauzac
|
Fabrice Bauzac
|
||||||
Sylvain Beucler
|
Sylvain Beucler
|
||||||
|
|
|
@ -64,7 +64,10 @@ with @var{continuation?} set to @code{#t}."
|
||||||
(lambda ()
|
(lambda ()
|
||||||
(cond
|
(cond
|
||||||
((eof-object? read-string)
|
((eof-object? read-string)
|
||||||
read-string)
|
(let ((eof read-string))
|
||||||
|
(set! read-string "")
|
||||||
|
(set! string-index -1)
|
||||||
|
eof))
|
||||||
((>= string-index (string-length read-string))
|
((>= string-index (string-length read-string))
|
||||||
(set! string-index -1)
|
(set! string-index -1)
|
||||||
(get-character))
|
(get-character))
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue