Function: project--kill-buffer-check
project--kill-buffer-check is a byte-compiled function defined in
project.el.gz.
Signature
(project--kill-buffer-check BUF CONDITIONS)
Documentation
Check if buffer BUF matches any element of the list CONDITIONS.
See project-kill-buffer-conditions for more details on the form
of CONDITIONS.
Source Code
;; Defined in /usr/src/emacs/lisp/progmodes/project.el.gz
(defun project--kill-buffer-check (buf conditions)
"Check if buffer BUF matches any element of the list CONDITIONS.
See `project-kill-buffer-conditions' for more details on the form
of CONDITIONS."
(catch 'kill
(dolist (c conditions)
(when (cond
((stringp c)
(string-match-p c (buffer-name buf)))
((symbolp c)
(funcall c buf))
((eq (car-safe c) 'major-mode)
(eq (buffer-local-value 'major-mode buf)
(cdr c)))
((eq (car-safe c) 'derived-mode)
(provided-mode-derived-p
(buffer-local-value 'major-mode buf)
(cdr c)))
((eq (car-safe c) 'not)
(not (project--kill-buffer-check buf (cdr c))))
((eq (car-safe c) 'or)
(project--kill-buffer-check buf (cdr c)))
((eq (car-safe c) 'and)
(seq-every-p
(apply-partially #'project--kill-buffer-check
buf)
(mapcar #'list (cdr c)))))
(throw 'kill t)))))