From: Ramesh Nedunchezian <rameshnedunchezian@outlook.com>
To: Juri Linkov <juri@linkov.net>
Cc: 47566-done@debbugs.gnu.org, Dmitry Gutov <dgutov@yandex.ru>,
Juri Linkov <juri@linkov.net>
Subject: bug#47566: 28.0.50; diff-hl should use `repeat-mode' ... and not `smartrep'
Date: Sun, 11 Apr 2021 12:18:43 +0530 [thread overview]
Message-ID: <TY2PR0101MB36939C0C2EE217BC28FB7023DA719@TY2PR0101MB3693.apcprd01.prod.exchangelabs.com> (raw)
In-Reply-To: <87lf9p91g8.fsf@mail.linkov.net>
On 11/04/21 4:29 am, Juri Linkov wrote:
>> It seems to me that repeat-mode is essentially a poor man's hydra.
>
> It is. It provides only the basic functionality.
> Don't expect many fancy things from repeat-mode.
The code below is pulled out from the existing code i.e., it doesn't
add any additional layer of complexity or does anything fanciful. But
it does add a bit of extensibility.
This is what I was suggesting:
(defvar repeat-mode-helper
(defun repeat-mode-helper (map)
(let (keys)
(message "Coming here")
(map-keymap (lambda (key _) (push key keys)) map)
(let ((mess (format-message
"Repeat with %s%s"
(mapconcat (lambda (key)
(key-description (vector key)))
keys ", ")
(if repeat-exit-key
(format ", or exit with %s"
(key-description repeat-exit-key))
""))))
(if (current-message)
(message "%s [%s]" (current-message) mess)
(message mess))))))
And in `repeat-post-hook', do something like
;; Messaging
(unless prefix-arg
(funcall (or (get rep-sym 'help) repeat-mode-helper) rep-map))
For those who don't want hints, they can use
(setq repeat-mode-helper #'ignore)
For those who want hints, but do /not/ want the hints hogging the echo
area, they could have their own custom helper like the one above,
after replacing
(message mess)
with
(tooltip-show mess)
--------------------------------
I would also appreciate if you could assess adding the exit key as a
property to the repeat mode symbol.
next prev parent reply other threads:[~2021-04-11 6:48 UTC|newest]
Thread overview: 26+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-04-02 5:40 bug#47566: 28.0.50; diff-hl should use `repeat-mode' ... and not `smartrep' Ramesh Nedunchezian
2021-04-03 22:08 ` Dmitry Gutov
2021-04-05 20:43 ` Juri Linkov
2021-04-06 22:44 ` Dmitry Gutov
2021-04-08 18:57 ` Juri Linkov
2021-04-10 1:40 ` Dmitry Gutov
2021-04-10 8:38 ` Ramesh Nedunchezian
2021-04-10 22:59 ` Juri Linkov
2021-04-11 6:48 ` Ramesh Nedunchezian [this message]
2021-04-11 22:51 ` Juri Linkov
2021-04-12 16:16 ` Juri Linkov
2021-04-10 22:58 ` Juri Linkov
2021-04-10 23:27 ` Dmitry Gutov
2021-04-12 16:17 ` Juri Linkov
2021-04-13 23:54 ` Dmitry Gutov
2021-04-14 7:14 ` Kévin Le Gouguec
2021-04-14 18:10 ` Juri Linkov
2021-04-14 19:12 ` Kévin Le Gouguec
2021-04-14 19:52 ` Juri Linkov
2021-04-14 20:21 ` Juri Linkov
2021-04-14 20:48 ` Kévin Le Gouguec
2021-04-14 21:58 ` Juri Linkov
2021-04-14 23:35 ` Dmitry Gutov
2021-11-14 20:25 ` Juri Linkov
2021-11-15 5:26 ` Lars Ingebrigtsen
2021-11-15 17:40 ` 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=TY2PR0101MB36939C0C2EE217BC28FB7023DA719@TY2PR0101MB3693.apcprd01.prod.exchangelabs.com \
--to=rameshnedunchezian@outlook.com \
--cc=47566-done@debbugs.gnu.org \
--cc=dgutov@yandex.ru \
--cc=juri@linkov.net \
/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.