Function: dired-restore-desktop-buffer

dired-restore-desktop-buffer is a byte-compiled function defined in dired.el.gz.

Signature

(dired-restore-desktop-buffer FILE-NAME BUFFER-NAME MISC-DATA)

Documentation

Restore a Dired buffer specified in a desktop file.

Source Code

;; Defined in /usr/src/emacs/lisp/dired.el.gz
(defun dired-restore-desktop-buffer (_file-name
                                     _buffer-name
                                     misc-data)
  "Restore a Dired buffer specified in a desktop file."
  ;; First element of `misc-data' is the value of `dired-directory'.
  ;; This value is a directory name, optionally with shell wildcard or
  ;; a directory name followed by list of files.
  (let* ((dired-dir (car misc-data))
         (dir (if (consp dired-dir) (car dired-dir) dired-dir)))
    (if (file-directory-p (file-name-directory dir))
        (with-demoted-errors "Desktop: Problem restoring directory: %S"
          (dired dired-dir)
          ;; The following elements of `misc-data' are the keys
          ;; from `dired-subdir-alist'.
          (mapc #'dired-maybe-insert-subdir (cdr misc-data))
          (current-buffer))
      (message "Desktop: Directory %s no longer exists." dir)
      (when desktop-missing-file-warning (sit-for 1))
      nil)))