diff options
| author | Bart Schaefer <barts@users.sourceforge.net> | 2001-04-27 03:20:59 +0000 |
|---|---|---|
| committer | Bart Schaefer <barts@users.sourceforge.net> | 2001-04-27 03:20:59 +0000 |
| commit | a509b259f889404b3c821a19243ebde19d582aaf (patch) | |
| tree | ac8d568fb52c62bab09826b77b43141bdf06d74e /Completion/Base/Completer | |
| parent | 14125: remove static incleanup flag because it is unused (diff) | |
| download | zsh-a509b259f889404b3c821a19243ebde19d582aaf.tar zsh-a509b259f889404b3c821a19243ebde19d582aaf.tar.gz zsh-a509b259f889404b3c821a19243ebde19d582aaf.tar.bz2 zsh-a509b259f889404b3c821a19243ebde19d582aaf.tar.lz zsh-a509b259f889404b3c821a19243ebde19d582aaf.tar.xz zsh-a509b259f889404b3c821a19243ebde19d582aaf.tar.zst zsh-a509b259f889404b3c821a19243ebde19d582aaf.zip | |
Use trap for unfunction compadd in _approximate.
Diffstat (limited to 'Completion/Base/Completer')
| -rw-r--r-- | Completion/Base/Completer/_approximate | 6 |
1 files changed, 2 insertions, 4 deletions
diff --git a/Completion/Base/Completer/_approximate b/Completion/Base/Completer/_approximate index 0b64db593..6e094cd45 100644 --- a/Completion/Base/Completer/_approximate +++ b/Completion/Base/Completer/_approximate @@ -10,7 +10,7 @@ [[ _matcher_num -gt 1 || "${#:-$PREFIX$SUFFIX}" -le 1 ]] && return 1 -local _comp_correct _correct_expl comax cfgacc redef match +local _comp_correct _correct_expl comax cfgacc match local oldcontext="${curcontext}" opm="$compstate[pattern_match]" if [[ "$1" = -a* ]]; then @@ -48,7 +48,6 @@ _tags corrections original # ignored prefix). if (( ! $+functions[compadd] )); then - redef=yes compadd() { [[ ${argv[(I)-[a-zA-Z]#U[a-zA-Z]#]} -eq 0 && "${#:-$PREFIX$SUFFIX}" -le _comp_correct ]] && return @@ -61,6 +60,7 @@ if (( ! $+functions[compadd] )); then # fi builtin compadd "$_correct_expl[@]" "$@" } + trap 'unfunction compadd' EXIT INT fi _comp_correct=1 @@ -92,7 +92,6 @@ while [[ _comp_correct -le comax ]]; do [[ "$compstate[list]" != list* ]] && compstate[list]="$compstate[list] force" fi - [[ -n "$redef" ]] && unfunction compadd compstate[pattern_match]="$opm" return 0 @@ -102,7 +101,6 @@ while [[ _comp_correct -le comax ]]; do (( _comp_correct++ )) done -[[ -n "$redef" ]] && unfunction compadd compstate[pattern_match]="$opm" return 1 |
