bash completion needs to be rewritten from the ground up. --------------------------------------------------------- bash completion really needs to be rewritten from the ground up, using all of the features available in bash 3.1 and without regard for compatibility with the 2.x line. At that time, it should be split into multiple files for easier source management. Whether or not it is actually installed on the destination computer as separate files is a matter for future debate. If it were installed as tens or even hundreds of files, each of which had to be opened to decide whether it should be sourced in its entirety, that could prove very expensive on some systems. Alternatively, a master file could decide which of the individual completion files should be sourced. In that way, we wouldn't need to open extra files just to ascertain that the commands for those functions aren't on the system, anyway. A further alternative is that a build process be created, which would concatenate the various files into a single completion file, similar to what we have now. This option is my least favourite, because a system with a lot of packages installed currently has to deal with sourcing over 200 kB of bash code for each invocation of an interactive shell. An even better alternative would be if bash supported dynamic loading of shell functions (in the manner of zsh), but I don't believe there are any plans to add this feature. -- Ian Macdonald Amsterdam, March 2006