The vim module for bash completion calls the _filedir() function which is only defined in the base module for >=bash-completion-20081218. (In earlier versions, the _filedir() function is not defined in a separate module.) If a user enables vim module but disables the base module, on the console, typing "vim <tab><tab>" results in a bash error about _filedir() being undefined. Reproducible: Always Steps to Reproduce: 1.emerge bash-completion 2.eselect bashcomp disable --global base 3.eselect bashcomp enable --global vim 4.vim <tab><tab> Actual Results: It shows bash: filedir(): command not found Expected Results: Lists all files and subdirectories in the current directory. I understand that there is an ELOG message when you emerge bash-completion that asks the user to enable the base module if he desires to use bash completion. But I feel that if the vim module explicitly depends on the base module to operate, it will be better (if it is possible) to have the action of enabling the vim module also enable the base module. Also, if the system administrator had globally enabled vim and base, but the user decides to turn off bash-completion by just disabling base, the behaviour does not fall back to the default bash tab completion, which is what should be expected given the wording of the ELOG. Somehow I feel that disabling/enabling base should disable/enable all parts of the bash-completion, not just the base functions and leaving the additional modules hanging.
I have no idea how this can be accomplished. I'll be thinking about it.
Fixed in v1.0 - you will have to "downgrade" to use it.