Don't know about the TeXinfo doc, but the docstring is pretty clear:
MODE should be a symbol, the major mode command name, such as `c-mode'
or nil. If nil, highlighting keywords are added for the current buffer.
What was not clear was what it was supposed to achieve, whether
it tried to add keywords for one single mode, or for a mode and the
modes derived from it, or be completely independent of any major mode.
Anyway, the docs have been fixed since.
> The docs clearly seemed to suggest that a nil argument tried to enable the
> keywords for MODE only and not for derived modes,
Then the docs obviously need to be fixed, since there is no nil MODE.
I was somewhat unclear there. With MODE, I meant the mode on whose
hook the call was added. Originally, I tried to provide a complete
fix, also working for modes that do not yet follow the new conventions
and there the behavior was completely unpredictable. (It still is for
such modes, eventually we decided to just document that.)
Anyway, the old docs confused me. This discussion has started to
concentrate on whether or not they _should_ have confused me.
Somehow, that does not seem to be a very fruitful topic of discussion.