Function: image-mode--directory-buffers
image-mode--directory-buffers is a byte-compiled function defined in
image-mode.el.gz.
Signature
(image-mode--directory-buffers FILE)
Documentation
Return an alist of type/buffer for all "parent" buffers to image FILE.
This is normally a list of Dired buffers, but can also be archive and tar mode buffers.
Source Code
;; Defined in /usr/src/emacs/lisp/image-mode.el.gz
(defun image-mode--directory-buffers (file)
"Return an alist of type/buffer for all \"parent\" buffers to image FILE.
This is normally a list of Dired buffers, but can also be archive and
tar mode buffers."
(let ((buffers nil)
(dir (file-name-directory file)))
(cond
((and (boundp 'tar-superior-buffer)
tar-superior-buffer)
(when (buffer-live-p tar-superior-buffer)
(push (cons 'tar tar-superior-buffer) buffers)))
((and (boundp 'archive-superior-buffer)
archive-superior-buffer)
(when (buffer-live-p archive-superior-buffer)
(push (cons 'archive archive-superior-buffer) buffers)))
(t
;; Find a Dired buffer.
(dolist (buffer (buffer-list))
(with-current-buffer buffer
(when (and (derived-mode-p 'dired-mode)
(equal (file-truename dir)
(file-truename default-directory)))
(push (cons 'dired (current-buffer)) buffers))))
;; If we can't find any buffers to navigate in, we open a Dired
;; buffer.
(unless buffers
(push (cons 'dired (find-file-noselect dir)) buffers)
(message "Opened a dired buffer on %s" dir))))
buffers))