aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGlenn Morris2011-02-19 10:55:15 -0800
committerGlenn Morris2011-02-19 10:55:15 -0800
commit429242317e3abaa40dad9f3d2a9eb537cd0fd9b3 (patch)
tree7d993e586781cd40c5c215891054a6c87926c8c2
parent56e96bed349771df1df56546450a21afc75c00d3 (diff)
downloademacs-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/ChangeLog2
-rw-r--r--doc/misc/dired-x.texi23
-rw-r--r--lisp/ChangeLog4
-rw-r--r--lisp/dired-x.el28
-rw-r--r--lisp/dired.el26
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 @@
12011-02-19 Glenn Morris <rgm@gnu.org> 12011-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
62011-02-18 Glenn Morris <rgm@gnu.org> 62011-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
180When loaded this code @emph{redefines} the following functions of GNU Emacs 180When loaded this code @emph{redefines} some standard Dired functions.
181from @file{dired.el} 181From @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
191and from @file{dired-aux.el} the function @code{dired-read-shell-command}. 182and from @file{dired-aux.el} the function @code{dired-read-shell-command}.
192In addition, once @file{dired.el} is loaded, @code{dired-add-entry} 183In addition, once @file{dired-x.el} is loaded, the following Dired
193obeys Dired Omit mode (@pxref{Omitting Files in Dired}), if it is active. 184functions offer additional features. @code{dired-add-entry} obeys Dired
194Similarly, @code{dired-initial-position} obeys @code{dired-find-subdir} 185Omit 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}
188respects 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 @@
12011-02-19 Glenn Morris <rgm@gnu.org> 12011-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.
331Remove 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.
2756Removes any expanded subdirectory of deleted directory.
2757If `dired-x' is loaded and `dired-clean-up-buffers-too' is non-nil,
2758also 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