emacs-diffs
[Top][All Lists]
Advanced

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

[Emacs-diffs] /srv/bzr/emacs/trunk r103353: Merge dired-x's dired-find-b


From: Glenn Morris
Subject: [Emacs-diffs] /srv/bzr/emacs/trunk r103353: Merge dired-x's dired-find-buffer-nocreate into dired.el.
Date: Sat, 19 Feb 2011 12:36:54 -0800
User-agent: Bazaar (2.0.3)

------------------------------------------------------------
revno: 103353
committer: Glenn Morris <address@hidden>
branch nick: trunk
timestamp: Sat 2011-02-19 12:36:54 -0800
message:
  Merge dired-x's dired-find-buffer-nocreate into dired.el.
  
  * lisp/dired-x.el (dired-find-buffer-nocreate): Merge into dired.el.
  
  * lisp/dired.el (dired-find-buffer-nocreate): Merge dired-x version.
  
  * doc/misc/dired-x.texi (Technical Details):
  No longer redefines dired-find-buffer-nocreate.
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 19:40:59 +0000
+++ b/doc/misc/ChangeLog        2011-02-19 20:36:54 +0000
@@ -51,8 +51,8 @@
 2011-02-19  Glenn Morris  <address@hidden>
 
        * dired-x.texi (Technical Details): No longer redefines dired-add-entry,
-       dired-initial-position, dired-clean-up-after-deletion, or
-       dired-read-shell-command.
+       dired-initial-position, dired-clean-up-after-deletion,
+       dired-read-shell-command, or dired-find-buffer-nocreate.
 
 2011-02-18  Glenn Morris  <address@hidden>
 

=== modified file 'doc/misc/dired-x.texi'
--- a/doc/misc/dired-x.texi     2011-02-19 19:40:59 +0000
+++ b/doc/misc/dired-x.texi     2011-02-19 20:36:54 +0000
@@ -174,19 +174,19 @@
 
 @node Technical Details, , Features, Introduction
 @section Technical Details
address@hidden Redefined functions
address@hidden Modified functions
 @cindex @file{dired-aux.el}
 
-When loaded this code @emph{redefines} the standard @file{dired.el}
-function @code{dired-find-buffer-nocreate}.  In addition, once
address@hidden 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}.
address@hidden uses @code{dired-guess-shell-command}
-(@pxref{Shell Command Guessing}) to offer a smarter default command.
+When @file{dired-x.el} is loaded, some standard Dired functions from
address@hidden and @file{dired-aux.el} offer additional features.
address@hidden obeys Dired Omit mode (@pxref{Omitting Files in
+Dired}), if it is active.  @code{dired-find-buffer-nocreate} and
address@hidden respect the value of
address@hidden (@pxref{Miscellaneous Commands}).
address@hidden respects the value of
address@hidden  @code{dired-read-shell-command} uses
address@hidden (@pxref{Shell Command Guessing}) to
+offer a smarter default command.
 
 @node Installation, Omitting Files in Dired, Introduction, Top
 @chapter Installation

=== modified file 'lisp/ChangeLog'
--- a/lisp/ChangeLog    2011-02-19 19:40:59 +0000
+++ b/lisp/ChangeLog    2011-02-19 20:36:54 +0000
@@ -22,6 +22,9 @@
 
 2011-02-19  Glenn Morris  <address@hidden>
 
+       * dired-x.el (dired-find-buffer-nocreate): Merge into dired.el.
+       * dired.el (dired-find-buffer-nocreate): Merge dired-x version.
+
        * dired-x.el (dired-read-shell-command): Merge into dired-aux's version.
        * dired-aux.el (dired-read-shell-command): Merge dired-x's version.
 

=== modified file 'lisp/dired-x.el'
--- a/lisp/dired-x.el   2011-02-19 19:20:38 +0000
+++ b/lisp/dired-x.el   2011-02-19 20:36:54 +0000
@@ -42,13 +42,12 @@
 ;;                       ;; (dired-omit-mode 1)
 ;;                       ))
 ;;
-;; At load time dired-x.el will install itself, redefine some functions, and
-;; bind some dired keys.
+;; At load time dired-x.el will install itself and bind some dired keys.
+;; Some dired.el and dired-aux.el functions have extra features if
+;; dired-x is loaded.
 
 ;; User customization: M-x customize-group RET dired-x RET.
 
