summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog6
-rw-r--r--Completion/Unix/Command/_subversion7
2 files changed, 12 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog
index b0dcb7e44..609cf1c22 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2017-07-28 Daniel Shahaf <d.s@daniel.shahaf.name>
+
+ * 41458: Completion/Unix/Command/_subversion: Don't cache an
+ empty commands list when svn is not available at the first
+ invocation of _svn.
+
2017-07-26 Peter Stephenson <p.stephenson@samsung.com>
* 41464, 41466 (modified): Doc/Zsh/builtins.yo,
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