emacs-devel
[Top][All Lists]
Advanced

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

Re: next-error-last-buffer


From: Juri Linkov
Subject: Re: next-error-last-buffer
Date: Tue, 25 May 2004 23:22:11 +0300
User-agent: Gnus/5.110002 (No Gnus v0.2) Emacs/21.3.50 (gnu/linux)

It seems more work is needed to generalize the next-error framework
for different modes.  The functions next-error-*, previous-error-*
is a good start, but there are still similar functions with different
names in compile/grep/occur/diff.  And what is worse is that all these
modes have different keybindings for similar functions.

Below is a proposal for unification of command names and keybindings.
On the first indentation level there is a new command name with
unified keybindings.  On the second level - mode map name.  On the
third level - the current keybinding and command name.

goto-error: C-m, C-c C-c, M-o
  compilation-mode-map
    C-c C-c  compile-goto-error
    C-m      compile-goto-error
  grep-mode-map
    \r       compile-goto-error
  diff-mode-shared-map
    C-M-m    diff-goto-source
    M-o      diff-goto-source
    C-c C-c  diff-goto-source
  occur-mode-map
    C-c C-c  occur-mode-goto-occurrence
    C-m      occur-mode-goto-occurrence

goto-error-no-select: C-o
  occur-mode-map
    o        occur-mode-goto-occurrence-other-window
    C-o      occur-mode-display-occurrence

next-error-no-visit: M-n
  compilation-mode-map
    M-n      compilation-next-error
  diff-mode-shared-map
    M-n      diff-hunk-next
  occur-mode-map
    M-n      occur-next

previous-error-no-visit: M-p
  compilation-mode-map
    M-p      compilation-previous-error
  diff-mode-shared-map
    M-p      diff-hunk-prev
  occur-mode-map
    M-p      occur-prev

next-error-no-select: C-M-n
  grep-mode-map
    n        next-error-no-select

previous-error-no-select: C-M-p
  grep-mode-map
    p        previous-error-no-select

next-error-file-no-select: M-}, M-N
  compilation-mode-map
    M-}      compilation-next-file
  grep-mode-map
    }        compilation-next-file
    \t       compilation-next-file
  diff-mode-shared-map
    M-N      diff-file-next
    M-}      diff-file-next

previous-error-file-no-select: M-{, M-P
  compilation-mode-map
    M-{      compilation-previous-file
  grep-mode-map
    {        compilation-previous-file
  diff-mode-shared-map
    M-P      diff-file-prev
    M-{      diff-file-prev

next-error-file: new global command without keybindings
previous-error-file: new global command without keybindings


Other current keybindings which could be unified somehow as well:

compilation-mode-map
    SPC      scroll-up
    DEL      scroll-down

grep-mode-map
    SPC      scroll-up
    DEL      scroll-down

diff-mode-shared-map
    M-SPC    scroll-up
    M-DEL    scroll-down
    M-q      quit-window

occur-mode-map
    r       occur-rename-buffer
    c       clone-buffer
    g       revert-buffer
    q       quit-window
    z       kill-this-buffer

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





reply via email to

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