unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: storm@cua.dk (Kim F. Storm)
Cc: emacs-devel@gnu.org
Subject: Re: Enhancements to "minor-mode-map-alist" functionality.
Date: 14 Apr 2002 01:30:50 +0200	[thread overview]
Message-ID: <5xbscnb2hh.fsf@kfs2.cua.dk> (raw)
In-Reply-To: <200204131905.g3DJ5cC22812@aztec.santafe.edu>

Richard Stallman <rms@gnu.org> writes:

>     - the new cua need a total of 7 minor mode keymaps, which must be
>       processed in a specific order, and before all other minor mode
>       keymaps
> 
> I am surprised that the present facilities can't be used more easily.
> Could you explain WHY you think this is necessary?  Perhaps there
> is already a better way.

I'm pretty confiden that there isn't a _better_ way already.
There are various ways to do this with the current facilities, but
none of them are really satisfactory (take a look at viper mode's
frequent checking of the minor-mode-map-alist to see what I mean).

I'm trying to come up with a way to transparently enhance emacs'
ability to "change personality" in a way that can be configured
more statically.

> 
>     2) Allow selection of the active keymaps in the alist to
>     be based on evaluating a form in addition to a simple variable.
> 
> Any extension to the keymap mechanism calls for careful thought.
> Please don't rush ahead to install any changes there before we
> have time to discuss this.

Sure!  I did expect some feedback on this, and although my changes
looks fairly simple, I've already been convinced that my approach
isn't sufficiently generic.

> 
> First let's see if change is really needed.  If so, then let's
> understand what the problem is.

I've tried to explain this several times already...

The fundamental problem is that some modes (like viper and cua) makes
some quite fundamental changes to the way some of the standard keys
works [cua remaps C-c and C-x depending on the current state of the
mark (and other conditions), while viper operates in command or insert
mode].

Although the current facilities are sufficient (99% at least), they
_definitely_ are neither elegant, nor efficient, so I would like emacs
to provide some kind of standard feature to better support such modes.

E.g. for cua, I need to ensure that those 7 keymaps are in the front
of minor-mode-map-alist after every command, and I need to set 7
different variables based on the current state so that the next
command can be interpreted correctly... and then I have to be careful
to modify that state if a timer is run which changes the state [which
isn't always possible in theory, although I haven't seen the problem
in practice.]

I'm thinking about other ways to do this...

-- 
Kim F. Storm <storm@cua.dk> http://www.cua.dk

  reply	other threads:[~2002-04-13 23:30 UTC|newest]

Thread overview: 46+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2002-04-11 22:56 Enhancements to "minor-mode-map-alist" functionality Kim F. Storm
2002-04-11 22:43 ` Stefan Monnier
2002-04-12  9:31   ` Kim F. Storm
2002-04-12 13:20     ` Kim F. Storm
2002-04-12 18:46       ` Stefan Monnier
     [not found]         ` <5xofgoobzr.fsf@kfs2.cua.dk>
     [not found]           ` <200204122021.g3CKLh217680@rum.cs.yale.edu>
2002-04-14 22:32             ` Kim F. Storm
2002-04-16 20:18               ` Richard Stallman
2002-04-16 22:34                 ` Kim F. Storm
2002-04-18 18:46                   ` Richard Stallman
2002-04-18 23:07                     ` Kim F. Storm
2002-04-19 13:43                       ` Stefan Monnier
2002-04-19 15:36                         ` Kim F. Storm
2002-04-19 14:46                           ` Stefan Monnier
2002-04-21 17:46                             ` Kim F. Storm
2002-04-22  9:28                               ` Stefan Monnier
2002-04-22 15:15                                 ` Kim F. Storm
2002-04-19 18:42                       ` Richard Stallman
2002-04-19 22:05                         ` Kim F. Storm
2002-04-20 17:27                           ` Richard Stallman
2002-04-21 11:08                             ` Kim F. Storm
2002-04-22  7:47                               ` Richard Stallman
2002-04-22 13:53                                 ` Kim F. Storm
2002-04-22 22:36                               ` Richard Stallman
2002-04-23 10:58                                 ` Kim F. Storm
2002-04-22 22:36                               ` Richard Stallman
2002-04-23 11:02                                 ` Kim F. Storm
2002-04-24 17:55                                   ` Richard Stallman
2002-04-26 13:44                                     ` Kim F. Storm
2002-04-27 22:41                                       ` Richard Stallman
2002-04-29  9:17                                         ` Kai Großjohann
2002-04-30  5:18                                           ` Richard Stallman
2002-04-30 21:25                                             ` Kim F. Storm
2002-05-01  7:14                                               ` Richard Stallman
2002-05-01 17:37                                                 ` Kim F. Storm
2002-04-14 23:11         ` Kim F. Storm
2002-04-12 18:20     ` Stefan Monnier
2002-04-12 21:05       ` Kim F. Storm
2002-04-12 20:30         ` Stefan Monnier
2002-04-12 22:08           ` Kim F. Storm
2002-04-13 19:05     ` Richard Stallman
2002-04-13 19:05 ` Richard Stallman
2002-04-13 23:30   ` Kim F. Storm [this message]
2002-04-15 12:34     ` Stefan Monnier
2002-04-17 16:03       ` Richard Stallman
2002-04-15 21:54     ` Richard Stallman
2002-04-15 23:55       ` Kim F. Storm

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=5xbscnb2hh.fsf@kfs2.cua.dk \
    --to=storm@cua.dk \
    --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).