From: Alex Schroeder <alex@emacswiki.org>
Subject: Re: Customizing key bindings
Date: Tue, 10 Sep 2002 19:57:27 +0200 [thread overview]
Message-ID: <87k7ltiv7c.fsf@emacswiki.org> (raw)
In-Reply-To: <E17oY2K-0005yX-00@fencepost.gnu.org> (Richard Stallman's message of "Mon, 09 Sep 2002 19:33:44 -0400")
My code implements #2. The reason for choosing that approach are
trivial: I don't want to touch the C code, so changing define-key is
out of the question (for me). Now, if #2 had been difficult to do,
then we would have returned to #1. But #2 was rather easy to do.
This is why I see no reason to do #1 at the moment.
I realize this is not a real argument. :) It just seems more
pragmatic at the moment.
Alex.
Richard Stallman <rms@gnu.org> writes:
> Another question is `if there the implementation uses two keymaps
> (either for nesting at lookup time, or just for bookkeeping purposes),
> where is the second one stored?' I really dislike your idea of having
> two separate lisp variable to store them.
>
> In my two-keymap proposal, the second one is found only as the parent
> of the first. The first is marked somehow as a customization keymap
> so that define-key knows to keep moving and define in its parent.
>
> My two-keymap proposal is #1 below.
>
> ======================================================================
> Here's what I think the :set for a keymap should do.
> Actually, I have two alternative ideas:
>
> 1. Create a new keymap, as above, but make its parent be
> the keymap that was the value of SYM before. Put the
> symbol `custom' in the keymap to mark it as made here.
>
> If Custom had already run and done this, strip off the
> keymap it made before, and make a new one.
>
> Change define-key so that it skips that keymap and makes the change in
> the parent.
>
> Now all changes made outside Custom will be permanent. However, the
> bindings specified with Custom will shadow those changes. In some
> cases the user might not like that, but I don't see that any
> alternative is clearly better.
>
> [In fact, it seems to me that this is more correct than any other
> alternative.]
>
> 2. Instead of making a new keymap, just install the changes in the
> original keymap, saving the original definitions.
>
> More precisely, here's what :set would do:
>
> * Reinstall all the saved original bindings
>
> * For each key that has a Custom key binding,
> save is current binding.
>
> * Install the Custom key bindings.
>
> This way, changes made outside Custom all take effect immediately.
> If the key has no Custom binding, the change is permanent.
> If the key does have a Custom binding, the change is lost when
> Custom runs again, but maybe that is reasonable in this case.
next prev parent reply other threads:[~2002-09-10 17:57 UTC|newest]
Thread overview: 221+ messages / expand[flat|nested] mbox.gz Atom feed top
2002-08-23 14:15 [CVS] f7, f8 bound D. Goel
2002-08-25 23:16 ` Kim F. Storm
2002-08-25 22:39 ` D. Goel
2002-08-26 15:26 ` Stefan Monnier
2002-08-27 2:02 ` Miles Bader
2002-08-27 8:56 ` Kim F. Storm
2002-08-27 8:55 ` Kim F. Storm
2002-08-27 8:55 ` Juanma Barranquero
2002-08-27 10:32 ` Kim F. Storm
2002-08-27 10:01 ` Juanma Barranquero
2002-08-27 11:55 ` Kim F. Storm
2002-08-27 11:07 ` Juanma Barranquero
2002-08-27 16:21 ` Stefan Monnier
2002-08-28 1:12 ` Miles Bader
2002-08-28 9:33 ` Kim F. Storm
2002-08-28 8:54 ` Miles Bader
2002-08-28 9:09 ` Juanma Barranquero
2002-08-28 10:58 ` Kim F. Storm
2002-08-28 10:21 ` Juanma Barranquero
2002-08-28 9:09 ` Miles Bader
2002-08-28 10:47 ` Kim F. Storm
2002-08-28 14:13 ` Stefan Monnier
2002-08-29 14:35 ` Kim F. Storm
2002-08-29 17:24 ` Stefan Monnier
2002-09-08 23:02 ` Kim F. Storm
2002-09-09 10:49 ` Francesco Potorti`
2002-09-09 13:43 ` Miles Bader
2002-09-09 19:14 ` Richard Stallman
2002-09-09 23:34 ` Richard Stallman
2002-09-10 21:50 ` Kim F. Storm
2002-09-09 23:45 ` Kim F. Storm
2002-09-10 16:36 ` Richard Stallman
2002-09-10 12:17 ` Francesco Potorti`
2002-09-10 23:16 ` Kim F. Storm
2002-09-11 9:03 ` Francesco Potorti`
2002-08-28 13:37 ` Francesco Potorti`
2002-08-28 14:28 ` Kai Großjohann
2002-08-28 14:41 ` Francesco Potorti`
2002-08-28 23:33 ` Richard Stallman
2002-08-29 9:25 ` Kai Großjohann
2002-08-30 6:09 ` Richard Stallman
2002-08-30 14:48 ` Kim F. Storm
2002-08-30 23:55 ` Miles Bader
2002-08-31 11:21 ` Alex Schroeder
2002-09-01 13:14 ` Richard Stallman
2002-09-01 14:22 ` Per Abrahamsen
2002-09-01 14:37 ` Per Abrahamsen
2002-09-02 17:05 ` Stefan Monnier
2002-09-02 17:54 ` Kai Großjohann
2002-09-02 23:24 ` Stefan Monnier
2002-09-03 10:55 ` Per Abrahamsen
2002-09-03 13:02 ` Miles Bader
2002-09-03 13:53 ` Per Abrahamsen
2002-09-03 15:04 ` Stefan Monnier
2002-09-03 17:31 ` Miles Bader
2002-09-03 19:27 ` Andreas Schwab
2002-09-03 22:56 ` Miles Bader
2002-09-03 23:53 ` Miles Bader
2002-09-04 11:59 ` Robert J. Chassell
2002-09-04 22:35 ` Alex Schroeder
2002-09-03 23:23 ` Robert J. Chassell
2002-09-04 10:31 ` Per Abrahamsen
2002-09-04 15:30 ` Robert J. Chassell
2002-09-04 22:25 ` Alex Schroeder
2002-09-05 13:00 ` Robert J. Chassell
2002-09-05 10:00 ` Per Abrahamsen
2002-09-05 14:59 ` Robert J. Chassell
2002-09-05 16:18 ` Francesco Potorti`
2002-09-05 19:13 ` D. Goel
2002-09-05 15:05 ` Robert J. Chassell
2002-09-05 18:03 ` Richard Stallman
2002-09-04 22:00 ` Alex Schroeder
2002-09-05 10:15 ` Per Abrahamsen
2002-09-06 1:16 ` Miles Bader
2002-09-06 10:07 ` Per Abrahamsen
2002-09-06 22:19 ` Miles Bader
2002-09-07 12:40 ` Per Abrahamsen
2002-09-06 17:36 ` Stefan Monnier
2002-09-06 22:21 ` Miles Bader
2002-09-07 0:53 ` Kim F. Storm
2002-09-07 0:32 ` Miles Bader
2002-09-07 7:59 ` Alex Schroeder
2002-09-07 10:28 ` Richard Stallman
2002-09-09 13:35 ` Stefan Monnier
2002-09-09 15:45 ` Per Abrahamsen
2002-09-09 23:34 ` Richard Stallman
2002-09-07 10:28 ` Richard Stallman
2002-09-07 7:45 ` Alex Schroeder
2002-09-07 14:08 ` Customizing key bindings Alex Schroeder
2002-09-07 23:43 ` Miles Bader
2002-09-09 8:05 ` Per Abrahamsen
2002-09-09 9:19 ` Miles Bader
2002-09-09 12:20 ` Per Abrahamsen
2002-09-09 14:09 ` Miles Bader
2002-09-09 15:23 ` Per Abrahamsen
2002-09-09 17:25 ` Stefan Monnier
2002-09-09 14:33 ` Stefan Monnier
2002-09-09 23:34 ` Richard Stallman
2002-09-09 23:33 ` Richard Stallman
2002-09-10 10:29 ` Per Abrahamsen
2002-09-11 1:40 ` Richard Stallman
2002-09-10 17:57 ` Alex Schroeder [this message]
2002-09-11 3:05 ` Richard Stallman
2002-09-11 8:52 ` Per Abrahamsen
2002-09-09 0:21 ` Richard Stallman
2002-09-09 1:52 ` Miles Bader
2002-09-09 23:33 ` Richard Stallman
2002-09-05 2:47 ` [CVS] f7, f8 bound Richard Stallman
2002-09-05 9:39 ` Per Abrahamsen
2002-09-04 14:23 ` Richard Stallman
2002-09-03 14:12 ` Kai Großjohann
2002-09-03 15:09 ` Stefan Monnier
2002-09-03 15:17 ` Kai Großjohann
2002-09-02 14:53 ` Richard Stallman
2002-09-02 16:40 ` Customizing key bindings (was: Re: [CVS] f7, f8 bound..) Per Abrahamsen
2002-09-02 21:55 ` Alex Schroeder
2002-09-03 12:27 ` Per Abrahamsen
2002-09-03 22:35 ` Alex Schroeder
2002-09-03 22:49 ` Alex Schroeder
2002-09-04 0:45 ` Alex Schroeder
2002-09-04 10:00 ` Per Abrahamsen
2002-09-05 2:47 ` Richard Stallman
2002-09-05 9:18 ` Per Abrahamsen
2002-09-06 4:01 ` Richard Stallman
2002-09-06 9:51 ` Per Abrahamsen
2002-09-04 15:11 ` Stefan Monnier
2002-09-05 9:26 ` Per Abrahamsen
2002-09-06 4:01 ` Richard Stallman
2002-09-06 22:30 ` Kim F. Storm
2002-09-07 14:12 ` Customizing key bindings Alex Schroeder
2002-09-05 18:03 ` Customizing key bindings (was: Re: [CVS] f7, f8 bound..) Richard Stallman
2002-09-05 18:35 ` Per Abrahamsen
2002-09-06 15:10 ` Richard Stallman
2002-09-05 2:46 ` Richard Stallman
2002-09-05 16:17 ` Alex Schroeder
2002-09-06 4:01 ` Richard Stallman
2002-09-07 13:50 ` Customizing key bindings Alex Schroeder
2002-09-05 16:47 ` Customizing key bindings (was: Re: [CVS] f7, f8 bound..) Kai Großjohann
2002-09-07 14:20 ` use diff-list in Emacs Alex Schroeder
2002-09-07 15:52 ` Kai Großjohann
2002-09-07 22:46 ` Miles Bader
2002-09-08 19:22 ` Kai Großjohann
2002-09-04 14:20 ` Customizing key bindings (was: Re: [CVS] f7, f8 bound..) Richard Stallman
2002-09-05 17:20 ` Per Abrahamsen
2002-09-06 17:28 ` Stefan Monnier
2002-09-06 22:03 ` Miles Bader
2002-09-07 12:01 ` Per Abrahamsen
2002-09-07 12:40 ` Miles Bader
2002-09-07 13:07 ` Per Abrahamsen
2002-09-07 14:17 ` Robert J. Chassell
2002-09-07 17:48 ` What custom is and does Alex Schroeder
2002-09-07 22:57 ` Miles Bader
2002-09-09 7:49 ` Per Abrahamsen
2002-09-07 18:58 ` Customizing key bindings (was: Re: [CVS] f7, f8 bound..) Kai Großjohann
2002-09-09 13:53 ` Stefan Monnier
2002-09-09 14:59 ` Per Abrahamsen
2002-09-09 23:34 ` Richard Stallman
2002-09-07 9:06 ` Alex Schroeder
2002-09-07 12:11 ` Per Abrahamsen
2002-09-07 9:15 ` Alex Schroeder
2002-09-07 12:28 ` Per Abrahamsen
2002-09-07 13:48 ` Customizing key bindings Alex Schroeder
2002-09-07 13:56 ` Alex Schroeder
2002-09-07 13:39 ` Alex Schroeder
2002-09-07 15:10 ` Per Abrahamsen
2002-09-09 22:06 ` Alex Schroeder
2002-09-09 22:12 ` Alex Schroeder
2002-09-09 22:49 ` Alex Schroeder
2002-09-09 22:58 ` Stefan Monnier
2002-09-10 10:19 ` Per Abrahamsen
2002-09-08 12:54 ` Customizing key bindings (was: Re: [CVS] f7, f8 bound..) Richard Stallman
2002-09-09 7:57 ` Per Abrahamsen
2002-09-09 23:33 ` Richard Stallman
2002-09-10 18:07 ` Alex Schroeder
2002-09-11 3:04 ` Richard Stallman
2002-09-11 8:49 ` Per Abrahamsen
2002-09-11 20:03 ` Richard Stallman
2002-09-09 21:09 ` Alex Schroeder
[not found] ` <m2it1qqmae.fsf@primate.xs4all.nl>
2002-09-01 10:36 ` [CVS] f7, f8 bound Miles Bader
2002-09-01 13:02 ` Eli Zaretskii
2002-09-01 13:45 ` Pavel Janík
2002-09-01 16:57 ` Eli Zaretskii
2002-09-01 16:57 ` Eli Zaretskii
2002-09-01 13:14 ` Richard Stallman
2002-09-06 12:55 ` Francesco Potorti`
[not found] ` <m2r8geqole.fsf@primate.xs4all.nl>
2002-09-01 5:19 ` Damien Elmes
2002-09-02 0:01 ` Richard Stallman
2002-09-03 0:04 ` David A. Cobb
2002-08-29 14:38 ` Kim F. Storm
2002-08-29 13:47 ` Francesco Potorti`
[not found] ` <m2wuq6qpai.fsf@primate.xs4all.nl>
2002-09-01 10:45 ` Miles Bader
2002-08-28 18:42 ` Edward O'Connor
2002-08-29 1:16 ` Miles Bader
2002-08-28 23:32 ` Richard Stallman
2002-08-29 1:14 ` Miles Bader
2002-08-30 6:10 ` Richard Stallman
2002-08-30 6:22 ` Miles Bader
2002-08-30 19:17 ` Richard Stallman
2002-08-31 0:40 ` Kim F. Storm
2002-08-31 2:16 ` Miles Bader
2002-09-01 13:15 ` Richard Stallman
2002-09-02 1:23 ` Miles Bader
2002-09-02 10:22 ` Kim F. Storm
2002-09-02 9:38 ` Miles Bader
2002-09-03 13:26 ` Richard Stallman
2002-09-03 14:39 ` Kim F. Storm
2002-09-04 14:21 ` Richard Stallman
2002-09-08 22:51 ` Kim F. Storm
2002-08-30 6:10 ` Richard Stallman
2002-08-30 14:35 ` Stefan Monnier
2002-08-30 19:19 ` Richard Stallman
2002-08-31 0:00 ` Miles Bader
2002-08-31 11:28 ` Alex Schroeder
2002-08-30 14:49 ` Francesco Potorti`
2002-08-31 0:33 ` Kim F. Storm
2002-08-31 6:07 ` Eli Zaretskii
2002-08-29 14:42 ` Kim F. Storm
2002-08-30 1:05 ` Miles Bader
2002-08-30 12:07 ` Kim F. Storm
2002-08-30 6:09 ` Richard Stallman
2002-08-28 6:52 ` Richard Stallman
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
List information: https://www.gnu.org/software/emacs/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=87k7ltiv7c.fsf@emacswiki.org \
--to=alex@emacswiki.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 public inbox
https://git.savannah.gnu.org/cgit/emacs.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).