summaryrefslogtreecommitdiff
path: root/lisp/desktop.el
diff options
context:
space:
mode:
Diffstat (limited to 'lisp/desktop.el')
-rw-r--r--lisp/desktop.el79
1 files changed, 38 insertions, 41 deletions
diff --git a/lisp/desktop.el b/lisp/desktop.el
index cfde6237cd9..69815117bc2 100644
--- a/lisp/desktop.el
+++ b/lisp/desktop.el
@@ -201,7 +201,7 @@ The base name of the file is specified in `desktop-base-file-name'."
:version "22.1")
(defcustom desktop-missing-file-warning nil
- "*If non-nil then `desktop-read' asks if a non-existent file should be recreated.
+ "If non-nil, offer to recreate the buffer of a deleted file.
Also pause for a moment to display message about errors signaled in
`desktop-buffer-mode-handlers'.
@@ -763,45 +763,42 @@ See also `desktop-base-file-name'."
(setq locals (cdr locals)))
ll)))
(buffer-list)))
- (eager desktop-restore-eager)
- (buf (get-buffer-create "*desktop*")))
- (set-buffer buf)
- (erase-buffer)
-
- (insert
- ";; -*- mode: emacs-lisp; coding: utf-8-emacs; -*-\n"
- desktop-header
- ";; Created " (current-time-string) "\n"
- ";; Desktop file format version " desktop-file-version "\n"
- ";; Emacs version " emacs-version "\n\n"
- ";; Global section:\n")
- (mapc (function desktop-outvar) desktop-globals-to-save)
- (if (memq 'kill-ring desktop-globals-to-save)
- (insert
- "(setq kill-ring-yank-pointer (nthcdr "
- (int-to-string (- (length kill-ring) (length kill-ring-yank-pointer)))
- " kill-ring))\n"))
-
- (insert "\n;; Buffer section -- buffers listed in same order as in buffer list:\n")
- (mapc #'(lambda (l)
- (when (apply 'desktop-save-buffer-p l)
- (insert "("
- (if (or (not (integerp eager))
- (unless (zerop eager)
- (setq eager (1- eager))
- t))
- "desktop-create-buffer"
- "desktop-append-buffer-args")
- " "
- desktop-file-version)
- (mapc #'(lambda (e)
- (insert "\n " (desktop-value-to-string e)))
- l)
- (insert ")\n\n")))
- info)
- (setq default-directory dirname)
- (let ((coding-system-for-write 'utf-8-emacs))
- (write-region (point-min) (point-max) filename nil 'nomessage))))
+ (eager desktop-restore-eager))
+ (with-temp-buffer
+ (insert
+ ";; -*- mode: emacs-lisp; coding: utf-8-emacs; -*-\n"
+ desktop-header
+ ";; Created " (current-time-string) "\n"
+ ";; Desktop file format version " desktop-file-version "\n"
+ ";; Emacs version " emacs-version "\n\n"
+ ";; Global section:\n")
+ (mapc (function desktop-outvar) desktop-globals-to-save)
+ (if (memq 'kill-ring desktop-globals-to-save)
+ (insert
+ "(setq kill-ring-yank-pointer (nthcdr "
+ (int-to-string (- (length kill-ring) (length kill-ring-yank-pointer)))
+ " kill-ring))\n"))
+
+ (insert "\n;; Buffer section -- buffers listed in same order as in buffer list:\n")
+ (mapc #'(lambda (l)
+ (when (apply 'desktop-save-buffer-p l)
+ (insert "("
+ (if (or (not (integerp eager))
+ (unless (zerop eager)
+ (setq eager (1- eager))
+ t))
+ "desktop-create-buffer"
+ "desktop-append-buffer-args")
+ " "
+ desktop-file-version)
+ (mapc #'(lambda (e)
+ (insert "\n " (desktop-value-to-string e)))
+ l)
+ (insert ")\n\n")))
+ info)
+ (setq default-directory dirname)
+ (let ((coding-system-for-write 'utf-8-emacs))
+ (write-region (point-min) (point-max) filename nil 'nomessage)))))
(setq desktop-dirname dirname))
;; ----------------------------------------------------------------------------
@@ -946,7 +943,7 @@ directory DIRNAME."
(let ((msg (format "Desktop: File \"%s\" no longer exists."
desktop-buffer-file-name)))
(if desktop-missing-file-warning
- (y-or-n-p (concat msg " Re-create? "))
+ (y-or-n-p (concat msg " Re-create buffer? "))
(message "%s" msg)
nil)))
(let* ((auto-insert nil) ; Disable auto insertion