core/autoload/buffers: simplify doom-kill-process-buffers

This commit is contained in:
Henrik Lissner 2017-02-24 03:10:18 -05:00
parent bdcc1b8a06
commit bd11c7e1da

View file

@ -201,21 +201,16 @@ See `doom-real-buffer-p' for what 'real' means."
;;;###autoload ;;;###autoload
(defun doom-kill-process-buffers () (defun doom-kill-process-buffers ()
"Kill all buried buffers that represent running processes." "Kill all processes that have no visible associated buffers."
(interactive) (interactive)
(let ((buffer-list (buffer-list)) (let ((n 0))
(n 0))
(dolist (p (process-list)) (dolist (p (process-list))
(let* ((process-name (process-name p)) (let ((process-buffer (process-buffer p)))
(assoc (assoc process-name doom-buffers-processes-alist))) (when (and (process-live-p p)
(when (and assoc (not (string= (process-name p) "server"))
(not (string= process-name "server")) (or (not process-buffer)
(process-live-p p) (and (bufferp process-buffer)
(not (cl-some (get-buffer-window-list process-buffer nil t))))
(lambda (buf)
(let ((mode (buffer-local-value 'major-mode it)))
(eq mode (cdr assoc))))
buffer-list)))
(delete-process p) (delete-process p)
(setq n (1+ n))))) (setq n (1+ n)))))
n)) n))