calltips ID bug
Joerg Fischer
jf505 at gmx.de
Wed Feb 6 16:22:57 CET 2008
Hi,
the documentation for the calltips() function says:
"Returns the new calltip's ID on success, 0 on failure."
Unfortunately, this holds only if the mode is "tipText", which is the
default mode. Otherwise, 1 is returned on success and 0 on failure,
but 1 isn't the calltip's ID in general.
A short analysis reveals that this mistake can't really be
accidental. The function showMatchingCalltip() is declared as void,
although it could easily return the calltip's ID or 0 on failure.
The reason is probably that the calltips code was tried to be
integrated with the tags code in tags.c, but tags.c isn't really
written in an easy-to-extend way. So, the showMatchingCalltip() is
called through findAllMatches(), which returns a status number, that
is -1 on error, 0 for nothing found, and 1 for something found.
However, only the value 0 is actually used. Therefore, I see no harm
to change the return values to -2 on error, -1 for nothing found, and
some number >= 0 for something found. Then this value can also be
used to let the calltip's ID pass through in all cases.
I'll make a bug report and attache a diff file.
Cheers,
Jörg
More information about the Develop
mailing list