# Backwards compatibility for compat completions that use have().
# @deprecated should no longer be used; generally not needed with dynamically
# loaded completions, and _have is suitable for runtime use.
To be more specific, it is unset after loading 'compat' completions. Therefore, completions using it can't be dynamically loaded with new bash-completion because there is no 'have' function at dynamic loading time.
As far as I understand, upstream suggests not using 'have' at all, and just letting completions load.
+ 13 Oct 2014; Michał Górny <firstname.lastname@example.org> files/rake.bash-completion:
+ Remove use of deprecated "have" command from bash-completion, bug #521162.
I didn't revbump since this is a trivial change.