summary refs log tree commit diff
path: root/Completion
diff options
context:
space:
mode:
authorDaniel Shahaf <d.s@daniel.shahaf.name>2017-07-25 14:11:49 +0000
committerDaniel Shahaf <d.s@daniel.shahaf.name>2017-07-28 15:42:42 +0000
commit4015f3cf5d5ab0c339472cf6201dab7ff5285057 (patch)
tree9ca4b1c3dfc49241c1d75e4972ce329409af88e7 /Completion
parentd4b94b5e8388c744a1d879fecb5af957b170c4c1 (diff)
downloadzsh-4015f3cf5d5ab0c339472cf6201dab7ff5285057.tar.gz
zsh-4015f3cf5d5ab0c339472cf6201dab7ff5285057.tar.xz
zsh-4015f3cf5d5ab0c339472cf6201dab7ff5285057.zip
41458: _subversion: Don't cache an empty commands list when svn is not available at the first invocation of _svn.
Diffstat (limited to 'Completion')
-rw-r--r--Completion/Unix/Command/_subversion7
1 files changed, 6 insertions, 1 deletions
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