summary refs log tree commit diff
path: root/Completion
diff options
context:
space:
mode:
Diffstat (limited to 'Completion')
-rw-r--r--Completion/User/_perl_modules7
1 files changed, 3 insertions, 4 deletions
diff --git a/Completion/User/_perl_modules b/Completion/User/_perl_modules
index 2ac7e9cbb..9bfc0463d 100644
--- a/Completion/User/_perl_modules
+++ b/Completion/User/_perl_modules
@@ -67,13 +67,12 @@ _perl_modules () {
 
       for libdir in $inc; do
         # Ignore cwd - could be too expensive e.g. if we're near /
-        if [[ $libdir == '.' ]]; then break; fi
+        if [[ $libdir == '.' ]]; then continue; fi
 
         # Find all modules
         if [[ -d $libdir && -x $libdir ]]; then
-        builtin cd $libdir
-        new_pms=( {[A-Z]*/***/,}*.pm~*blib* )
-        builtin cd $OLDPWD
+          new_pms=( $libdir/{[A-Z]*/***/,}*.pm~*blib* )
+          new_pms=( "${(@)new_pms##$libdir/##}" )
         fi
 
         # Convert to Perl nomenclature