emacs-devel
[Top][All Lists]
Advanced

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

Re: Patch: enhanced mark navigation commands


From: Ted Zlatanov
Subject: Re: Patch: enhanced mark navigation commands
Date: Tue, 11 Mar 2008 10:08:49 -0500
User-agent: Gnus/5.110007 (No Gnus v0.7) Emacs/23.0.60 (gnu/linux)

On Tue, 11 Mar 2008 00:34:32 +0200 Juri Linkov <address@hidden> wrote: 
JL> Ted Z wrote:
>> After thinking about it, you're right.  I still think there's a need for
>> more unified navigation commands than the hodge-podge we have in Emacs
>> now, but this is not the way to do it.

JL> I doubt that it is possible to build a hierarchy of context-dependent
JL> navigation layers.  

Right, that's what I realized when I thought about my suggestion.

What's needed is a standard way of navigating that every mode can
install quickly and without writing much code.  You call
(emacs-standard-keys-install 'my-mode-keymap) and everything Just
Works.  But this is a hard problem that should be solved only if the
Emacs maintainers agree it's a problem, since fixing it will require
changes to many packages and keybindings.

This is related to the discussion on shifted keys and CUA modes.  IMHO,
motion should be an Emacs standard, and each mode should only customize
the things you can navigate, but not the navigation keys themselves.

Then users could set up the navigation preferences they want and have
them work everywhere.

JL> Do you remember how many problems were caused by just two levels of
JL> next-error navigation (when next-error from the grep buffer arrives
JL> at a diff output file, what the next call to next-error should do:
JL> continue visiting grep matches or start visiting diff hunks)?

Yes, I remember.  DWIM is always harder than it looks.

JL> What would be more useful I think is to find a unified key prefix for
JL> navigation commands.  For instance, `M-g e M-n' would go to the next
JL> error, `M-g t M-n' - to the next tag, `M-g d f M-n' - to the next diff
JL> file in the diff buffer `M-g d h M-n' - to the next diff hunk in the
JL> diff buffer, etc.

JL> Of course, sometimes this might be too much to type, but for every
JL> next call we could just accept the last key (similar to `C-x z z z')
JL> to repeat the last command like `M-g e M-n M-n M-n'.

I agree this should be done in a standard way, maybe the way you
describe.

Ted





reply via email to

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