aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLars Hansen2004-04-21 20:52:18 +0000
committerLars Hansen2004-04-21 20:52:18 +0000
commit31b4c8480936d1b189cf005a9fa9a4e8d20e8ed4 (patch)
tree58f50d343b5cc89f39e07f628c6ef39aa6018ed7
parentf3a45db0d1f41f61592fb73af4f336334caa8152 (diff)
downloademacs-31b4c8480936d1b189cf005a9fa9a4e8d20e8ed4.tar.gz
emacs-31b4c8480936d1b189cf005a9fa9a4e8d20e8ed4.zip
(dired-restore-desktop-buffer) Move from desktop.el. Add parameters.
Pause to display error only when desktop-missing-file-warning is non-nil. (dired-desktop-buffer-misc-data): Move from desktop.el. Add parameter.
-rw-r--r--lisp/dired.el44
1 files changed, 44 insertions, 0 deletions
diff --git a/lisp/dired.el b/lisp/dired.el
index f562a0492eb..7440e3c3bfc 100644
--- a/lisp/dired.el
+++ b/lisp/dired.el
@@ -1402,6 +1402,8 @@ Keybindings:
1402 (or switches dired-listing-switches)) 1402 (or switches dired-listing-switches))
1403 (set (make-local-variable 'font-lock-defaults) 1403 (set (make-local-variable 'font-lock-defaults)
1404 '(dired-font-lock-keywords t nil nil beginning-of-line)) 1404 '(dired-font-lock-keywords t nil nil beginning-of-line))
1405 (set (make-local-variable 'desktop-buffer-misc-data-function)
1406 'dired-desktop-buffer-misc-data)
1405 (dired-sort-other dired-actual-switches t) 1407 (dired-sort-other dired-actual-switches t)
1406 (run-mode-hooks 'dired-mode-hook) 1408 (run-mode-hooks 'dired-mode-hook)
1407 (when (featurep 'x-dnd) 1409 (when (featurep 'x-dnd)
@@ -3340,7 +3342,49 @@ Ask means pop up a menu for the user to select one of copy, move or link."
3340 (let ((local-file (x-dnd-get-local-file-uri uri))) 3342 (let ((local-file (x-dnd-get-local-file-uri uri)))
3341 (if local-file (dired-dnd-handle-local-file local-file action) 3343 (if local-file (dired-dnd-handle-local-file local-file action)
3342 nil))) 3344 nil)))
3345
3346
3347;;;; Desktop support
3348
3349(eval-when-compile (require 'desktop))
3350
3351(defun dired-desktop-buffer-misc-data (desktop-dirname)
3352 "Auxiliary information to be saved in desktop file."
3353 (cons
3354 ;; Value of `dired-directory'.
3355 (if (consp dired-directory)
3356 ;; Directory name followed by list of files.
3357 (cons (desktop-file-name (car dired-directory) desktop-dirname)
3358 (cdr dired-directory))
3359 ;; Directory name, optionally with with shell wildcard.
3360 (desktop-file-name dired-directory desktop-dirname))
3361 ;; Subdirectories in `dired-subdir-alist'.
3362 (cdr
3363 (nreverse
3364 (mapcar
3365 (function (lambda (f) (desktop-file-name (car f) desktop-dirname)))
3366 dired-subdir-alist)))))
3343 3367
3368;;;###autoload
3369(defun dired-restore-desktop-buffer (desktop-buffer-file-name
3370 desktop-buffer-name
3371 desktop-buffer-misc)
3372 "Restore a dired buffer specified in a desktop file."
3373 ;; First element of `desktop-buffer-misc' is the value of `dired-directory'.
3374 ;; This value is a directory name, optionally with with shell wildcard or
3375 ;; a directory name followed by list of files.
3376 (let* ((dired-dir (car desktop-buffer-misc))
3377 (dir (if (consp dired-dir) (car dired-dir) dired-dir)))
3378 (if (file-directory-p (file-name-directory dir))
3379 (progn
3380 (dired dired-dir)
3381 ;; The following elements of `desktop-buffer-misc' are the keys
3382 ;; from `dired-subdir-alist'.
3383 (mapcar 'dired-maybe-insert-subdir (cdr desktop-buffer-misc))
3384 (current-buffer))
3385 (message "Desktop: Directory %s no longer exists." dir)
3386 (when desktop-missing-file-warning (sit-for 1))
3387 nil)))
3344 3388
3345 3389
3346(if (eq system-type 'vax-vms) 3390(if (eq system-type 'vax-vms)