(desktop-buffers-not-to-save): Default value is nil. Accept nil in
authorEli Zaretskii <eliz@gnu.org>
Sat, 18 Jul 2009 11:59:04 +0000 (11:59 +0000)
committerEli Zaretskii <eliz@gnu.org>
Sat, 18 Jul 2009 11:59:04 +0000 (11:59 +0000)
addition to a regexp.
(desktop-files-not-to-save): Add "(ftp)$" to the default regexp.  Accept
nil in addition to a regexp.
(desktop-save-buffer-p): Don't use desktop-buffers-not-to-save for buffers
that have an associated file.  Handle nil values of
desktop-buffers-not-to-save and desktop-files-not-to-save.  (Bug#3833)

lisp/ChangeLog
lisp/desktop.el

index 2849d36..00e8e0b 100644 (file)
@@ -1,5 +1,14 @@
 2009-07-18  Eli Zaretskii  <eliz@gnu.org>
 
+       * desktop.el (desktop-buffers-not-to-save): Default value is nil.
+       Accept nil in addition to a regexp.
+       (desktop-files-not-to-save): Add "(ftp)$" to the default regexp.
+       Accept nil in addition to a regexp.
+       (desktop-save-buffer-p): Don't use desktop-buffers-not-to-save for
+       buffers that have an associated file.  Handle nil values of
+       desktop-buffers-not-to-save and desktop-files-not-to-save.
+       (Bug#3833)
+
        * term/pc-win.el (x-selection-owner-p, x-own-selection-internal)
        (x-disown-selection-internal): New functions.
 
index aae6b97..b2c04e2 100644 (file)
@@ -333,19 +333,18 @@ modes are restored automatically; they should not be listed here."
   :type '(repeat symbol)
   :group 'desktop)
 
-;; We skip .log files because they are normally temporary.
-;;         (ftp) files because they require passwords and whatnot.
-(defcustom desktop-buffers-not-to-save
-  "\\(^nn\\.a[0-9]+\\|(ftp)\\)$"
+(defcustom desktop-buffers-not-to-save nil
   "Regexp identifying buffers that are to be excluded from saving."
-  :type 'regexp
+  :type '(choice (const :tag "None" nil)
+                regexp)
   :group 'desktop)
 
 ;; Skip tramp and ange-ftp files
 (defcustom desktop-files-not-to-save
-  "^/[^/:]*:"
+  "\\(^/[^/:]*:\\|(ftp)$\\)"
   "Regexp identifying files whose buffers are to be excluded from saving."
-  :type 'regexp
+  :type '(choice (const :tag "None" nil)
+                regexp)
   :group 'desktop)
 
 ;; We skip TAGS files to save time (tags-file-name is saved instead).
@@ -812,9 +811,12 @@ 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))
-    (and (not (string-match desktop-buffers-not-to-save bufname))
+    (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))
          (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