emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: position on changing defaults?


From: Kim F. Storm
Subject: Re: position on changing defaults?
Date: Wed, 12 Mar 2008 10:56:23 +0100
User-agent: Gnus/5.11 (Gnus v5.11) Emacs/22.1.92 (gnu/linux)

Stefan Monnier <address@hidden> writes:

>> However, your proposal to bind S-<whatever> to a command which runs 
>> the command of the underlying unshifted key would actually do better
>> than that, as it doesn't need to know in advance what that command is.
>
> Instead, it presumes that that key is only ever used for
> cursor movement.  If the key is rebound to something that behaves
> differently.  E.g. if the user rebinds C-f to find-file, S-C-f might
> activate the region and then call find-file.

That's very true - but if a major mode binds some other command to
e.g. C-f, it would be very odd if that command is not a movement
command - anything else would break "user expectations".

OTOH, there are specialized modes, such as ido-mode where C-f
(in the minibuffer) has a rather tricky behaviour depending
on position and context - and in general does NOT do movement.
But I've not had any reason to use shift- movement in
the minibuffer when ido is active (that has very little
meaning).

I've made a working implementation of RMS' approach together with
variations of Miles proposal and there is one major problem with it -
you cannot in general give a prefix arg to a shifted movement command.

E.g. C-5 S-right works, marking next 5 chars.

But S-right C-5 S-right, also just marks 5 chars, as the C-5
prefix deactivates the mark set by the first S-right.


BTW, we discussed making transient-mark-mode the default - so
can we assume that transient-mark-mode is _on_ for the shifted
movement keys to work?  Or do we have to find a solution which
works also for transient-mark-mode off (e.g. setting it on
temporarily as Miles approach did).

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





reply via email to

[Prev in Thread] Current Thread [Next in Thread]