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)))