[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: A simple implementation of context-sensitive keys
From: |
Ted Zlatanov |
Subject: |
Re: A simple implementation of context-sensitive keys |
Date: |
Wed, 10 Sep 2008 11:43:30 -0500 |
User-agent: |
Gnus/5.110011 (No Gnus v0.11) Emacs/23.0.60 (gnu/linux) |
On Wed, 10 Sep 2008 12:57:56 +0200 Tassilo Horn <address@hidden> wrote:
TH> (defmacro define-context-key (mode key predicate function)
TH> "Bind KEY in MODE's map to a command which calls FUNCTION if PREDICATE is
non-nil.
TH> If PREDICATE doesn't match and KEY is normally bound in MODE, the
TH> corresponding default command will be executed.
TH> If KEY isn't normally bound in MODE, MODE will be disabled
TH> temporally (to prevent an infinite recursion) and the function
TH> which is then bound to KEY will be called."
I think this is a great idea, but it seems like it's pulling the
different ways a bound function can operate internally to the higher
level, complicating what the user has to write. IOW, you can do the
same inside FUNCTION by testing a series of PREDICATEs. It does
abstract the more tedious stuff, but maybe that can be a macro inside
the function itself, e.g.
(defun my-bound-function ()
(or
(run-in-context outline-minor-mode outline-context-p outline-toggle-children)
(run-in-context outline-minor-mode eolp self-insert-command)))
This lets the function do more complex things, not just a cond which the
top-level approach is essentially.
I don't know if this can be considered as an alternative. It's nice
syntactic sugar, for sure. I've done it the long way several times so I
would welcome anything to make it easier.
Ted
- A simple implementation of context-sensitive keys, Tassilo Horn, 2008/09/10
- Re: A simple implementation of context-sensitive keys, Lennart Borgman (gmail), 2008/09/10
- Re: A simple implementation of context-sensitive keys, Sean O'Rourke, 2008/09/10
- Re: A simple implementation of context-sensitive keys, Tassilo Horn, 2008/09/11
- Re: A simple implementation of context-sensitive keys, Miles Bader, 2008/09/11
- Re: A simple implementation of context-sensitive keys, Tassilo Horn, 2008/09/11
Re: A simple implementation of context-sensitive keys, Stefan Monnier, 2008/09/10