about summary refs log tree commit diff
path: root/Completion/Debian
diff options
context:
space:
mode:
authorBart Schaefer <barts@users.sourceforge.net>2011-02-11 04:04:49 +0000
committerBart Schaefer <barts@users.sourceforge.net>2011-02-11 04:04:49 +0000
commit7e9b82879d27d6f51abb548f1d357bb9330a8992 (patch)
treef4ccbfacf04d30cff7907383ee2ae68fb2640761 /Completion/Debian
parent90b83e028aa52bbb3efeff8dec38e6320f073d7d (diff)
downloadzsh-7e9b82879d27d6f51abb548f1d357bb9330a8992.tar.gz
zsh-7e9b82879d27d6f51abb548f1d357bb9330a8992.tar.xz
zsh-7e9b82879d27d6f51abb548f1d357bb9330a8992.zip
28710 use fgrep -v to diff package lists
Diffstat (limited to 'Completion/Debian')
-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