diff options
author | Juri Linkov <juri@jurta.org> | 2007-07-29 09:18:15 +0000 |
---|---|---|
committer | Juri Linkov <juri@jurta.org> | 2007-07-29 09:18:15 +0000 |
commit | 40aa8257e0032ab475923f1925d75dfc7c8a8706 (patch) | |
tree | d85c8946255895cc17178514cd1c61b76a8509f9 /lisp/dired.el | |
parent | f8f67141f10e299501ac66b496c6647b67a9d3d3 (diff) | |
download | emacs-40aa8257e0032ab475923f1925d75dfc7c8a8706.tar.gz |
(dired-mode-map): Bind C-x C-q to dired-toggle-read-only.
Filter out menu item "Edit File Names" `wdired-change-to-wdired-mode'
when major-mode is not dired-mode.
(dired-toggle-read-only): New function.
(dired-recursive-deletes): Remove obsolete comments about old
default value.
(dired-do-flagged-delete, dired-do-delete): Refill docstring.
Diffstat (limited to 'lisp/dired.el')
-rw-r--r-- | lisp/dired.el | 25 |
1 files changed, 18 insertions, 7 deletions
diff --git a/lisp/dired.el b/lisp/dired.el index 12180856023..1a906093a7a 100644 --- a/lisp/dired.el +++ b/lisp/dired.el @@ -1247,7 +1247,7 @@ Do so according to the former subdir alist OLD-SUBDIR-ALIST." (define-key map "$" 'dired-hide-subdir) (define-key map "\M-$" 'dired-hide-all) ;; misc - (define-key map "\C-x\C-q" 'wdired-change-to-wdired-mode) + (define-key map "\C-x\C-q" 'dired-toggle-read-only) (define-key map "?" 'dired-summary) (define-key map "\177" 'dired-unmark-backward) (define-key map [remap undo] 'dired-undo) @@ -1353,7 +1353,8 @@ Do so according to the former subdir alist OLD-SUBDIR-ALIST." (define-key map [menu-bar immediate create-directory] '(menu-item "Create Directory..." dired-create-directory)) (define-key map [menu-bar immediate wdired-mode] - '(menu-item "Edit File Names" wdired-change-to-wdired-mode)) + '(menu-item "Edit File Names" wdired-change-to-wdired-mode + :filter (lambda (x) (if (eq major-mode 'dired-mode) x)))) (define-key map [menu-bar regexp] (cons "Regexp" (make-sparse-keymap "Regexp"))) @@ -1656,6 +1657,16 @@ You can use it to recover marks, killed lines or subdirs." (message "Change in dired buffer undone. Actual changes in files cannot be undone by Emacs.")) +(defun dired-toggle-read-only () + "Edit dired buffer with Wdired, or set it read-only. +Call `wdired-change-to-wdired-mode' in dired buffers whose editing is +supported by Wdired (the major mode of the dired buffer is `dired-mode'). +Otherwise, for buffers inheriting from dired-mode, call `toggle-read-only'." + (interactive) + (if (eq major-mode 'dired-mode) + (wdired-change-to-wdired-mode) + (toggle-read-only))) + (defun dired-next-line (arg) "Move down lines then position at filename. Optional prefix ARG says how many lines to move; default is one line." @@ -2360,7 +2371,7 @@ Optional argument means return a file name relative to `default-directory'." ;; Deleting files -(defcustom dired-recursive-deletes 'top ; Default only delete empty directories. +(defcustom dired-recursive-deletes 'top "*Decide whether recursive deletes are allowed. A value of nil means no recursive deletes. `always' means delete recursively without asking. This is DANGEROUS! @@ -2409,8 +2420,8 @@ Anything else, ask for each sub-directory." "In Dired, delete the files flagged for deletion. If NOMESSAGE is non-nil, we don't display any message if there are no flagged files. -`dired-recursive-deletes' controls whether -deletion of non-empty directories is allowed." +`dired-recursive-deletes' controls whether deletion of +non-empty directories is allowed." (interactive) (let* ((dired-marker-char dired-del-marker) (regexp (dired-marker-regexp)) @@ -2427,8 +2438,8 @@ deletion of non-empty directories is allowed." (defun dired-do-delete (&optional arg) "Delete all marked (or next ARG) files. -`dired-recursive-deletes' controls whether -deletion of non-empty directories is allowed." +`dired-recursive-deletes' controls whether deletion of +non-empty directories is allowed." ;; This is more consistent with the file marking feature than ;; dired-do-flagged-delete. (interactive "P") |