about summary refs log tree commit diff
path: root/Completion/User/_perl_basepods
diff options
context:
space:
mode:
Diffstat (limited to 'Completion/User/_perl_basepods')
-rw-r--r--Completion/User/_perl_basepods12
1 files changed, 7 insertions, 5 deletions
diff --git a/Completion/User/_perl_basepods b/Completion/User/_perl_basepods
index f4e70382b..4478c5263 100644
--- a/Completion/User/_perl_basepods
+++ b/Completion/User/_perl_basepods
@@ -11,20 +11,22 @@
 if [[ ${+_perl_basepods} -eq 0 ]]; then
   typeset -agU _perl_basepods
 
-  if which basdepods >/dev/null; then
+  if (( ${+commands[basepods]} )); then
     _perl_basepods=( ${$(basepods):t:r} )
   else
     local podpath
+
     podpath=$(perl -MConfig -e 'print "$Config{installprivlib}/pod"')
+
     if [[ ! -e $podpath/perl.pod ]]; then
       echo "Couldn't find perl.pod from Config.pm; giving up."
       return 1
     else
-      cd $podpath
-      _perl_basepods=( *.pod(:r:t) )
-      cd $OLDPWD
+      _perl_basepods=( ${podpath}/*.pod(:r:t) )
     fi
   fi
 fi
 
-compadd - $_perl_basepods
+local expl
+
+_wanted pods expl 'Perl base pods' compadd - $_perl_basepods