changeset 108490:fd5073c58e5f

Backport from trunk: Fix bug#5755. * desktop.el (desktop-save-buffer-p): Don't mistakenly include all dired buffers, even tramp ones. (Bug#5755) [Backport from trunk]
author Glenn Morris <rgm@gnu.org>
date Sun, 09 May 2010 17:30:08 -0700
parents 22f58204116d
children 4d25cedac124
files lisp/ChangeLog lisp/desktop.el
diffstat 2 files changed, 14 insertions(+), 4 deletions(-) [+]
line wrap: on
line diff
--- a/lisp/ChangeLog	Sat May 08 00:46:44 2010 -0400
+++ b/lisp/ChangeLog	Sun May 09 17:30:08 2010 -0700
@@ -1,3 +1,8 @@
+2010-05-10  Glenn Morris  <rgm@gnu.org>
+
+	* desktop.el (desktop-save-buffer-p): Don't mistakenly include
+	all dired buffers, even tramp ones.  (Bug#5755)  [Backport from trunk]
+
 2010-05-07  Chong Yidong  <cyd@stupidchicken.com>
 
 	* Version 23.2 released.
--- a/lisp/desktop.el	Sat May 08 00:46:44 2010 -0400
+++ b/lisp/desktop.el	Sun May 09 17:30:08 2010 -0700
@@ -1,7 +1,8 @@
 ;;; desktop.el --- save partial status of Emacs when killed
 
 ;; Copyright (C) 1993, 1994, 1995, 1997, 2000, 2001, 2002, 2003,
-;;   2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
+;;   2004, 2005, 2006, 2007, 2008, 2009, 2010
+;;   Free Software Foundation, Inc.
 
 ;; Author: Morten Welinder <terra@diku.dk>
 ;; Keywords: convenience
@@ -811,19 +812,23 @@
 FILENAME is the visited file name, BUFNAME is the buffer name, and
 MODE is the major mode.
 \n\(fn FILENAME BUFNAME MODE)"
-  (let ((case-fold-search nil))
+  (let ((case-fold-search nil)
+        dired-skip)
     (and (not (and (stringp desktop-buffers-not-to-save)
 		   (not filename)
 		   (string-match desktop-buffers-not-to-save bufname)))
          (not (memq mode desktop-modes-not-to-save))
+         ;; FIXME this is broken if desktop-files-not-to-save is nil.
          (or (and filename
 		  (stringp desktop-files-not-to-save)
                   (not (string-match desktop-files-not-to-save filename)))
              (and (eq mode 'dired-mode)
                   (with-current-buffer bufname
-                    (not (string-match desktop-files-not-to-save
-                                       default-directory))))
+                    (not (setq dired-skip
+                               (string-match desktop-files-not-to-save
+                                             default-directory)))))
              (and (null filename)
+                  (null dired-skip)     ; bug#5755
 		  (with-current-buffer bufname desktop-save-buffer))))))
 
 ;; ----------------------------------------------------------------------------