Subject: Re: bug#19853: Acknowledgement (25.0.50; ElDoc is displayed whether eldoc-mode is enabled or not)

From: Michael Heerdegen <[email-masked]>
Date: Tue, 22 Mar 2016 16:29:34 +0100

Hi,

maybe we can come to a decision now.

Stefan, you were the one that implemented `global-eldoc-mode', and
decided not to use `define-globalized-minor-mode' to do this.  I think I
understand your intention (use global hook bindings).

The subject of this bug report is that the global eldoc mode behaves
differently from other global modes that have a local counterpart: in
particular, turning off the global mode doesn't turn off the local mode
in all buffers where it is on.  This is somewhat unexpected for the user
and I think more or less only an unintended consequence of the
implementation.

We discussed two alternatives to make the global eldoc mode behave more
like a globalized mode, namely (1) do it indeed with
`define-globalized-minor-mode' and (2)

> > > Hmm, I think the only way out would be to add the stuff to the
> > > global hook bindings unconditionally when eldoc is loaded - no
> > > matter whether the global mode is on or not, and never remove it.
> > > And use only one (buffer local) variable for controlling,
> > > `eldoc-mode', that the local mode sets locally.  The variable
> > > `global-eldoc-mode' would not appear in the code any more.
> > > `global-eldoc-mode' would become a trivial globalized minor mode
> > > that would only turn the local value of `eldoc-mode' in all
> > > buffers.  Would that make sense?

Did we overlook an advantage of your implementation?  Which of these two
alternatives would you prefer?

Thanks,

Michael.