Fix a bug of height range with -1 or -0 (#3226)

Fixed a bug that when both heightUnknown and deferred are true, deferred is not properly reset and the program terminates abnormally.

Co-authored-by: Junegunn Choi <junegunn.c@gmail.com>
This commit is contained in:
tyama711 2023-04-02 23:26:13 +09:00 committed by GitHub
parent 025aa33773
commit fb019d43bf
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 8 additions and 0 deletions

View File

@ -219,6 +219,7 @@ func Run(opts *Options, version string, revision string) {
determine := func(final bool) {
if heightUnknown {
if total >= maxFit || final {
deferred = false
heightUnknown = false
terminal.startChan <- fitpad{util.Min(total, maxFit), padHeight}
}

View File

@ -2716,6 +2716,13 @@ class TestGoFZF < TestBase
assert(lines.any? { _1.include?('only match') })
end
end
def test_height_range_with_exit_0
tmux.send_keys "seq 10 | #{FZF} --height ~10% --exit-0", :Enter
tmux.until { |lines| assert_equal 10, lines.item_count }
tmux.send_keys :c
tmux.until { |lines| assert_equal 0, lines.match_count }
end
end
module TestShell