more on `port-commit-peeked' and EOFs
Continues/fixes commit 4c3dd00d49
.
This commit is contained in:
parent
1efc894ada
commit
87d24ece78
|
@ -42,7 +42,8 @@
|
||||||
(test eof peek-char p)
|
(test eof peek-char p)
|
||||||
(test eof read-char p)
|
(test eof read-char p)
|
||||||
(test #f sync/timeout 0 progress-evt5)
|
(test #f sync/timeout 0 progress-evt5)
|
||||||
(test #f port-commit-peeked 1 progress-evt5 always-evt p)))))))
|
;; it happens that a commit of EOF succeeds for tested ports:
|
||||||
|
(test #t port-commit-peeked 1 progress-evt5 always-evt p)))))))
|
||||||
|
|
||||||
(test-hello-port (open-input-string "hello") #f)
|
(test-hello-port (open-input-string "hello") #f)
|
||||||
(test-hello-port (open-input-string "hello") #t)
|
(test-hello-port (open-input-string "hello") #t)
|
||||||
|
|
|
@ -2325,9 +2325,11 @@ intptr_t scheme_get_byte_string_unless(const char *who,
|
||||||
unless_evt = SCHEME_PTR2_VAL(unless_evt);
|
unless_evt = SCHEME_PTR2_VAL(unless_evt);
|
||||||
|
|
||||||
if (ip->pending_eof > 1) {
|
if (ip->pending_eof > 1) {
|
||||||
ip->pending_eof = 1;
|
if (!peek) {
|
||||||
if (ip->progress_evt)
|
ip->pending_eof = 1;
|
||||||
post_progress(ip);
|
if (ip->progress_evt)
|
||||||
|
post_progress(ip);
|
||||||
|
}
|
||||||
gc = EOF;
|
gc = EOF;
|
||||||
} else {
|
} else {
|
||||||
/* Call port's get or peek function. But first, set up
|
/* Call port's get or peek function. But first, set up
|
||||||
|
|
Loading…
Reference in New Issue
Block a user