-;; When loaded this code redefines dired.el's dired-find-buffer-nocreate.
-
 ;; *Please* see the `dired-x' info pages for more details.
 
 
@@ -1306,31 +1305,6 @@
 
 ;;; MISCELLANEOUS INTERNAL FUNCTIONS.
 
-(declare-function dired-old-find-buffer-nocreate "dired-x")
-
-(or (fboundp 'dired-old-find-buffer-nocreate)
-    (fset 'dired-old-find-buffer-nocreate
-          (symbol-function 'dired-find-buffer-nocreate)))
-
-;; REDEFINE.
-;; Redefines dired.el's version of `dired-find-buffer-nocreate'
-(defun dired-find-buffer-nocreate (dirname &optional mode)
-  (if (and dired-find-subdir
-          ;; don't try to find a wildcard as a subdirectory
-          (string-equal dirname (file-name-directory dirname)))
-      (let* ((cur-buf (current-buffer))
-            (buffers (nreverse
-                      (dired-buffers-for-dir (expand-file-name dirname))))
-            (cur-buf-matches (and (memq cur-buf buffers)
-                                  ;; wildcards must match, too:
-                                  (equal dired-directory dirname))))
-       ;; We don't want to switch to the same buffer---
-       (setq buffers (delq cur-buf buffers));;need setq with delq
-       (or (car (sort buffers #'dired-buffer-more-recently-used-p))
-           ;; ---unless it's the only possibility:
-           (and cur-buf-matches cur-buf)))
-    (dired-old-find-buffer-nocreate dirname mode)))
-
 ;; This should be a builtin
 (defun dired-buffer-more-recently-used-p (buffer1 buffer2)
   "Return t if BUFFER1 is more recently used than BUFFER2.

=== modified file 'lisp/dired.el'
--- a/lisp/dired.el     2011-02-19 18:55:15 +0000
+++ b/lisp/dired.el     2011-02-19 20:36:54 +0000
@@ -847,28 +847,47 @@
   ;; killed buffer, it is removed from this list.
   "Alist of expanded directories and their associated dired buffers.")
 
+(defvar dired-find-subdir)
+
+;; FIXME add a doc-string, and document dired-x extensions.
 (defun dired-find-buffer-nocreate (dirname &optional mode)
   ;; This differs from dired-buffers-for-dir in that it does not consider
   ;; subdirs of default-directory and searches for the first match only.
   ;; Also, the major mode must be MODE.
-  (setq dirname (expand-file-name dirname))
-  (let (found (blist dired-buffers))    ; was (buffer-list)
-    (or mode (setq mode 'dired-mode))
-    (while blist
-      (if (null (buffer-name (cdr (car blist))))
-         (setq blist (cdr blist))
-       (with-current-buffer (cdr (car blist))
-         (if (and (eq major-mode mode)
-                  dired-directory  ;; nil during find-alternate-file
-                  (equal dirname
-                         (expand-file-name
-                          (if (consp dired-directory)
-                              (car dired-directory)
-                            dired-directory))))
-             (setq found (cdr (car blist))
-                   blist nil)
-           (setq blist (cdr blist))))))
-    found))
+  (if (and (featurep 'dired-x)
+           dired-find-subdir
+           ;; Don't try to find a wildcard as a subdirectory.
+          (string-equal dirname (file-name-directory dirname)))
+      (let* ((cur-buf (current-buffer))
+            (buffers (nreverse
+                      (dired-buffers-for-dir (expand-file-name dirname))))
+            (cur-buf-matches (and (memq cur-buf buffers)
+                                  ;; Wildcards must match, too:
+                                  (equal dired-directory dirname))))
+       ;; We don't want to switch to the same buffer---
+       (setq buffers (delq cur-buf buffers))
+       (or (car (sort buffers #'dired-buffer-more-recently-used-p))
+           ;; ---unless it's the only possibility:
+           (and cur-buf-matches cur-buf)))
+    ;; No dired-x, or dired-find-subdir nil.
+    (setq dirname (expand-file-name dirname))
+    (let (found (blist dired-buffers))    ; was (buffer-list)
+      (or mode (setq mode 'dired-mode))
+      (while blist
+        (if (null (buffer-name (cdr (car blist))))
+            (setq blist (cdr blist))
+          (with-current-buffer (cdr (car blist))
+            (if (and (eq major-mode mode)
+                     dired-directory  ;; nil during find-alternate-file
+                     (equal dirname
+                            (expand-file-name
+                             (if (consp dired-directory)
+                                 (car dired-directory)
+                               dired-directory))))
+                (setq found (cdr (car blist))
+                      blist nil)
+              (setq blist (cdr blist))))))
+      found)))
 
 
 ;; Read in a new dired buffer


reply via email to

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