The perl bash-completion script tries to access a "helpers/perl" using a relative path, which will never work because it always gets invoked via a symlink from a completely different location. Reproducible: Always Steps to Reproduce: 1. eselect bashcomp enable --global perl 2. re-login 3. type "perldoc A<tab>" Actual Results: -bash: /etc/bash_completion.d/helpers/perl: No such file or directory Expected Results: autocomplete list appears Tried reinstalling bash-completion, but it didn't fix it. Symlinking /usr/share/bash-completion/helpers/ into /etc/bash_completion.d/ does, but that defeats the whole point of having an eselect-bashcomp.
Perhaps you can drop a "readlink" into that perl script. Or hardcode the path to these helper scripts, as it is known at the distro level, so why bother with fancy tricks? After hardcoding the path, I get bash: /usr/share/bash-completion/helpers/perl: Permission denied So you should fix the execute bit of that file as well.
This solve helper issue too: # ln -s /usr/share/bash-completion/helpers/ /etc/bash_completion.d/ # chmod +x /usr/share/bash-completion/helpers/perl There is one more issue with perl completion - at /usr/share/bash-completion/perl:115: '$( PAGER=/bin/cat man perl | \ should be changed to: '$( PAGER=/bin/cat /usr/bin/man perl | \ because if user have own ~/bin/man wrapper (for example, one which use Vim to show man pages with syntax highlight and ease navigation) then attempt to autocomplete result in running vim instead of man and break everything.
This should be fixed in app-shells/bash-completion-2.1-r1
Removed the 1.3 version number from the summary as 2.1 is also broken. It fails to install the "helpers" directory at all, so that symlink workaround no longer works.
2.1_p20141224-r1 seems to work for me (and I've double-checked there's no stray workarounds from old versions), so closing this.