Fix infinite recursion in readline completer

This commit is contained in:
Kovid Goyal
2025-08-16 06:55:39 +05:30
parent e156a33543
commit a28e9a0146

View File

@@ -113,7 +113,7 @@ func (self *Readline) complete(forwards bool, repeat_count uint) bool {
self.input_state.lines[self.input_state.cursor.Y] += al[0]
self.input_state.lines = append(self.input_state.lines, al[1:]...)
}
if c.current.num_of_matches == 1 && self.AllText() == all_text_before_completion {
if c.current.num_of_matches == 1 && self.AllText() == all_text_before_completion && repeat_count > 0 {
// when there is only a single match and it has already been inserted there is no point iterating over current completions
orig := self.last_action
self.last_action = ActionNil