summaryrefslogtreecommitdiff
path: root/lisp/gnus/gnus.el
diff options
context:
space:
mode:
Diffstat (limited to 'lisp/gnus/gnus.el')
-rw-r--r--lisp/gnus/gnus.el24
1 files changed, 6 insertions, 18 deletions
diff --git a/lisp/gnus/gnus.el b/lisp/gnus/gnus.el
index 7538274e158..1c41e081b76 100644
--- a/lisp/gnus/gnus.el
+++ b/lisp/gnus/gnus.el
@@ -665,26 +665,15 @@ be used directly.")
(defmacro gnus-kill-buffer (buffer)
"Kill BUFFER and remove from the list of Gnus buffers."
`(let ((buf ,buffer))
- (when (gnus-buffer-exists-p buf)
+ (when (gnus-buffer-live-p buf)
(kill-buffer buf)
(gnus-prune-buffers))))
-(defun gnus-prune-buffers ()
- (dolist (buf gnus-buffers)
- (unless (buffer-live-p buf)
- (setq gnus-buffers (delete buf gnus-buffers)))))
-
(defun gnus-buffers ()
"Return a list of live Gnus buffers."
- (while (and gnus-buffers
- (not (buffer-name (car gnus-buffers))))
- (pop gnus-buffers))
- (let ((buffers gnus-buffers))
- (while (cdr buffers)
- (if (buffer-name (cadr buffers))
- (pop buffers)
- (setcdr buffers (cddr buffers)))))
- gnus-buffers)
+ (setq gnus-buffers (seq-filter #'buffer-live-p gnus-buffers)))
+
+(defalias 'gnus-prune-buffers #'gnus-buffers)
;;; Splash screen.
@@ -3638,9 +3627,8 @@ If SYMBOL, return the value of that symbol in the group parameters.
If you call this function inside a loop, consider using the faster
`gnus-group-fast-parameter' instead."
- (with-current-buffer (if (buffer-live-p (get-buffer gnus-group-buffer))
- gnus-group-buffer
- (current-buffer))
+ (with-current-buffer (or (gnus-buffer-live-p gnus-group-buffer)
+ (current-buffer))
(if symbol
(gnus-group-fast-parameter group symbol allow-list)
(nconc