about summary refs log tree commit diff
diff options
context:
space:
mode:
authorDaniel Shahaf <d.s@daniel.shahaf.name>2016-05-09 22:16:03 +0000
committerDaniel Shahaf <d.s@daniel.shahaf.name>2016-05-10 18:38:40 +0000
commit1a8fb1cbb307c4b2f81b1d98a2095cda6e809401 (patch)
treebd72826a33459a6e354f1add71bdf38c468c217b
parentd41a866047c04c36fa04e6008522a78d45aa84ea (diff)
downloadzsh-1a8fb1cbb307c4b2f81b1d98a2095cda6e809401.tar.gz
zsh-1a8fb1cbb307c4b2f81b1d98a2095cda6e809401.tar.xz
zsh-1a8fb1cbb307c4b2f81b1d98a2095cda6e809401.zip
38452: _apt: Complete releases by codename ('jessie', 'sid', etc).
-rw-r--r--ChangeLog3
-rw-r--r--Completion/Debian/Command/_apt4
2 files changed, 6 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog
index 7c233a6c4..cc57c29da 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,8 @@
 2016-05-10  Daniel Shahaf  <d.s@daniel.shahaf.name>
 
+	* 38452: Completion/Debian/Command/_apt: Complete releases by
+	codename ('jessie', 'sid', etc).
+
 	* 38451: Completion/Debian/Command/_apt: Complete 'apt-get
 	download'.
 
diff --git a/Completion/Debian/Command/_apt b/Completion/Debian/Command/_apt
index d6429cb39..bde561a76 100644
--- a/Completion/Debian/Command/_apt
+++ b/Completion/Debian/Command/_apt
@@ -592,8 +592,10 @@ _apt_releases_update () {
   if ( [[ ${+_apt_releases} -eq 0 ]] ||
       _cache_invalid APT_releases ) && ! _retrieve_cache APT_releases;
   then
+    local -a tmp=("${(f)$(apt-cache policy)}")
     _apt_releases=(
-${${${${(M)${(f)"$(apt-cache policy)"}:#*release*}#*a=}%%,*}:#now}
+${${${${(M)tmp:#*release*}#*a=}%%,*}:#now}
+${${${${(M)tmp:#*release*n=*}#*n=}%%,*}:#now}
     )
     typeset -U _apt_releases
     _store_cache APT_releases _apt_releases