1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2026-02-05 15:11:30 -08:00

Speed up exiting "emacs -Q"

* lisp/files.el (files--buffers-needing-to-be-saved): Don't call
functions from seq.el.  Using seq.el has an annoying side-effect
of slowing down "C-x C-c" from "emacs -Q" due to the need to load
seq.el.
This commit is contained in:
Eli Zaretskii 2022-02-17 15:26:37 +02:00
parent 64eb2a5f8d
commit a6b7bb2dfd

View file

@ -5826,23 +5826,26 @@ of the directory that was default during command invocation."
(defun files--buffers-needing-to-be-saved (pred)
"Return a list of buffers to save according to PRED.
See `save-some-buffers' for PRED values."
(seq-filter
(lambda (buffer)
;; Note that killing some buffers may kill others via
;; hooks (e.g. Rmail and its viewing buffer).
(and (buffer-live-p buffer)
(buffer-modified-p buffer)
(not (buffer-base-buffer buffer))
(or
(buffer-file-name buffer)
(with-current-buffer buffer
(or (eq buffer-offer-save 'always)
(and pred buffer-offer-save
(> (buffer-size) 0)))))
(or (not (functionp pred))
(with-current-buffer buffer
(funcall pred)))))
(buffer-list)))
(let ((buffers
(mapcar (lambda (buffer)
(if
;; Note that killing some buffers may kill others via
;; hooks (e.g. Rmail and its viewing buffer).
(and (buffer-live-p buffer)
(buffer-modified-p buffer)
(not (buffer-base-buffer buffer))
(or
(buffer-file-name buffer)
(with-current-buffer buffer
(or (eq buffer-offer-save 'always)
(and pred buffer-offer-save
(> (buffer-size) 0)))))
(or (not (functionp pred))
(with-current-buffer buffer
(funcall pred))))
buffer))
(buffer-list))))
(delq nil buffers)))
(defun save-some-buffers (&optional arg pred)
"Save some modified file-visiting buffers. Asks user about each one.