]> git.eshelyaron.com Git - emacs.git/commitdiff
lisp/desktop.el: Do not fail when desktop-files-not-to-save is nil.
authorJuanma Barranquero <lekktu@gmail.com>
Sat, 22 Feb 2014 02:10:49 +0000 (03:10 +0100)
committerJuanma Barranquero <lekktu@gmail.com>
Sat, 22 Feb 2014 02:10:49 +0000 (03:10 +0100)
lisp/ChangeLog
lisp/desktop.el

index 82c24f11643a383845b1da41a7660fb26c56f8d9..6ca166258269a870be877ce4f84ff22f5ae2e9a8 100644 (file)
@@ -1,3 +1,9 @@
+2014-02-22  Juanma Barranquero  <lekktu@gmail.com>
+
+       * desktop.el (desktop-save-buffer-p): Do not fail when
+       desktop-files-not-to-save is nil.  Return t for true result
+       as the doc says.
+
 2014-02-22  Daniel Colascione  <dancol@dancol.org>
 
        * net/secrets.el (secrets-create-item,secrets-search-items): Check
index 6ec3ceed9df7fec5403eb6672e0a2d143bf75ed5..69c17015030793be9469c350ed2b5b11b6e06421 100644 (file)
@@ -878,23 +878,25 @@ 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)
-        dired-skip)
-    (and (not (and (stringp desktop-buffers-not-to-save)
-                  (not filename)
-                  (string-match-p 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-p desktop-files-not-to-save filename)))
-             (and (memq mode '(dired-mode vc-dir-mode))
-                  (with-current-buffer bufname
-                    (not (setq dired-skip
-                               (string-match-p desktop-files-not-to-save
-                                               default-directory)))))
-             (and (null filename)
-                  (null dired-skip)     ; bug#5755
-                 (with-current-buffer bufname desktop-save-buffer))))))
+       (no-regexp-to-check (not (stringp desktop-files-not-to-save)))
+       dired-skip)
+    (and (or filename
+            (not (stringp desktop-buffers-not-to-save))
+            (not (string-match-p desktop-buffers-not-to-save bufname)))
+        (not (memq mode desktop-modes-not-to-save))
+        (or (and filename
+                 (or no-regexp-to-check
+                     (not (string-match-p desktop-files-not-to-save filename))))
+            (and (memq mode '(dired-mode vc-dir-mode))
+                 (or no-regexp-to-check
+                     (not (setq dired-skip
+                                (with-current-buffer bufname
+                                  (string-match-p desktop-files-not-to-save
+                                                  default-directory))))))
+            (and (null filename)
+                 (null dired-skip)  ; bug#5755
+                 (with-current-buffer bufname desktop-save-buffer)))
+        t)))
 
 ;; ----------------------------------------------------------------------------
 (defun desktop-file-name (filename dirname)