diff options
| author | Glenn Morris | 2011-02-19 10:55:15 -0800 |
|---|---|---|
| committer | Glenn Morris | 2011-02-19 10:55:15 -0800 |
| commit | 429242317e3abaa40dad9f3d2a9eb537cd0fd9b3 (patch) | |
| tree | 7d993e586781cd40c5c215891054a6c87926c8c2 | |
| parent | 56e96bed349771df1df56546450a21afc75c00d3 (diff) | |
| download | emacs-429242317e3abaa40dad9f3d2a9eb537cd0fd9b3.tar.gz emacs-429242317e3abaa40dad9f3d2a9eb537cd0fd9b3.zip | |
Merge dired-x's dired-clean-up-after-deletion into dired's version.
* lisp/dired-x.el (dired-clean-up-after-deletion): Merge into dired.el.
* lisp/dired.el (dired-clean-up-after-deletion): Merge dired-x's version.
(dired-clean-up-buffers-too): Declare.
* doc/misc/dired-x.texi (Technical Details):
No longer redefine dired-clean-up-after-deletion.
| -rw-r--r-- | doc/misc/ChangeLog | 2 | ||||
| -rw-r--r-- | doc/misc/dired-x.texi | 23 | ||||
| -rw-r--r-- | lisp/ChangeLog | 4 | ||||
| -rw-r--r-- | lisp/dired-x.el | 28 | ||||
| -rw-r--r-- | lisp/dired.el | 26 |
5 files changed, 37 insertions, 46 deletions
diff --git a/doc/misc/ChangeLog b/doc/misc/ChangeLog index 882eec34193..d6fbc06d721 100644 --- a/doc/misc/ChangeLog +++ b/doc/misc/ChangeLog | |||
| @@ -1,7 +1,7 @@ | |||
| 1 | 2011-02-19 Glenn Morris <rgm@gnu.org> | 1 | 2011-02-19 Glenn Morris <rgm@gnu.org> |
| 2 | 2 | ||
| 3 | * dired-x.texi (Technical Details): No longer redefines dired-add-entry, | 3 | * dired-x.texi (Technical Details): No longer redefines dired-add-entry, |
| 4 | or dired-initial-position. | 4 | dired-initial-position, or dired-clean-up-after-deletion. |
| 5 | 5 | ||
| 6 | 2011-02-18 Glenn Morris <rgm@gnu.org> | 6 | 2011-02-18 Glenn Morris <rgm@gnu.org> |
| 7 | 7 | ||
diff --git a/doc/misc/dired-x.texi b/doc/misc/dired-x.texi index 9f7b40ceb58..3bc2964c1b3 100644 --- a/doc/misc/dired-x.texi +++ b/doc/misc/dired-x.texi | |||
| @@ -177,22 +177,15 @@ Point}). | |||
| 177 | @cindex Redefined functions | 177 | @cindex Redefined functions |
| 178 | @cindex @file{dired-aux.el} | 178 | @cindex @file{dired-aux.el} |
| 179 | 179 | ||
| 180 | When loaded this code @emph{redefines} the following functions of GNU Emacs | 180 | When loaded this code @emph{redefines} some standard Dired functions. |
| 181 | from @file{dired.el} | 181 | From @file{dired.el}, the function @code{dired-find-buffer-nocreate}; |
| 182 | |||
| 183 | @itemize @bullet | ||
| 184 | @item | ||
| 185 | @code{dired-clean-up-after-deletion} | ||
| 186 | @item | ||
| 187 | @code{dired-find-buffer-nocreate} | ||
| 188 | @end itemize | ||
| 189 | |||
| 190 | @noindent | ||
| 191 | and from @file{dired-aux.el} the function @code{dired-read-shell-command}. | 182 | and from @file{dired-aux.el} the function @code{dired-read-shell-command}. |
| 192 | In addition, once @file{dired.el} is loaded, @code{dired-add-entry} | 183 | In addition, once @file{dired-x.el} is loaded, the following Dired |
| 193 | obeys Dired Omit mode (@pxref{Omitting Files in Dired}), if it is active. | 184 | functions offer additional features. @code{dired-add-entry} obeys Dired |
| 194 | Similarly, @code{dired-initial-position} obeys @code{dired-find-subdir} | 185 | Omit mode (@pxref{Omitting Files in Dired}), if it is active. |
| 195 | (@pxref{Miscellaneous Commands}). | 186 | @code{dired-initial-position} obeys @code{dired-find-subdir} |
| 187 | (@pxref{Miscellaneous Commands}). @code{dired-clean-up-after-deletion} | ||
| 188 | respects the value of @code{dired-clean-up-buffers-too}. | ||
| 196 | 189 | ||
| 197 | @node Installation, Omitting Files in Dired, Introduction, Top | 190 | @node Installation, Omitting Files in Dired, Introduction, Top |
| 198 | @chapter Installation | 191 | @chapter Installation |
diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 824f5f24d06..8372c03f73d 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog | |||
| @@ -1,5 +1,9 @@ | |||
| 1 | 2011-02-19 Glenn Morris <rgm@gnu.org> | 1 | 2011-02-19 Glenn Morris <rgm@gnu.org> |
| 2 | 2 | ||
| 3 | * dired-x.el (dired-clean-up-after-deletion): Merge into dired.el. | ||
| 4 | * dired.el (dired-clean-up-after-deletion): Merge dired-x's version. | ||
| 5 | (dired-clean-up-buffers-too): Declare. | ||
| 6 | |||
| 3 | * dired-x.el (dired-initial-position): Merge into dired.el's version. | 7 | * dired-x.el (dired-initial-position): Merge into dired.el's version. |
| 4 | * dired.el (dired-initial-position): Merge dired-x's version here. | 8 | * dired.el (dired-initial-position): Merge dired-x's version here. |
| 5 | (dired-find-subdir): Declare. | 9 | (dired-find-subdir): Declare. |
diff --git a/lisp/dired-x.el b/lisp/dired-x.el index 901614e49d0..1810d59712d 100644 --- a/lisp/dired-x.el +++ b/lisp/dired-x.el | |||
| @@ -48,7 +48,7 @@ | |||
| 48 | ;; User customization: M-x customize-group RET dired-x RET. | 48 | ;; User customization: M-x customize-group RET dired-x RET. |
| 49 | 49 | ||
| 50 | ;; When loaded this code redefines the following functions of GNU Emacs: | 50 | ;; When loaded this code redefines the following functions of GNU Emacs: |
| 51 | ;; From dired.el: dired-clean-up-after-deletion, dired-find-buffer-nocreate. | 51 | ;; From dired.el: dired-find-buffer-nocreate. |
| 52 | ;; From dired-aux.el: dired-read-shell-command. | 52 | ;; From dired-aux.el: dired-read-shell-command. |
| 53 | 53 | ||
| 54 | ;; *Please* see the `dired-x' info pages for more details. | 54 | ;; *Please* see the `dired-x' info pages for more details. |
| @@ -323,32 +323,6 @@ See also the functions: | |||
| 323 | (dired-omit-startup)) | 323 | (dired-omit-startup)) |
| 324 | 324 | ||
| 325 | 325 | ||
| 326 | ;;; BUFFER CLEANING. | ||
| 327 | |||
| 328 | ;; REDEFINE. | ||
| 329 | (defun dired-clean-up-after-deletion (fn) | ||
| 330 | "Clean up after a deleted file or directory FN. | ||
| 331 | Remove expanded subdir of deleted dir, if any." | ||
| 332 | (save-excursion (and (cdr dired-subdir-alist) | ||
| 333 | (dired-goto-subdir fn) | ||
| 334 | (dired-kill-subdir))) | ||
| 335 | ;; Offer to kill buffer of deleted file FN. | ||
| 336 | (when dired-clean-up-buffers-too | ||
| 337 | (let ((buf (get-file-buffer fn))) | ||
| 338 | (and buf | ||
| 339 | (funcall #'y-or-n-p | ||
| 340 | (format "Kill buffer of %s, too? " | ||
| 341 | (file-name-nondirectory fn))) | ||
| 342 | (kill-buffer buf))) | ||
| 343 | (let ((buf-list (dired-buffers-for-dir (expand-file-name fn)))) | ||
| 344 | (and buf-list | ||
| 345 | (y-or-n-p (format "Kill dired buffer%s of %s, too? " | ||
| 346 | (dired-plural-s (length buf-list)) | ||
| 347 | (file-name-nondirectory fn))) | ||
| 348 | (dolist (buf buf-list) | ||
| 349 | (kill-buffer buf)))))) | ||
| 350 | |||
| 351 | |||
| 352 | ;;; EXTENSION MARKING FUNCTIONS. | 326 | ;;; EXTENSION MARKING FUNCTIONS. |
| 353 | 327 | ||
| 354 | ;; Mark files with some extension. | 328 | ;; Mark files with some extension. |
diff --git a/lisp/dired.el b/lisp/dired.el index 101ee78992d..c5174561faf 100644 --- a/lisp/dired.el +++ b/lisp/dired.el | |||
| @@ -2749,12 +2749,32 @@ non-empty directories is allowed." | |||
| 2749 | (save-excursion (forward-line 1) (point)))))) | 2749 | (save-excursion (forward-line 1) (point)))))) |
| 2750 | (dired-clean-up-after-deletion file)) | 2750 | (dired-clean-up-after-deletion file)) |
| 2751 | 2751 | ||
| 2752 | ;; This is a separate function for the sake of dired-x.el. | 2752 | (defvar dired-clean-up-buffers-too) |
| 2753 | |||
| 2753 | (defun dired-clean-up-after-deletion (fn) | 2754 | (defun dired-clean-up-after-deletion (fn) |
| 2754 | ;; Clean up after a deleted file or directory FN. | 2755 | "Clean up after a deleted file or directory FN. |
| 2756 | Removes any expanded subdirectory of deleted directory. | ||
| 2757 | If `dired-x' is loaded and `dired-clean-up-buffers-too' is non-nil, | ||
| 2758 | also offers to kill buffers visiting deleted files and directories." | ||
| 2755 | (save-excursion (and (cdr dired-subdir-alist) | 2759 | (save-excursion (and (cdr dired-subdir-alist) |
| 2756 | (dired-goto-subdir fn) | 2760 | (dired-goto-subdir fn) |
| 2757 | (dired-kill-subdir)))) | 2761 | (dired-kill-subdir))) |
| 2762 | ;; Offer to kill buffer of deleted file FN. | ||
| 2763 | (when (and (featurep 'dired-x) dired-clean-up-buffers-too) | ||
| 2764 | (let ((buf (get-file-buffer fn))) | ||
| 2765 | (and buf | ||
| 2766 | (funcall #'y-or-n-p | ||
| 2767 | (format "Kill buffer of %s, too? " | ||
| 2768 | (file-name-nondirectory fn))) | ||
| 2769 | (kill-buffer buf))) | ||
| 2770 | (let ((buf-list (dired-buffers-for-dir (expand-file-name fn)))) | ||
| 2771 | (and buf-list | ||
| 2772 | (y-or-n-p (format "Kill dired buffer%s of %s, too? " | ||
| 2773 | (dired-plural-s (length buf-list)) | ||
| 2774 | (file-name-nondirectory fn))) | ||
| 2775 | (dolist (buf buf-list) | ||
| 2776 | (kill-buffer buf)))))) | ||
| 2777 | |||
| 2758 | 2778 | ||
| 2759 | ;; Confirmation | 2779 | ;; Confirmation |
| 2760 | 2780 | ||