Dear Jon, I seem to remember that bash does have a path that it checks for function definitions but a quick search didn't turn it up. Google is not the best way to go because it returns far too many hits. Looking at the bash source code is probably quickest. I can't remember how it works - bash probably looks for a file with the same name as the function but if this is the case, why does the bash completion package not use it?
Most module systems require the programmer to explicitly declare that they want to use a module - and you can do that in shell by sourcing the appropriate file as you almost certainly know. It would be neat if bash could load function definitions on demand. That would speed up your start times. Eventually bash could unload such auto-loaded function definitions too. How to do that without too much bloat will be the challenge! Regards, Max