diff options
| author | Lars Hansen | 2004-04-21 20:52:18 +0000 |
|---|---|---|
| committer | Lars Hansen | 2004-04-21 20:52:18 +0000 |
| commit | 31b4c8480936d1b189cf005a9fa9a4e8d20e8ed4 (patch) | |
| tree | 58f50d343b5cc89f39e07f628c6ef39aa6018ed7 | |
| parent | f3a45db0d1f41f61592fb73af4f336334caa8152 (diff) | |
| download | emacs-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.el | 44 |
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) |