zsh-workers
 help / color / mirror / code / Atom feed
* [PATCH] _subversion: Don't cache an empty commands list when svn is not available at the first invocation of _svn.
@ 2017-07-25 14:11 Daniel Shahaf
  0 siblings, 0 replies; only message in thread
From: Daniel Shahaf @ 2017-07-25 14:11 UTC (permalink / raw)
  To: zsh-workers

---
This affects the following use-case:

% svn <TAB><prints "No matches">^C
% ${PACKAGEMANAGER} install subversion
% svn <TAB>

Before the patch it would cache the "No matches", with the patch it invokes svn
again.

Cheers,

Daniel

 Completion/Unix/Command/_subversion | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/Completion/Unix/Command/_subversion b/Completion/Unix/Command/_subversion
index 640c88950..2f6b567ac 100644
--- a/Completion/Unix/Command/_subversion
+++ b/Completion/Unix/Command/_subversion
@@ -36,7 +36,12 @@ _svn () {
       _svn_cmds=(
 	${=${(f)${${"$(_comp_locale; _call_program commands svn help)"#l#*Available subcommands:}%%Subversion is a tool*}}/(#s)[[:space:]]#(#b)([a-z]##)[[:space:]]#(\([a-z, ?]##\))#/$match[1] :$match[1]${match[2]:+:${${match[2]//[(),]}// /:}}:}
       )
-      _store_cache svn-cmds _svn_cmds
+      if (( $? == 0 )); then
+        _store_cache svn-cmds _svn_cmds
+      else
+        # Ensure we enter this block again on the next <TAB>.
+        unset _svn_cmds
+      fi
     fi
   fi
 


^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2017-07-25 14:11 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-07-25 14:11 [PATCH] _subversion: Don't cache an empty commands list when svn is not available at the first invocation of _svn Daniel Shahaf

Code repositories for project(s) associated with this public inbox

	https://git.vuxu.org/mirror/zsh/

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).