Joey Hess wrote on Fri, 16 Aug 2019 18:35 +00:00: > By default zsh loads completions from /usr/share/zsh/site-functions > and while the name of that is perhaps not great, as it's not > site-specific[1], it's a standard location. Debian has overridden this, > so zsh does not look there, but instead in > /usr/share/zsh/vendor-functions and /usr/share/zsh/vendor-completions ... > The rationalle for the change in #620452 seems too weak to justify this > added complexity. zsh could at least continue looking in the default > location as well as whatever other locations Debian wants to patch in.
Let's see: $ /usr/bin/zsh -fc 'print -rl $fpath' | head -3 # that's the Debian package, 5.7.1-1 /usr/local/share/zsh/site-functions /usr/share/zsh/vendor-functions /usr/share/zsh/vendor-completions $ /srv/zsh/bin/zsh -fc 'print -rl $fpath' | head -3 # that's zsh compiled from upstream with --prefix=/srv/zsh /usr/local/share/zsh/site-functions /srv/zsh/share/zsh/site-functions /srv/zsh/share/zsh/5.6.2-test-2/functions $ So /usr/local/share/zsh/site-functions is still there for stuff installed by the administrator, and vendor-functions and vendor-completions are added in there for stuff provided by other Debian packages. Are you just asking to re-add ${PREFIX:-/usr}/share/zsh/site-functions there, presumably between the first and second elements? On the one hand, it _would_ be consistent with upstream, but on the other hand, nobody should be putting anything in a site-functions directory under /usr/share (admins should be putting their customizations in /usr/local/share; other Debian packages should be putting their stuff in vendor-functions or vendor-completions). I don't have a strong opinion on this, so I'll defer to others to make the call. I suppose that if we add this, we should also add ${PREFIX}/share/zsh/${ZSH_VERSION}/functions, shouldn't we? Cheers, Daniel