From: Juri Linkov <juri@linkov.net>
To: Eric S Fraga <e.fraga@ucl.ac.uk>
Cc: emacs-devel@gnu.org
Subject: Re: Intelligent stacking of messages in the echo area
Date: Wed, 29 Jan 2020 00:34:15 +0200 [thread overview]
Message-ID: <878slrcibk.fsf@mail.linkov.net> (raw)
In-Reply-To: <xuu6a76dcgg0.fsf@ucl.ac.uk> (Eric S. Fraga's message of "Fri, 24 Jan 2020 10:14:50 +0000")
>> Good heuristics. Another heuristics that could be added is
>> to filter out transient messages ending with ellipsis -
>> added here to a new variable like Eli asked to do:
>
> Just to say thank you. I've been using this bit of code for the past
> two or three weeks and it works very well.
>
> I added to your regex for my particular situation:
>
> #+begin_src elisp
> (defcustom multi-message-transient "\\(\\.\\.\\.\\'\\|^,\\|^C-\\|^pop3 retrieved\\)"
> "Regexp to filter out transient messages that should not be stacked."
> :type 'regexp
> :group 'minibuffer
> :version "28.1")
> #+end_src
Thanks. This means that this option multi-message-transient is useful after all.
BTW, I customized it to "^Mark\\|\\.\\.\\.\\'" to skip mark-related messages
like "Mark set" and "Mark deactivated".
Now what remains to do is to combine multi-message feature with minibuffer-message,
so when the minibuffer is not active then multi-line messages are displayed
in the echo-area, otherwise multi-line messages are displayed at the end
of the minibuffer:
(defun set-multi-message--wrapper (orig-fun message)
(let* ((multi-message (set-multi-message message)))
(or (funcall orig-fun multi-message)
multi-message)))
(setq set-message-function 'set-minibuffer-message)
(add-function :around set-message-function #'set-multi-message--wrapper)
next prev parent reply other threads:[~2020-01-28 22:34 UTC|newest]
Thread overview: 26+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-08-31 5:35 Intelligent stacking of messages in the echo area ndame
2019-08-31 9:46 ` Marcin Borkowski
2019-12-21 22:07 ` Juri Linkov
2019-12-22 3:30 ` Eli Zaretskii
2019-12-23 2:59 ` Richard Stallman
2019-12-23 22:46 ` Juri Linkov
2019-12-23 3:50 ` Ihor Radchenko
2019-12-23 13:38 ` Eli Zaretskii
2019-12-24 9:24 ` Ihor Radchenko
2019-12-24 15:36 ` Eli Zaretskii
2019-12-25 4:21 ` Ihor Radchenko
2019-12-23 22:47 ` Juri Linkov
2019-12-24 9:40 ` Ihor Radchenko
2019-12-24 15:43 ` Eli Zaretskii
2019-12-24 17:32 ` Ihor Radchenko
2019-12-25 0:15 ` Juri Linkov
2019-12-25 5:35 ` Ihor Radchenko
2020-01-29 22:54 ` Juri Linkov
2020-01-24 10:14 ` Eric S Fraga
2020-01-28 22:34 ` Juri Linkov [this message]
2020-01-29 22:41 ` Juri Linkov
2020-01-29 23:53 ` Stefan Monnier
2020-01-30 22:35 ` Juri Linkov
2020-01-30 23:07 ` Stefan Monnier
-- strict thread matches above, loose matches on Subject: below --
2022-04-09 4:46 emacsq
2022-04-09 18:53 ` Juri Linkov
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=878slrcibk.fsf@mail.linkov.net \
--to=juri@linkov.net \
--cc=e.fraga@ucl.ac.uk \
--cc=emacs-devel@gnu.org \
/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.