unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: Miles Bader <miles@gnu.org>
Cc: emacs-devel@gnu.org
Subject: Re: [CVS] f7, f8 bound..
Date: Fri, 6 Sep 2002 18:19:57 -0400	[thread overview]
Message-ID: <20020906221957.GB7270@gnu.org> (raw)
In-Reply-To: <rjit1j1le0.fsf@zuse.dina.kvl.dk>

On Fri, Sep 06, 2002 at 12:07:51PM +0200, Per Abrahamsen wrote:
> >> With your code, the rules are simle:  If you change a keymap with
> >> customize, all other changes are lost.  With such a simple rule, the
> >> rest of the world can comply.
> >
> > That's obviously a simple rule, but it's also silly and bad; if that's
> > what the current code does, then it's not usable.
> 
> Why "not usable"?  

Because it's `brittle', and makes customize incompatible with with
non-customize use, which is something we want to avoid (well, maybe you don't
want to avoid it, but I do).

The way keymaps are handled, traditionally, is via incremental modification,
not simply `setting' them, and customize should be no different.

In any case, it doesn't really seem that hard to do better -- customize
should only ever add or remove entries from keymaps, not `set the keymap,'
and it should keep track of which ones it did, and only save those when
saving.  One way to do this is just have an alist of (MAP-VAR ADDED DEL'D)
entries (where ADDED and DEL'D are lists of keys).

> Well, it is not usable for the global map, too many packages write to
> that, but packages writing directly to mode maps aren't that common.

The problem is not `packages writing to mode maps,' it's _users_.

Many people set keybindings in mode hooks and the like; sometimes they've
copied that code from other people and don't really understand it.  The
`trash everything' approach obviously messes this up.

The `incremental' approach I mention above is much kinder.

> For the global map, maybe we can get dispensation to use two keymaps.

Not if I can help it.

> > Your two variable solution has a similar problem, BTW -- if
> > e.g. `custom-global-map' overrides `global-map', and someone has bound a
> > key via custom, and tries to re-bind it using `M-x global-set-key' --
> > then his new binding will be effectively ignored!
> 
> True, I haven't though of using non-customize functions interactively.
> They would have had to be modified in order to make the two keymap
> solution a 100% solution.

Are you suggesting they modify the customize keymap too?  In other words all
commands modify _one_ keymap?  In that case you're basically using one
keymap, so why not drop the pretense, and just use one for real?

[Maybe you're suggesting that interactive and `non-interactive' (e.g. invoked
by `M-:') uses of global-set-key work differently, but I think that's
unacceptable.]

The more I think about it, the more I think the two keymap solution is
confusing, both to programmers _and_ users, and that an incremental one
keymap solution (see above) is what we should use.

-Miles
-- 
P.S.  All information contained in the above letter is false,
      for reasons of military security.

  reply	other threads:[~2002-09-06 22:19 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 [this message]
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
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=20020906221957.GB7270@gnu.org \
    --to=miles@gnu.org \
    --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 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).