Malcolm Box writes:
etags.el uses funcall to run the find-tag-hook and other hooks.
This
is broken, and the following patch fixes it (patch against xemacs-20,
rev 1.6 of etags.el):
find-tag-default-hook isn't (apparently) meant to be an ordinary
hook. And the rest of your patch introduces semantic changes
(differing return value, differing behavior on error, local hook
being run in a situation where it would not have been before).
The code will have to be analyzed more carefully before we can
change this.