leoliu / ggtags

Emacs frontend to GNU Global source code tagging system.
http://elpa.gnu.org
578 stars 56 forks source link

Use eldoc-documentation hook instead of variable #211

Open mohkale opened 3 years ago

mohkale commented 3 years ago

Not sure which version of emacs added using hooks for eldoc instead of the eldoc variable so this may require bumping the minimum supported version.

Advantage of the new approach:

leoliu commented 3 years ago

eldoc-documentation-function is the preferred way for many releases including Emacs 27. eldoc-documentation-functions appeared at some point long long ago.

mohkale commented 3 years ago

@leoliu

Wow that's really recent. If that's the case then I can understand avoiding using the new hooks style until a few more emacs releases. I made this PR because I saw eldoc-message was deprecated in eldoc-1.1.0 meaning so was eldoc-documentation-function.

If you'd like you can close this issue. I'll probably re-open it when the need for this becomes more apparrent.

leoliu commented 3 years ago

There may be some recent change I am not aware of. will take a closer look later today. thanks for the PR :)

leoliu commented 3 years ago

I check the copy of eldoc.el on http://git.savannah.gnu.org/cgit/emacs.git/plain/lisp/emacs-lisp/eldoc.el and it seems there is incompatible changes likely to appear in emacs 28. Don't know why eldoc-documentation-function is removed instead of deprecated which will break many setups unnecessarily.

mohkale commented 3 years ago

@leoliu

Looking back on it you mention the hooks support has been in emacs for a while. Wouldn't that mean you can migrate ggtags to the hooks API and still support emacs's older than 27. Since eldoc-documentation-function is being removed and eldoc-documentation-functions is still available even on earlier releases, migrating seems like a win-win to me. Thoughts?