about summary refs log tree commit diff
path: root/Completion/Unix
diff options
context:
space:
mode:
Diffstat (limited to 'Completion/Unix')
-rw-r--r--Completion/Unix/Command/_tar8
1 files changed, 7 insertions, 1 deletions
diff --git a/Completion/Unix/Command/_tar b/Completion/Unix/Command/_tar
index b3a590d72..e8b400669 100644
--- a/Completion/Unix/Command/_tar
+++ b/Completion/Unix/Command/_tar
@@ -21,7 +21,13 @@ local _tar_cmd tf tmp tmpb del index
 # from some of the possible long options, and from the second word if
 # that does not start with a hyphen.
 
-_pick_variant gnu=GNU unix --version
+if _pick_variant gnu=GNU unix --version; then
+  case "$($service --version)" in
+    (tar \(GNU tar\) (#b)([0-9.-]##)*)
+    is_at_least 1.14.91 "$match[1]" || _cmd_variant[$service]="gnu-old"
+    ;;
+  esac
+fi
 
 tmp=("${(@M)words:#-[^-]*}")
 _tar_cmd="${(j::)tmp#-}"