summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Completion/Debian/Type/_deb_packages4
1 files changed, 3 insertions, 1 deletions
diff --git a/Completion/Debian/Type/_deb_packages b/Completion/Debian/Type/_deb_packages
index dea50cfdc..74b151844 100644
--- a/Completion/Debian/Type/_deb_packages
+++ b/Completion/Debian/Type/_deb_packages
@@ -71,8 +71,10 @@ _deb_packages_update_uninstalled () {
_deb_packages_update_avail
_deb_packages_update_installed
if (( ! $+_deb_packages_cache_uninstalled )); then
+ # Package lists too large to efficiently diff with zsh expansion
_deb_packages_cache_uninstalled=(
- ${_deb_packages_cache_avail:#${(j:|:)~${_deb_packages_cache_installed:q}}}
+ $( print -l $_deb_packages_cache_avail |
+ fgrep -xvf =(print -l $_deb_packages_cache_installed) )
)
fi
cachevar=_deb_packages_cache_uninstalled