Skip to content

Commit

Permalink
Bash completion variable leak fixes (#1352)
Browse files Browse the repository at this point in the history
Fixes bash variables leaking into the parent shell without `local`
  • Loading branch information
scop authored Feb 18, 2021
1 parent b55fa79 commit eb3b639
Showing 1 changed file with 3 additions and 1 deletion.
4 changes: 3 additions & 1 deletion bash_completions.go
Original file line number Diff line number Diff line change
Expand Up @@ -384,7 +384,7 @@ func writePostscript(buf io.StringWriter, name string) {
name = strings.Replace(name, ":", "__", -1)
WriteStringAndCheck(buf, fmt.Sprintf("__start_%s()\n", name))
WriteStringAndCheck(buf, fmt.Sprintf(`{
local cur prev words cword
local cur prev words cword split
declare -A flaghash 2>/dev/null || :
declare -A aliashash 2>/dev/null || :
if declare -F _init_completion >/dev/null 2>&1; then
Expand All @@ -400,11 +400,13 @@ func writePostscript(buf io.StringWriter, name string) {
local flags_with_completion=()
local flags_completion=()
local commands=("%[1]s")
local command_aliases=()
local must_have_one_flag=()
local must_have_one_noun=()
local has_completion_function
local last_command
local nouns=()
local noun_aliases=()
__%[1]s_handle_word
}
Expand Down

0 comments on commit eb3b639

Please sign in to comment.