about summary refs log tree commit diff
path: root/Completion/Core
diff options
context:
space:
mode:
authorTanaka Akira <akr@users.sourceforge.net>2000-03-23 23:59:08 +0000
committerTanaka Akira <akr@users.sourceforge.net>2000-03-23 23:59:08 +0000
commit993db7cf0267b4d9c7f8faaa40af8948ba26a2e2 (patch)
treea7124bd5d1ce193f582e10873b229cc0b3214507 /Completion/Core
parent2b38f6f4e5b78c26ae617dfe6974a2de98d1e455 (diff)
downloadzsh-993db7cf0267b4d9c7f8faaa40af8948ba26a2e2.tar.gz
zsh-993db7cf0267b4d9c7f8faaa40af8948ba26a2e2.tar.xz
zsh-993db7cf0267b4d9c7f8faaa40af8948ba26a2e2.zip
zsh-workers/10210
Diffstat (limited to 'Completion/Core')
-rw-r--r--Completion/Core/_main_complete17
-rw-r--r--Completion/Core/compinit3
2 files changed, 15 insertions, 5 deletions
diff --git a/Completion/Core/_main_complete b/Completion/Core/_main_complete
index fedea9b51..244f06b7e 100644
--- a/Completion/Core/_main_complete
+++ b/Completion/Core/_main_complete
@@ -19,7 +19,7 @@
 setopt localoptions nullglob rcexpandparam extendedglob
 unsetopt markdirs globsubst shwordsplit nounset ksharrays
 
-local ctxt post ret=1 tmp _compskip format _comp_ignore \
+local ctxt func funcs ret=1 tmp _compskip format _comp_ignore \
       _completers _completer _completer_num curtag \
       _matchers _matcher _matcher_num _comp_tags \
       context state line opt_args val_args curcontext="$curcontext" \
@@ -68,6 +68,14 @@ _last_menu_style=()
 _completers=( "$@" )
 _completer_num=1
 
+# Call the pre-functions.
+
+funcs=( "$compprefuncs[@]" )
+compprefuncs=()
+for func in "$funcs[@]"; do
+  "$func"
+done
+
 for _completer; do
   ctxt=":completion:${curcontext/::/:${_completer[2,-1]}-${(M)#_completers[1,_completer_num]:#$_completer}:}:"
 
@@ -190,10 +198,11 @@ fi
 
 # Now call the post-functions.
 
-for post in "$comppostfuncs[@]"; do
-  "$post"
-done
+funcs=( "$comppostfuncs[@]" )
 comppostfuncs=()
+for func in "$funcs[@]"; do
+  "$func"
+done
 
 _lastcomp=( "${(@kv)compstate}" )
 _lastcomp[completer]="$_completer"
diff --git a/Completion/Core/compinit b/Completion/Core/compinit
index a421c2d8d..014729e90 100644
--- a/Completion/Core/compinit
+++ b/Completion/Core/compinit
@@ -98,9 +98,10 @@ else
   _comp_dumpfile="${ZDOTDIR:-$HOME}/.zcompdump"
 fi
 
-# This can hold names of functions that are to be called after all
+# These can hold names of functions that are to be called before/after all
 # matches have been generated.
 
+compprefuncs=()
 comppostfuncs=()
 
 # Loading it now ensures that the `funcstack' parameter is always correct.