all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: "João Távora" <joaotavora@gmail.com>
To: "Basil L. Contovounesios" <contovob@tcd.ie>
Cc: 44629@debbugs.gnu.org
Subject: bug#44629: 28.0.50; Eglot noisy with gfm-view-mode and view-read-only
Date: Sat, 14 Nov 2020 13:47:55 +0000	[thread overview]
Message-ID: <87wnyokq2c.fsf@gmail.com> (raw)
In-Reply-To: <875z68p5mr.fsf@tcd.ie> (Basil L. Contovounesios's message of "Sat, 14 Nov 2020 10:58:04 +0000")

"Basil L. Contovounesios" <contovob@tcd.ie> writes:

> X-Debbugs-Cc: "João Távora" <joaotavora@gmail.com>
> Severity: minor

Hi Basil, and thanks for X-Debbugs-CC'ing me in this message.  This is
indeed the way I hope to handle Eglot bugs in the future: via email and
the Emacs bug tracker.

> Perhaps Eglot could/should bind view-inhibit-help-message around
> gfm-view-mode?  Any other ideas?

I'd have no problem with that, but as you've noted, it doesn't work when
other modes also use `read-only-mode`.

I think this is more of an Emacs echo-area congestion problem than an
Eglot one.  view-read-only seems a bit akward, I'd say, but it's been
around such a long time that I won't argue for changing it.

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:

    ...

    Do not call this from a Lisp program unless you really intend to
    do the same thing as the C-x C-q command, including
    possibly enabling or disabling View mode. 

    ...

I wasn't aware of caveat until just now.

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 fact, the docstring of called-interactively-p seems to indicate its
main use is to cover these use cases.

    ...

    The only known proper use of `interactive' for KIND is in deciding
    whether to display a helpful message, or how to display it.

    ...

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.")))))

João





  parent reply	other threads:[~2020-11-14 13:47 UTC|newest]

Thread overview: 19+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-11-14 10:58 bug#44629: 28.0.50; Eglot noisy with gfm-view-mode and view-read-only Basil L. Contovounesios
2020-11-14 11:15 ` Basil L. Contovounesios
2020-11-14 12:02   ` Eli Zaretskii
2020-11-14 12:26     ` Basil L. Contovounesios
2020-11-14 14:46       ` Eli Zaretskii
2020-11-14 15:13         ` João Távora
2020-11-15 20:27     ` Juri Linkov
2020-11-15 21:52       ` Basil L. Contovounesios
2020-11-15 23:14         ` João Távora
2020-11-17 20:15           ` Basil L. Contovounesios
2020-11-17 20:21             ` Basil L. Contovounesios
2020-11-17 22:55             ` João Távora
2020-11-28 21:27               ` Basil L. Contovounesios
2020-11-29 10:36             ` Lars Ingebrigtsen
2020-12-03 15:26               ` Basil L. Contovounesios
2020-11-16  9:14         ` Juri Linkov
2020-11-14 13:47 ` João Távora [this message]
2020-11-14 17:13   ` Basil L. Contovounesios
2020-11-15  9:55     ` João Távora

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87wnyokq2c.fsf@gmail.com \
    --to=joaotavora@gmail.com \
    --cc=44629@debbugs.gnu.org \
    --cc=contovob@tcd.ie \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/emacs.git
	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.