From ac1ce3411f3021a3837d7c9f40fb3609816c2f83 Mon Sep 17 00:00:00 2001 From: Erik Naggum Date: Tue, 12 Sep 1995 23:20:42 +0000 Subject: [PATCH] (dired-up-directory): Add optional argument `other-window' to obviate the need to redefine it in dired-x.el. --- lisp/dired-x.el | 27 ++------------------------- lisp/dired.el | 9 +++++---- 2 files changed, 7 insertions(+), 29 deletions(-) diff --git a/lisp/dired-x.el b/lisp/dired-x.el index e9950248d27..c8300886cdc 100644 --- a/lisp/dired-x.el +++ b/lisp/dired-x.el @@ -102,7 +102,6 @@ ;;; dired-clean-up-after-deletion ../lisp/dired.el ;;; dired-find-buffer-nocreate ../lisp/dired.el ;;; dired-initial-position ../lisp/dired.el -;;; dired-up-directory ../lisp/dired.el ;;; ;;; dired-add-entry ../lisp/dired-aux.el ;;; dired-read-shell-command ../lisp/dired-aux.el @@ -435,28 +434,6 @@ buffer and try again." "Like \\[dired-jump] (dired-jump) but in other window." (interactive) (dired-jump t)) - -;;; REDEFINE. -;;; This replaces the version in dired.el -;;; It simply adds the OTHER-WINDOW option to the one in dired.el. -(defun dired-up-directory (&optional other-window) - "Run dired on parent directory of current directory. -Find the parent directory either in this buffer or another buffer. -Finds in current window or in other window with optional OTHER-WINDOW. -Creates a buffer if necessary." - (interactive "P") - (let* ((dir (dired-current-directory)) - (up (file-name-directory (directory-file-name dir)))) - (or (dired-goto-file (directory-file-name dir)) - ;; Only try dired-goto-subdir if buffer has more than one dir. - (and (cdr dired-subdir-alist) - (dired-goto-subdir up)) - (progn - (if other-window - (dired-other-window up) - (dired up)) - (dired-goto-file dir))))) - ;;;; TOGGLE. ;;; Toggle marked files with unmarked files. @@ -1365,7 +1342,7 @@ See also variable `dired-vm-read-only-folders'." ;;; REDEFINE. ;;; Redefines dired.el's version of `dired-find-buffer-nocreate' -(defun dired-find-buffer-nocreate (dirname) +(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))) @@ -1380,7 +1357,7 @@ See also variable `dired-vm-read-only-folders'." (or (car (sort buffers (function dired-buffer-more-recently-used-p))) ;; ---unless it's the only possibility: (and cur-buf-matches cur-buf))) - (dired-old-find-buffer-nocreate dirname))) + (dired-old-find-buffer-nocreate dirname mode))) ;; This should be a builtin (defun dired-buffer-more-recently-used-p (buffer1 buffer2) diff --git a/lisp/dired.el b/lisp/dired.el index 8272ed9e0ff..8d6b4058e34 100644 --- a/lisp/dired.el +++ b/lisp/dired.el @@ -1099,11 +1099,11 @@ Optional prefix ARG says how many lines to move; default is one line." (interactive "p") (dired-next-dirline (- arg))) -(defun dired-up-directory () +(defun dired-up-directory (&optional other-window) "Run dired on parent directory of current directory. Find the parent directory either in this buffer or another buffer. Creates a buffer if necessary." - (interactive) + (interactive "P") (let* ((dir (dired-current-directory)) (up (file-name-directory (directory-file-name dir)))) (or (dired-goto-file (directory-file-name dir)) @@ -1111,8 +1111,9 @@ Creates a buffer if necessary." (and (cdr dired-subdir-alist) (dired-goto-subdir up)) (progn - (dired -up) + (if other-window + (dired-other-window up) + (dired up)) (dired-goto-file dir))))) ;; Force `f' rather than `e' in the mode doc: -- 2.39.2