about summary refs log tree commit diff
diff options
context:
space:
mode:
authorDaniel Hahler <git@thequod.de>2015-05-19 08:25:38 +0200
committerDaniel Hahler <git@thequod.de>2015-05-19 08:50:42 +0200
commit8f6823b710dc69f2fad5d1a0158b3ba8b74840e3 (patch)
tree9e155735545d1a725d353118d85bc1b47fbc9f19
parented3e5f521d1243981831d7e084225b03e205ae38 (diff)
downloadzsh-8f6823b710dc69f2fad5d1a0158b3ba8b74840e3.tar.gz
zsh-8f6823b710dc69f2fad5d1a0158b3ba8b74840e3.tar.xz
zsh-8f6823b710dc69f2fad5d1a0158b3ba8b74840e3.zip
__git_commit_objects: do not use _guard, but only a pattern
With using `_guard` there like it's been done, the completion could not
be selected, probably because of the call to `_message` therein.

This changes it to use only the logic/check from `_guard` that we want
here.
-rw-r--r--ChangeLog3
-rw-r--r--Completion/Unix/Command/_git2
2 files changed, 4 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog
index f385ac3ae..f55552b4b 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -11,6 +11,9 @@
 	__git_recent_commits gets called twice for _git-checkout
 	(for __git_revisions and __git_tree_ishs).
 
+	* 35211: Completion/Unix/Command/_git: __git_commit_objects:
+	do not use _guard, but only a pattern for skipping.
+
 2015-05-19  Daniel Shahaf  <d.s@daniel.shahaf.name>
 
 	* users/20222: Completion/Unix/Command/_git: users/20222:
diff --git a/Completion/Unix/Command/_git b/Completion/Unix/Command/_git
index a0ec3434a..fb9cae1b6 100644
--- a/Completion/Unix/Command/_git
+++ b/Completion/Unix/Command/_git
@@ -5657,7 +5657,7 @@ __git_commit_objects () {
   declare -a commits
 
   # Abort if the argument does not match a commit hash (including empty).
-  _guard '[[:xdigit:]](#c,40)' || return 1
+  [[ "$PREFIX$SUFFIX" == [[:xdigit:]](#c1,40) ]] || return 1
 
   # Note: the after-the-colon part must be unique across the entire array;
   # see workers/34768