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: Juri Linkov
Subject: Re: Patch: enhanced mark navigation commands
Date: Tue, 11 Mar 2008 00:34:32 +0200
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/23.0.60 (x86_64-unknown-linux-gnu)

>>> I think it's possible to make this useful with navigation layers.
>>>
>>> Layers 0-9 reserved for char/word/paragraph/page/etc motion
>>> Layer 10: edits (what Adrian Robert's patch provides)
>>> Layer 11: tags (ctags, etags, etc.); function/variable definitions
>>> Layer 12: grep/diff/compile/occur points
>>> Layer 13: buffers (like cycle-buffer)
>>> Layer 14: Gnus articles or dired files or other bundles of information
>>> Layer 15: Gnus groups (or other aggregators for layer 14)
>>> Layer 16: Gnus topics (or other aggregators for layer 15)
>>>
>>> Layers 10 and 11 may have to be swapped.  We may think of more layers,
>>> and what I've listed above is just an idea.  The point is that we'll
>>> give the user a way to move back and forth between things that are
>>> interesting.
>
> MB> To be honest, it sounds maddeningly annoying...
>
> 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.

I doubt that it is possible to build a hierarchy of context-dependent
navigation layers.  Do you remember how many problems were caused by
just two levels of next-error navigation (when next-error from
the grep buffer arrives at a diff output file, what the next call
to next-error should do: continue visiting grep matches or start
visiting diff hunks)?

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

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

-- 
Juri Linkov
http://www.jurta.org/emacs/




reply via email to

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