Mercurial > emacs
changeset 20991:0cd10d49b777
(dired-do-toggle): Moved here from dired-x.el.
(dired-mode-map): Changed dired-do-toggle from "T" to "t".
author | Karl Heuer <kwzh@gnu.org> |
---|---|
date | Fri, 27 Feb 1998 21:45:01 +0000 |
parents | eefd01920e56 |
children | d2366423bc00 |
files | lisp/dired.el |
diffstat | 1 files changed, 26 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/lisp/dired.el Fri Feb 27 21:44:39 1998 +0000 +++ b/lisp/dired.el Fri Feb 27 21:45:01 1998 +0000 @@ -893,6 +893,7 @@ (define-key map "p" 'dired-previous-line) (define-key map "q" 'dired-quit) (define-key map "s" 'dired-sort-toggle-or-edit) + (define-key map "t" 'dired-do-toggle) (define-key map "u" 'dired-unmark) (define-key map "v" 'dired-view-file) (define-key map "x" 'dired-do-flagged-delete) @@ -1019,6 +1020,8 @@ '("Unmark" . dired-unmark)) (define-key map [menu-bar mark mark] '("Mark" . dired-mark)) + (define-key map [menu-bar mark toggle-marks] + '("Toggle Marks" . dired-do-toggle)) (define-key map [menu-bar operate] (cons "Operate" (make-sparse-keymap "Operate"))) @@ -2099,6 +2102,29 @@ Optional prefix ARG says how many lines to unflag; default is one line." (interactive "p") (dired-unmark (- arg))) + +(defun dired-do-toggle () + "Toggle marks. +That is, currently marked files become unmarked and vice versa. +Files marked with other flags (such as `D') are not affected. +`.' and `..' are never toggled. +As always, hidden subdirs are not affected." + (interactive) + (save-excursion + (goto-char (point-min)) + (let (buffer-read-only) + (while (not (eobp)) + (or (dired-between-files) + (looking-at dired-re-dot) + ;; use subst instead of insdel because it does not move + ;; the gap and thus should be faster and because + ;; other characters are left alone automatically + (apply 'subst-char-in-region + (point) (1+ (point)) + (if (eq ?\040 (following-char)) ; SPC + (list ?\040 dired-marker-char) + (list dired-marker-char ?\040)))) + (forward-line 1))))) ;;; Commands to mark or flag files based on their characteristics or names.