Function: desktop-save-buffer-p
desktop-save-buffer-p is a byte-compiled function defined in
desktop.el.gz.
Signature
(desktop-save-buffer-p FILENAME BUFNAME MODE)
Documentation
Return t if buffer should have its state saved in the desktop file.
FILENAME is the visited file name, BUFNAME is the buffer name, and MODE is the major mode.
Source Code
;; Defined in /usr/src/emacs/lisp/desktop.el.gz
(defun desktop-save-buffer-p (filename bufname mode &rest rest)
"Return t if buffer should have its state saved in the desktop file.
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)
(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)))
(or (null desktop-buffers-not-to-save-function)
(funcall desktop-buffers-not-to-save-function
filename bufname mode rest))
t)))