unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: Juri Linkov <juri@jurta.org>
To: Ted Zlatanov <tzz@lifelogs.com>
Cc: emacs-devel@gnu.org
Subject: Re: Patch: enhanced mark navigation commands
Date: Tue, 11 Mar 2008 00:34:32 +0200	[thread overview]
Message-ID: <87pru2nslr.fsf@jurta.org> (raw)
In-Reply-To: <86pru2vi77.fsf@lifelogs.com> (Ted Zlatanov's message of "Mon, 10 Mar 2008 08:09:48 -0500")

>>> 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	other threads:[~2008-03-10 22:34 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-03-05  5:12 Patch: enhanced mark navigation commands Adrian Robert
2008-03-05  6:19 ` Miles Bader
2008-03-05 12:23   ` paul r
2008-03-05  6:41 ` Dan Nicolaescu
2008-03-06  0:57   ` Juri Linkov
2008-03-06  1:47     ` Dan Nicolaescu
2008-03-06  7:18       ` Drew Adams
2008-03-06 10:09       ` Juri Linkov
2008-03-09 21:55     ` Juri Linkov
2008-03-05 16:11 ` Ted Zlatanov
2008-03-05 19:20   ` Stefan Monnier
2008-03-05 19:48     ` Ted Zlatanov
2008-03-05 22:10       ` Miles Bader
2008-03-10 13:09         ` Ted Zlatanov
2008-03-10 22:34           ` Juri Linkov [this message]
2008-03-11 15:08             ` Ted Zlatanov
2008-03-06  0:54 ` Juri Linkov

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=87pru2nslr.fsf@jurta.org \
    --to=juri@jurta.org \
    --cc=emacs-devel@gnu.org \
    --cc=tzz@lifelogs.com \
    /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).