Subject: bug#16214: Consistency in dired-, occur-, and grep-mode

From: Juri Linkov <[email-masked]>
Date: Sat, 21 Dec 2013 23:30:08 +0200

> I'd also like to see these modes' interfaces for similar functionality
> become more consistent.  They already have similarities such as
> binding `g' to logical refresh operations and further harmonization
> would be great.

Then help-mode could bind `g' to `revert-buffer' too, but the problem
is that then help-mode will be inconsistent with Info-mode where
`g' is bound to `Info-goto-node'.

> Another difference between their interfaces that I'd like to see
> reconciled is the key binding to make these buffers editable, i.e. to
> enable the functionality provided by Emacs' `wdired-mode' and
> `occur-edit-mode', and the third-party wgrep library[0].  Though the
> bindings to commit and abort edits are consistent between the three,
> the enablement bindings are not.  I haven't managed to keep them
> straight yet so I sometimes hit `e' in a dired buffer and end up
> visiting the file at point instead of enabling wdired, and similarly
> sometimes hit C-x C-q in an occur buffer which calls the standard
> `read-only-mode' instead of enabling `occur-edit-mode'.

The difference is because it's more useful to type `C-x C-q' to change
read-onlyness of an occur buffer and edit it textually than to do the
same in a dired buffer where random edits (other than renaming file names)
make less sense.

> In regard to your proposed C-o and SPC bindings, I wonder if it would
> be worthwhile to extend `next-error-follow-minor-mode' to support
> dired, perhaps including the ability to restrict which files were
> displayed via regexps or a function.

This is possible, and then `M-g n' could visit the next file in a sequence,
and maybe the same key prefix could be used also for other binding
to make them more consistent, e.g. `M-g o' for `dired-find-file-other-window',
`M-g C-o' for `dired-display-file', etc.

> Users can always customize bindings to suit their taste, but a
> consistent set of defaults makes Emacs more accessible to new users
> and makes guesses about where to find desired functionality more
> likely to be correct.

I'd also add the vc-dir mode to the list of modes to share
the same keybindings.