emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Emacs-diffs] /srv/bzr/emacs/trunk r103349: Merge dired-x's dired-clean-


From: Glenn Morris
Subject: [Emacs-diffs] /srv/bzr/emacs/trunk r103349: Merge dired-x's dired-clean-up-after-deletion into dired's version.
Date: Sat, 19 Feb 2011 10:55:15 -0800
User-agent: Bazaar (2.0.3)

------------------------------------------------------------
revno: 103349
committer: Glenn Morris <address@hidden>
branch nick: trunk
timestamp: Sat 2011-02-19 10:55:15 -0800
message:
  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.
modified:
  doc/misc/ChangeLog
  doc/misc/dired-x.texi
  lisp/ChangeLog
  lisp/dired-x.el
  lisp/dired.el
=== modified file 'doc/misc/ChangeLog'
--- a/doc/misc/ChangeLog        2011-02-19 04:12:23 +0000
+++ b/doc/misc/ChangeLog        2011-02-19 18:55:15 +0000
@@ -1,7 +1,7 @@
 2011-02-19  Glenn Morris  <address@hidden>
 
        * dired-x.texi (Technical Details): No longer redefines dired-add-entry,
-       or dired-initial-position.
+       dired-initial-position, or dired-clean-up-after-deletion.
 
 2011-02-18  Glenn Morris  <address@hidden>
 

=== modified file 'doc/misc/dired-x.texi'
--- a/doc/misc/dired-x.texi     2011-02-19 04:12:23 +0000
+++ b/doc/misc/dired-x.texi     2011-02-19 18:55:15 +0000
@@ -177,22 +177,15 @@
 @cindex Redefined functions
 @cindex @file{dired-aux.el}
 
-When loaded this code @emph{redefines} the following functions of GNU Emacs
-from @file{dired.el}
-
address@hidden @bullet
address@hidden
address@hidden
address@hidden
address@hidden
address@hidden itemize
-
address@hidden
+When loaded this code @emph{redefines} some standard Dired functions.
+From @file{dired.el}, the function @code{dired-find-buffer-nocreate}; 
 and from @file{dired-aux.el} the function @code{dired-read-shell-command}.
-In addition, once @file{dired.el} is loaded, @code{dired-add-entry}
-obeys Dired Omit mode (@pxref{Omitting Files in Dired}), if it is active.
-Similarly, @code{dired-initial-position} obeys @code{dired-find-subdir}
-(@pxref{Miscellaneous Commands}).
+In addition, once @file{dired-x.el} is loaded, the following Dired
+functions offer additional features.  @code{dired-add-entry} obeys Dired
+Omit mode (@pxref{Omitting Files in Dired}), if it is active.
address@hidden obeys @code{dired-find-subdir}
+(@pxref{Miscellaneous Commands}).  @code{dired-clean-up-after-deletion}
+respects the value of @code{dired-clean-up-buffers-too}.
 
 @node Installation, Omitting Files in Dired, Introduction, Top
 @chapter Installation

=== modified file 'lisp/ChangeLog'
--- a/lisp/ChangeLog    2011-02-19 04:12:23 +0000
+++ b/lisp/ChangeLog    2011-02-19 18:55:15 +0000
@@ -1,5 +1,9 @@
 2011-02-19  Glenn Morris  <address@hidden>
 
+       * dired-x.el (dired-clean-up-after-deletion): Merge into dired.el.
+       * dired.el (dired-clean-up-after-deletion): Merge dired-x's version.
+       (dired-clean-up-buffers-too): Declare.
+
        * dired-x.el (dired-initial-position): Merge into dired.el's version.
        * dired.el (dired-initial-position): Merge dired-x's version here.
        (dired-find-subdir): Declare.

=== modified file 'lisp/dired-x.el'
--- a/lisp/dired-x.el   2011-02-19 04:12:23 +0000
+++ b/lisp/dired-x.el   2011-02-19 18:55:15 +0000
@@ -48,7 +48,7 @@
 ;; User customization: M-x customize-group RET dired-x RET.
 
 ;; When loaded this code redefines the following functions of GNU Emacs:
-;; From dired.el: dired-clean-up-after-deletion, dired-find-buffer-nocreate.
+;; From dired.el: dired-find-buffer-nocreate.
 ;; From dired-aux.el: dired-read-shell-command.
 
 ;; *Please* see the `dired-x' info pages for more details.
@@ -323,32 +323,6 @@
   (dired-omit-startup))
 
 
-;;; BUFFER CLEANING.
-
-;; REDEFINE.
-(defun dired-clean-up-after-deletion (fn)
-  "Clean up after a deleted file or directory FN.
-Remove expanded subdir of deleted dir, if any."
-  (save-excursion (and (cdr dired-subdir-alist)
-                       (dired-goto-subdir fn)
-                       (dired-kill-subdir)))
-  ;; Offer to kill buffer of deleted file FN.
-  (when dired-clean-up-buffers-too
-    (let ((buf (get-file-buffer fn)))
-      (and buf
-           (funcall #'y-or-n-p
-                    (format "Kill buffer of %s, too? "
-                            (file-name-nondirectory fn)))
-           (kill-buffer buf)))
-    (let ((buf-list (dired-buffers-for-dir (expand-file-name fn))))
-      (and buf-list
-           (y-or-n-p (format "Kill dired buffer%s of %s, too? "
-                             (dired-plural-s (length buf-list))
-                             (file-name-nondirectory fn)))
-           (dolist (buf buf-list)
-             (kill-buffer buf))))))
-
-
 ;;; EXTENSION MARKING FUNCTIONS.
 
 ;; Mark files with some extension.

=== modified file 'lisp/dired.el'
--- a/lisp/dired.el     2011-02-19 09:35:15 +0000
+++ b/lisp/dired.el     2011-02-19 18:55:15 +0000
@@ -2749,12 +2749,32 @@
                          (save-excursion (forward-line 1) (point))))))
   (dired-clean-up-after-deletion file))
 
-;; This is a separate function for the sake of dired-x.el.
+(defvar dired-clean-up-buffers-too)
+
 (defun dired-clean-up-after-deletion (fn)
-  ;; Clean up after a deleted file or directory FN.
+  "Clean up after a deleted file or directory FN.
+Removes any expanded subdirectory of deleted directory.
+If `dired-x' is loaded and `dired-clean-up-buffers-too' is non-nil,
+also offers to kill buffers visiting deleted files and directories."
   (save-excursion (and (cdr dired-subdir-alist)
                       (dired-goto-subdir fn)
-                      (dired-kill-subdir))))
+                      (dired-kill-subdir)))
+  ;; Offer to kill buffer of deleted file FN.
+  (when (and (featurep 'dired-x) dired-clean-up-buffers-too)
+    (let ((buf (get-file-buffer fn)))
+      (and buf
+           (funcall #'y-or-n-p
+                    (format "Kill buffer of %s, too? "
+                            (file-name-nondirectory fn)))
+           (kill-buffer buf)))
+    (let ((buf-list (dired-buffers-for-dir (expand-file-name fn))))
+      (and buf-list
+           (y-or-n-p (format "Kill dired buffer%s of %s, too? "
+                             (dired-plural-s (length buf-list))
+                             (file-name-nondirectory fn)))
+           (dolist (buf buf-list)
+             (kill-buffer buf))))))
+
 
 ;; Confirmation
 


reply via email to

[Prev in Thread] Current Thread [Next in Thread]