mirror of
git://git.code.sf.net/p/zsh/code
synced 2025-09-02 22:11:54 +02:00
48321 (tweaked per thread): _perl_modules: Don't assume ${words[1]} to be either "perl" or "perldoc"
Also, correct an always-true condition guarding the fallback @INC codepath.
This commit is contained in:
parent
608e49ac19
commit
295fbc0998
2 changed files with 11 additions and 5 deletions
|
@ -1,3 +1,8 @@
|
|||
2021-04-08 Daniel Shahaf <d.s@daniel.shahaf.name>
|
||||
|
||||
* 48321 (tweaked per thread): Completion/Unix/Type/_perl_modules:
|
||||
Don't assume ${words[1]} to be either "perl" or "perldoc"
|
||||
|
||||
2021-04-07 Daniel Shahaf <d.s@daniel.shahaf.name>
|
||||
|
||||
* 48425: Test/V05styles.ztst: Add an XFail test for a 'zstyle
|
||||
|
|
|
@ -60,10 +60,11 @@ _perl_modules () {
|
|||
with_pod=_with_pod
|
||||
fi
|
||||
|
||||
local perl=${words[1]%doc} perl_modules
|
||||
if whence $perl >/dev/null; then
|
||||
local perl perl_modules
|
||||
if [[ $service == (perl|perldoc) ]] && whence -- ${${(Q)words[1]}%doc} >/dev/null; then
|
||||
perl=$_
|
||||
perl_modules=_${${perl//[^[:alnum:]]/_}#_}_modules$with_pod
|
||||
elif (( ${+commands[perl]} )); then
|
||||
elif whence perl > /dev/null; then
|
||||
perl=perl
|
||||
perl_modules=_perl_modules$with_pod
|
||||
else
|
||||
|
@ -81,8 +82,8 @@ _perl_modules () {
|
|||
else
|
||||
local inc libdir new_pms
|
||||
|
||||
if [[ ${+perl} -eq 1 ]]; then
|
||||
inc=( $( $perl -e 'print "@INC"' ) )
|
||||
if [[ -n $perl ]]; then
|
||||
inc=( $( _call_program perl-inc ${(q)perl}$' -e \'print "@INC"\'' ) )
|
||||
else
|
||||
# If perl isn't there, one wonders why the user's trying to
|
||||
# complete Perl modules. Maybe her $path is wrong?
|
||||
|
|
Loading…
Reference in a new issue