[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#73386: [PATCH] Fix keybinding support for *-auto-reveal
From: |
Paul Nelson |
Subject: |
bug#73386: [PATCH] Fix keybinding support for *-auto-reveal |
Date: |
Fri, 20 Sep 2024 16:52:48 +0200 |
Hello,
I just realized that my earlier patch
8db1e90b6d25beb72b5ebbc706b6def64794dcf8 broke key-binding support for
auto-reveal (i.e., using left/right rather than C-f/b to open previews
and folds). The attached patch remedies this. Details below.
Thanks, best,
Paul
---
The user option *-auto-reveal-commands consists of both functions and
lists for keybinding:
(defcustom preview-auto-reveal-commands
'((key-binding [left])
(key-binding [right])
backward-char
forward-char
pop-to-mark-command
undo)
"List of commands that may cause a preview to be revealed.
This list is consulted by the default value of `preview-auto-reveal'."
:type '(repeat (choice (function :tag "Function")
(sexp :tag "Key binding"))))
When we call (apply #'preview-arrived-via
preview-auto-reveal-commands), the lists for keybinding are not
evaluated, so we never pick up the command to which left/right are
bound. The attach patch remedies this issue by first evaluating any
keybinding.
In retrospect, a more uniform approach would have been to have all
elements of *-auto-reveal-commands be "something that gets evaluated",
i.e.,
(defcustom preview-auto-reveal-commands
'((key-binding [left])
(key-binding [right])
#'backward-char
#'forward-char
#'pop-to-mark-command
#'undo)
...)
This would allow a more uniform default implementation of
*-auto-reveal. Given that the docstring for *-auto-reveal-commands
says that it should consist of either functions or key bindings, I
think the proposed solution is acceptable. It's also a bit simpler
for me, since I have a couple packages that add functions (rather than
function symbols) to *-auto-reveal-commands.
0001-Fix-keybinding-support-for-auto-reveal.patch
Description: Binary data
- bug#73386: [PATCH] Fix keybinding support for *-auto-reveal,
Paul Nelson <=