# HG changeset patch # User Eli Zaretskii # Date 1247918319 0 # Node ID f261612c30a6f880749cf598d514bb8ff63d3a15 # Parent 3cb57dcd76532a9432e760a8b0cb032c2b3b5591 (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) diff -r 3cb57dcd7653 -r f261612c30a6 lisp/desktop.el --- a/lisp/desktop.el Sat Jul 18 11:13:03 2009 +0000 +++ b/lisp/desktop.el Sat Jul 18 11:58:39 2009 +0000 @@ -333,19 +333,18 @@ :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 @@ 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