aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJuri Linkov2007-07-29 09:18:15 +0000
committerJuri Linkov2007-07-29 09:18:15 +0000
commit40aa8257e0032ab475923f1925d75dfc7c8a8706 (patch)
treed85c8946255895cc17178514cd1c61b76a8509f9
parentf8f67141f10e299501ac66b496c6647b67a9d3d3 (diff)
downloademacs-40aa8257e0032ab475923f1925d75dfc7c8a8706.tar.gz
emacs-40aa8257e0032ab475923f1925d75dfc7c8a8706.zip
(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.
-rw-r--r--etc/NEWS4
-rw-r--r--lisp/ChangeLog13
-rw-r--r--lisp/dired.el25
3 files changed, 34 insertions, 8 deletions
diff --git a/etc/NEWS b/etc/NEWS
index ebf8a85802a..3bfda493464 100644
--- a/etc/NEWS
+++ b/etc/NEWS
@@ -155,7 +155,9 @@ file copy is checked via the file's checksum.
155If `default-directory' is a remote file name, subprocesses are started 155If `default-directory' is a remote file name, subprocesses are started
156on the corresponding remote system. 156on the corresponding remote system.
157 157
158** C-x C-q in dired-mode now runs the command wdired-change-to-wdired-mode. 158** C-x C-q in dired-mode now runs the command wdired-change-to-wdired-mode,
159and C-x C-q in wdired-mode exits it with asking a question about
160saving changes.
159 161
160* Changes in Emacs 23.1 on non-free operating systems 162* Changes in Emacs 23.1 on non-free operating systems
161 163
diff --git a/lisp/ChangeLog b/lisp/ChangeLog
index 0a55d2a837d..a1eb9ee1036 100644
--- a/lisp/ChangeLog
+++ b/lisp/ChangeLog
@@ -1,3 +1,16 @@
12007-07-29 Juri Linkov <juri@jurta.org>
2
3 * dired.el (dired-mode-map): Bind C-x C-q to dired-toggle-read-only.
4 Filter out menu item "Edit File Names" `wdired-change-to-wdired-mode'
5 when major-mode is not dired-mode.
6 (dired-toggle-read-only): New function.
7 (dired-recursive-deletes): Remove obsolete comments about old
8 default value.
9 (dired-do-flagged-delete, dired-do-delete): Refill docstring.
10
11 * wdired.el (wdired-exit): New function.
12 (wdired-mode-map): Bind C-x C-q to wdired-exit.
13
12007-07-28 Stefan Monnier <monnier@iro.umontreal.ca> 142007-07-28 Stefan Monnier <monnier@iro.umontreal.ca>
2 15
3 * cus-edit.el (customize-read-group): New fun. 16 * cus-edit.el (customize-read-group): New fun.
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."
1247 (define-key map "$" 'dired-hide-subdir) 1247 (define-key map "$" 'dired-hide-subdir)
1248 (define-key map "\M-$" 'dired-hide-all) 1248 (define-key map "\M-$" 'dired-hide-all)
1249 ;; misc 1249 ;; misc
1250 (define-key map "\C-x\C-q" 'wdired-change-to-wdired-mode) 1250 (define-key map "\C-x\C-q" 'dired-toggle-read-only)
1251 (define-key map "?" 'dired-summary) 1251 (define-key map "?" 'dired-summary)
1252 (define-key map "\177" 'dired-unmark-backward) 1252 (define-key map "\177" 'dired-unmark-backward)
1253 (define-key map [remap undo] 'dired-undo) 1253 (define-key map [remap undo] 'dired-undo)
@@ -1353,7 +1353,8 @@ Do so according to the former subdir alist OLD-SUBDIR-ALIST."
1353 (define-key map [menu-bar immediate create-directory] 1353 (define-key map [menu-bar immediate create-directory]
1354 '(menu-item "Create Directory..." dired-create-directory)) 1354 '(menu-item "Create Directory..." dired-create-directory))
1355 (define-key map [menu-bar immediate wdired-mode] 1355 (define-key map [menu-bar immediate wdired-mode]
1356 '(menu-item "Edit File Names" wdired-change-to-wdired-mode)) 1356 '(menu-item "Edit File Names" wdired-change-to-wdired-mode
1357 :filter (lambda (x) (if (eq major-mode 'dired-mode) x))))
1357 1358
1358 (define-key map [menu-bar regexp] 1359 (define-key map [menu-bar regexp]
1359 (cons "Regexp" (make-sparse-keymap "Regexp"))) 1360 (cons "Regexp" (make-sparse-keymap "Regexp")))
@@ -1656,6 +1657,16 @@ You can use it to recover marks, killed lines or subdirs."
1656 (message "Change in dired buffer undone. 1657 (message "Change in dired buffer undone.
1657Actual changes in files cannot be undone by Emacs.")) 1658Actual changes in files cannot be undone by Emacs."))
1658 1659
1660(defun dired-toggle-read-only ()
1661 "Edit dired buffer with Wdired, or set it read-only.
1662Call `wdired-change-to-wdired-mode' in dired buffers whose editing is
1663supported by Wdired (the major mode of the dired buffer is `dired-mode').
1664Otherwise, for buffers inheriting from dired-mode, call `toggle-read-only'."
1665 (interactive)
1666 (if (eq major-mode 'dired-mode)
1667 (wdired-change-to-wdired-mode)
1668 (toggle-read-only)))
1669
1659(defun dired-next-line (arg) 1670(defun dired-next-line (arg)
1660 "Move down lines then position at filename. 1671 "Move down lines then position at filename.
1661Optional prefix ARG says how many lines to move; default is one line." 1672Optional 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'."
2360 2371
2361;; Deleting files 2372;; Deleting files
2362 2373
2363(defcustom dired-recursive-deletes 'top ; Default only delete empty directories. 2374(defcustom dired-recursive-deletes 'top
2364 "*Decide whether recursive deletes are allowed. 2375 "*Decide whether recursive deletes are allowed.
2365A value of nil means no recursive deletes. 2376A value of nil means no recursive deletes.
2366`always' means delete recursively without asking. This is DANGEROUS! 2377`always' means delete recursively without asking. This is DANGEROUS!
@@ -2409,8 +2420,8 @@ Anything else, ask for each sub-directory."
2409 "In Dired, delete the files flagged for deletion. 2420 "In Dired, delete the files flagged for deletion.
2410If NOMESSAGE is non-nil, we don't display any message 2421If NOMESSAGE is non-nil, we don't display any message
2411if there are no flagged files. 2422if there are no flagged files.
2412`dired-recursive-deletes' controls whether 2423`dired-recursive-deletes' controls whether deletion of
2413deletion of non-empty directories is allowed." 2424non-empty directories is allowed."
2414 (interactive) 2425 (interactive)
2415 (let* ((dired-marker-char dired-del-marker) 2426 (let* ((dired-marker-char dired-del-marker)
2416 (regexp (dired-marker-regexp)) 2427 (regexp (dired-marker-regexp))
@@ -2427,8 +2438,8 @@ deletion of non-empty directories is allowed."
2427 2438
2428(defun dired-do-delete (&optional arg) 2439(defun dired-do-delete (&optional arg)
2429 "Delete all marked (or next ARG) files. 2440 "Delete all marked (or next ARG) files.
2430`dired-recursive-deletes' controls whether 2441`dired-recursive-deletes' controls whether deletion of
2431deletion of non-empty directories is allowed." 2442non-empty directories is allowed."
2432 ;; This is more consistent with the file marking feature than 2443 ;; This is more consistent with the file marking feature than
2433 ;; dired-do-flagged-delete. 2444 ;; dired-do-flagged-delete.
2434 (interactive "P") 2445 (interactive "P")