aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJuanma Barranquero2003-07-13 17:20:00 +0000
committerJuanma Barranquero2003-07-13 17:20:00 +0000
commitdf7eb2bd5f2ab3ece2551ae7e65d022372b07d2a (patch)
treecbd84c88ea5c1e9918b6b2443da0015f08e6d6b7
parent9c7bda2fc14caff147f535af58a60a9bbbb0fda3 (diff)
downloademacs-df7eb2bd5f2ab3ece2551ae7e65d022372b07d2a.tar.gz
emacs-df7eb2bd5f2ab3ece2551ae7e65d022372b07d2a.zip
(desktop-buffer-dired-misc-data, desktop-buffer-dired): Handle `dired-directory'
being a list.
-rw-r--r--lisp/desktop.el36
1 files changed, 25 insertions, 11 deletions
diff --git a/lisp/desktop.el b/lisp/desktop.el
index 4c3a6be176f..a5a898e2cd5 100644
--- a/lisp/desktop.el
+++ b/lisp/desktop.el
@@ -783,9 +783,18 @@ This function always sets `desktop-enable' to t."
783 (when (eq major-mode 'dired-mode) 783 (when (eq major-mode 'dired-mode)
784 (eval-when-compile (defvar dirname)) 784 (eval-when-compile (defvar dirname))
785 (cons 785 (cons
786 ;; dired directory in portable form 786 ;; Value of `dired-directory'.
787 (file-name-as-directory (desktop-file-name dired-directory dirname)) 787 (if (consp dired-directory)
788 (cdr (nreverse (mapcar (function car) dired-subdir-alist)))))) 788 ;; Directory name followed by list of files.
789 (cons (desktop-file-name (car dired-directory) dirname) (cdr dired-directory))
790 ;; Directory name, optionally with with shell wildcard.
791 (desktop-file-name dired-directory dirname))
792 ;; Subdirectories in `dired-subdir-alist'.
793 (cdr
794 (nreverse
795 (mapcar
796 (function (lambda (f) (desktop-file-name (car f) dirname)))
797 dired-subdir-alist))))))
789 798
790;; ---------------------------------------------------------------------------- 799;; ----------------------------------------------------------------------------
791(defun desktop-buffer-info () "Load an info file." 800(defun desktop-buffer-info () "Load an info file."
@@ -823,14 +832,19 @@ This function always sets `desktop-enable' to t."
823;; ---------------------------------------------------------------------------- 832;; ----------------------------------------------------------------------------
824(defun desktop-buffer-dired () "Load a directory using dired." 833(defun desktop-buffer-dired () "Load a directory using dired."
825 (if (eq 'dired-mode desktop-buffer-major-mode) 834 (if (eq 'dired-mode desktop-buffer-major-mode)
826 (if (file-directory-p (file-name-directory (car desktop-buffer-misc))) 835 ;; First element of `desktop-buffer-misc' is the value of `dired-directory'.
827 (progn 836 ;; This value is a directory name, optionally with with shell wildcard or
828 (dired (car desktop-buffer-misc)) 837 ;; a directory name followed by list of files.
829 (mapcar 'dired-maybe-insert-subdir (cdr desktop-buffer-misc)) 838 (let* ((dired-directory (car desktop-buffer-misc))
830 (current-buffer)) 839 (dir (if (consp dired-directory) (car dired-directory) dired-directory)))
831 (message "Directory %s no longer exists." (car desktop-buffer-misc)) 840 (if (file-directory-p (file-name-directory dir))
832 (sit-for 1) 841 (progn
833 'ignored))) 842 (dired dired-directory)
843 (mapcar 'dired-maybe-insert-subdir (cdr desktop-buffer-misc))
844 (current-buffer))
845 (message "Directory %s no longer exists." dir)
846 (sit-for 1)
847 'ignored))))
834 848
835;; ---------------------------------------------------------------------------- 849;; ----------------------------------------------------------------------------
836(defun desktop-buffer-file () 850(defun desktop-buffer-file ()