diff options
| author | Juanma Barranquero | 2003-07-13 17:20:00 +0000 |
|---|---|---|
| committer | Juanma Barranquero | 2003-07-13 17:20:00 +0000 |
| commit | df7eb2bd5f2ab3ece2551ae7e65d022372b07d2a (patch) | |
| tree | cbd84c88ea5c1e9918b6b2443da0015f08e6d6b7 | |
| parent | 9c7bda2fc14caff147f535af58a60a9bbbb0fda3 (diff) | |
| download | emacs-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.el | 36 |
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 () |