Subject: Re: bug#35887: 26.1; global-eldoc-mode minibuffer noise is very annoying

From: Bob Proulx <[email-masked]>
Date: Fri, 24 May 2019 15:35:25 -0600

[email-masked] wrote:
> Bob Proulx writes:
> > In recent Emacs global-eldoc-mode has been enabled by default.  This is
> > a very annoying mode that causes minibuffer hints of elisp doc strings
> > to be flashing by in the minibuffer as the point moves around in the
> > buffer.
> 
> Your description of "flashing" suggests that maybe you some graphical
> glitching?  When I see the eldoc text show up in the minibuffer there is
> nothing that I would call "flashing".  The text just appears normally.

You misunderstand my words.  I said "as the point moves around in the
buffer".  Which means that this is due to the point moving around the
buffer.  This is not a graphics artifact.  To test this use text mode
emacs in a text terminal to ensure that you will have no graphics
artifacts from emacs.

Let's assume an elisp construct.  Put the cursor on the (defun line
then move down to the doc string line.  The second line in the below.

(defun unfill-paragraph (&optional region) ; Thanks to Stefan Monnier
  "Takes a multi-line paragraph and makes it into a single line of text."
  (interactive (progn (barf-if-buffer-read-only) '(t)))
  (let ((fill-column (point-max))
        ;; This would override `fill-column' if it's an integer.
        (emacs-lisp-docstring-fill-column t))
    (fill-paragraph nil region)))

The following string appears in the minibuffer.  The DOCSTRING word is
highlighted.

  defun: (NAME ARGLIST &optional *DOCSTRING* DECL &rest BODY)

C-n or Down-Arrow to move to the next line.  This then appears in the
minibuffer.

  defun: (NAME ARGLIST &optional DOCSTRING *DECL* &rest BODY)

The DECL word is hightlighted.  C-n again.

  defun: (NAME ARGLIST &optional DOCSTRING DECL &rest *BODY*)

The BODY word is highlighted.  C-n again.  On the comment line.  The
minibuffer is cleared.  No message there.

C-n again.  No message.  C-n again.  The flil-paragraph line.  The
following appears.  The BODY word is highlighted.

  let: (VARLIST *BODY*...)

C-n again.  Blank line.  The minibuffer is cleared.

The above is a small snippet I selected for this example.  But now do
this through a large elisp file.  With every C-n next-line movement
the minibuffer is displaying or clearing a doc string hint.  With
every next-line movement the highlighted word in the minibuffer is
moving from one word to another word.

This is driving me crazy!  This continous activity, changing, and
flashing is extremely annoying.

The minibuffer is where I expect to find useful editor feedback.  When
things happen there I look to see what it is telling me.  Sometimes it
is an error message.  Sometimes it is direct dialog interaction such
as for find-file.  Sometimes it is simply information such as "Mark
set".  But with global-eldoc-mode enabled it is continously posting
distractions in the minibuffer that I must look at, read and
comprehend, and then ignore.  This increases the editing workload.
This increases use fatigue.

Please revert the default enabling of global-eldoc-mode.

Bob