Subject: bug#44629: 28.0.50; Eglot noisy with gfm-view-mode and view-read-only

From: "Basil L. Contovounesios" <[email-masked]>
Date: Sat, 14 Nov 2020 17:13:53 +0000

João Távora <[email-masked]> writes:

[...]

> I'd say the fix here is for Eglot, jsonrpc.el and all all other code
> that needs to set a buffer read only for implementation purposes just
> sets the variable buffer-read-only.  In fact, the docstring of
> read-only-mode hints at this:

[...]

> Alternatively, and very cautiously, we could also say that the echo area
> message issued by view-mode should only be displayed to the user if it's
> running interactively, i.e. if it's a direct synchronous consequence of
> an interactive command.  That would exclude elisp code running
> asynchronously like jsonrpc.el's updating of the events buffer, and
> probably also the use that ElDoc clients make of `read-only-mode`.

[...]

> In that spirit, maybe this could fix it?
>
>     diff --git a/lisp/view.el b/lisp/view.el
>     index 204e28c2a2..6233f3ba7d 100644
>     --- a/lisp/view.el
>     +++ b/lisp/view.el
>     @@ -559,7 +559,8 @@ view-mode-enter
>      
>        (unless view-mode
>          (view-mode 1)
>     -    (unless view-inhibit-help-message
>     +    (unless (or view-inhibit-help-message
>     +                (not (called-interactively-p 'interactive)))
>            (message "%s"
>      	       (substitute-command-keys "\
>      View mode: type \\[help-command] for help, \\[describe-mode] for commands, \\[View-quit] to quit.")))))

I don't think so, at least not in that exact manifestation, because
view-mode-enter is seldom, if ever, called interactively.  I.e. this
will suppress the help message even when you visit a read-only file.

So it's sounding like replacing read-only-mode with buffer-read-only,
and an inhibit-message around gfm-view-mode, is indeed the way to go.

Thanks,

-- 
Basil