summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJunegunn Choi <junegunn.c@gmail.com>2024-04-25 16:42:13 +0900
committerJunegunn Choi <junegunn.c@gmail.com>2024-04-25 16:49:06 +0900
commitfddbfe7b0ed01fe9c23950e0e9eaf1f576c0eecd (patch)
tree158b6ddd04537bbf2d79ea0550955ac9d12dc4b8
parent4ab7fdc28e06b73e3f4e0054a18a377db5079396 (diff)
Fix 'reload' not terminating closed standard input stream
Fix #3750
-rw-r--r--src/reader.go2
-rwxr-xr-xtest/test_go.rb5
2 files changed, 6 insertions, 1 deletions
diff --git a/src/reader.go b/src/reader.go
index a7e002c0..82648a68 100644
--- a/src/reader.go
+++ b/src/reader.go
@@ -147,7 +147,7 @@ func (r *Reader) feed(src io.Reader) {
}
// We're not making any progress after 100 tries. Stop.
- if n == 0 && err == nil {
+ if n == 0 {
break
}
diff --git a/test/test_go.rb b/test/test_go.rb
index 537a9bd4..ba067997 100755
--- a/test/test_go.rb
+++ b/test/test_go.rb
@@ -1955,6 +1955,11 @@ class TestGoFZF < TestBase
tmux.until { |lines| assert_equal 10, lines.item_count }
end
+ def test_reload_should_terminate_stadard_input_stream
+ tmux.send_keys %(ruby -e "STDOUT.sync = true; loop { puts 1; sleep 0.1 }" | fzf --bind 'start:reload(seq 100)'), :Enter
+ tmux.until { |lines| assert_equal 100, lines.item_count }
+ end
+
def test_clear_list_when_header_lines_changed_due_to_reload
tmux.send_keys %(seq 10 | #{FZF} --header 0 --header-lines 3 --bind 'space:reload(seq 1)'), :Enter
tmux.until { |lines| assert_includes lines, ' 9' }