help-gnu-emacs
[Top][All Lists]
Advanced

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

Re: How delete Dired buffer automatically when select a file in Dired?


From: Andy Stewart
Subject: Re: How delete Dired buffer automatically when select a file in Dired?
Date: Tue, 09 Dec 2008 03:54:19 +0800
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/23.0.60 (gnu/linux)

Hi,

"seberino@spawar.navy.mil" <seberino@spawar.navy.mil> writes:

> When I select a file in Dired, it opens in a new buffer.
>
> The old Dired buffer still exists.
>
> How automatically delete the Dired buffer when I open a new buffer
> with a new file from Dired?
>
> Chris

Try to use my functions,

`dired-up-directory-single' for up directory.
`dired-find-file+' for open file or directory.

My function will kill old buffer when current directory in only visible
in current window, otherwise, stay current buffer.

,----
| 
| (defun dired-up-directory-single ()
|   "Return up directory in single window.
| When others visible window haven't current buffer, kill old buffer after 
`dired-up-directory'.
| Otherwise, just `dired-up-directory'."
|   (interactive)
|   (let ((old-buffer (current-buffer))
|         (current-window (selected-window)))
|     (dired-up-directory)
|     (catch 'found
|       (walk-windows
|        (lambda (w)
|          (with-selected-window w
|            (when (and (not (eq current-window (selected-window)))
|                       (equal old-buffer (current-buffer)))
|              (throw 'found "Found current dired buffer in others visible 
window.")))))
|       (kill-buffer old-buffer))))
| 
| (defun dired-find-file+ ()
|   "Like `dired-find-file'.
| When open directory, if others visible window have this directory, do 
`find-file'.
| Otherwise do `find-alternate-file'.
| When open file, always use `find-file'."
|   (interactive)
|   (set-buffer-modified-p nil)
|   (let ((file (dired-get-file-for-visit))
|         (old-buffer (current-buffer))
|         (current-window (selected-window)))
|     (if (file-directory-p file)
|         (catch 'found
|           (walk-windows
|            (lambda (w)
|              (with-selected-window w
|                (when (and (not (eq current-window (selected-window)))
|                           (equal old-buffer (current-buffer)))
|                  (find-file file)
|                  (throw 'found "Found current dired buffer in others visible 
window.")))))
|           (find-alternate-file file))
|       (find-file file))))
`----

Enjoy!

  -- Andy





reply via email to

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