diff options
| author | Juri Linkov | 2007-07-29 09:18:15 +0000 |
|---|---|---|
| committer | Juri Linkov | 2007-07-29 09:18:15 +0000 |
| commit | 40aa8257e0032ab475923f1925d75dfc7c8a8706 (patch) | |
| tree | d85c8946255895cc17178514cd1c61b76a8509f9 | |
| parent | f8f67141f10e299501ac66b496c6647b67a9d3d3 (diff) | |
| download | emacs-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/NEWS | 4 | ||||
| -rw-r--r-- | lisp/ChangeLog | 13 | ||||
| -rw-r--r-- | lisp/dired.el | 25 |
3 files changed, 34 insertions, 8 deletions
| @@ -155,7 +155,9 @@ file copy is checked via the file's checksum. | |||
| 155 | If `default-directory' is a remote file name, subprocesses are started | 155 | If `default-directory' is a remote file name, subprocesses are started |
| 156 | on the corresponding remote system. | 156 | on 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, |
| 159 | and C-x C-q in wdired-mode exits it with asking a question about | ||
| 160 | saving 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 @@ | |||
| 1 | 2007-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 | |||
| 1 | 2007-07-28 Stefan Monnier <monnier@iro.umontreal.ca> | 14 | 2007-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. |
| 1657 | Actual changes in files cannot be undone by Emacs.")) | 1658 | Actual 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. | ||
| 1662 | Call `wdired-change-to-wdired-mode' in dired buffers whose editing is | ||
| 1663 | supported by Wdired (the major mode of the dired buffer is `dired-mode'). | ||
| 1664 | Otherwise, 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. |
| 1661 | Optional prefix ARG says how many lines to move; default is one line." | 1672 | 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'." | |||
| 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. |
| 2365 | A value of nil means no recursive deletes. | 2376 | A 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. |
| 2410 | If NOMESSAGE is non-nil, we don't display any message | 2421 | If NOMESSAGE is non-nil, we don't display any message |
| 2411 | if there are no flagged files. | 2422 | if there are no flagged files. |
| 2412 | `dired-recursive-deletes' controls whether | 2423 | `dired-recursive-deletes' controls whether deletion of |
| 2413 | deletion of non-empty directories is allowed." | 2424 | non-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 |
| 2431 | deletion of non-empty directories is allowed." | 2442 | non-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") |