Subject: bug#18371: desktop-read: do not (desktop-clear) when no .emacs.desktop file is found

From: Ivan Shmakov <[email-masked]>
Date: Sun, 31 Aug 2014 20:05:17 +0000

Package:  emacs
Tags: patch

	As currently implemented, desktop-read calls desktop-clear when
	no .emacs.desktop file is found:

  1114	    (if (file-exists-p (desktop-full-file-name))
⋯
  1192	      ;; No desktop file found.
  1193	      (desktop-clear)
  1194	      (let ((default-directory desktop-dirname))
  1195	        (run-hooks 'desktop-no-desktop-file-hook))
  1196	      (message "No desktop file.")

	While this is likely to be a no-op when desktop-read is called
	from user’s ~/.emacs, – this may actually affect user’s session
	if desktop-read gets called from within an established session.

	And even more so a session containing any “process interaction”
	buffers, – like those one gets with M-x run-scheme or M-x erc.
	(Unless desktop-clear-preserve-buffers is suitably customized
	beforehand, that is.  However, as it seems, that may easily spin
	off the limits of convenience, which may be a bug by itself.)

	Given that desktop-read does /not/ call desktop-clear in the
	“.emacs.desktop is found” branch, and that in that case,
	desktop-read /appends/ to the current session (rather than
	/replacing/ it), I see no good reason to call desktop-clear from
	desktop-read in the other case, either.

	Please thus consider the (trivial) patch MIMEd.

-- 
FSF associate member #7257  http://boycottsystemd.org/  … 3013 B6A0 230E 334A
--- a/lisp/desktop.el
+++ b/lisp/desktop.el
@@ -1190,7 +1190,6 @@
 	    (desktop-auto-save-enable)
 	    t))
       ;; No desktop file found.
-      (desktop-clear)
       (let ((default-directory desktop-dirname))
         (run-hooks 'desktop-no-desktop-file-hook))
       (message "No desktop file.")