>From 70c6410107eb41af145ca51ee0d0231571fb9468 Mon Sep 17 00:00:00 2001 From: "Basil L. Contovounesios"
Date: Sun, 5 May 2019 01:28:57 +0100 Subject: [PATCH] Simplify Gnus buffer liveness checking and killing * lisp/gnus/gnus-agent.el (gnus-agent-synchronize-group-flags): Fix indentation. * lisp/gnus/gnus-util.el (gnus-buffer-exists-p): Remove macro. (gnus-buffer-live-p): If the given argument is or names a live buffer, return the corresponding buffer object instead of a boolean. * lisp/gnus/gnus-win.el (gnus-delete-windows-in-gnusey-frames) (gnus-remove-some-windows): Simplify. * lisp/gnus/gnus.el (gnus-prune-buffers): Redefine as alias of gnus-buffers. (gnus-kill-buffer, gnus-buffers, gnus-group-find-parameter): * lisp/gnus/gnus-art.el (gnus-kill-sticky-article-buffers) (gnus-request-article-this-buffer): * lisp/gnus/gnus-bcklg.el (gnus-backlog-shutdown): * lisp/gnus/gnus-cus.el (gnus-group-customize) (gnus-agent-customize-category): * lisp/gnus/gnus-draft.el (gnus-draft-edit-message): * lisp/gnus/gnus-group.el (gnus-group-set-mode-line) (gnus--abort-on-unsaved-message-buffers, gnus-group-compact-group): * lisp/gnus/gnus-msg.el (gnus-inews-add-send-actions) (gnus-summary-supersede-article, gnus-copy-article-buffer): * lisp/gnus/gnus-score.el (gnus-score-edit-current-scores) (gnus-score-edit-file): * lisp/gnus/gnus-spec.el (gnus-update-format-specifications): * lisp/gnus/gnus-srvr.el (gnus-server-compact-server): * lisp/gnus/gnus-start.el (gnus-clear-system, gnus-dribble-enter) (gnus-dribble-save, gnus-dribble-clear, gnus-save-newsrc-file): * lisp/gnus/gnus-sum.el (gnus-summary-setup-buffer) (gnus-update-summary-mark-positions, gnus-summary-exit) (gnus-deaden-summary, gnus-kill-or-deaden-summary) (gnus-summary-next-group): * lisp/gnus/gnus-win.el (gnus-configure-frame): * lisp/gnus/mail-source.el (mail-source-movemail): * lisp/gnus/message.el (message-with-reply-buffer) (message-with-reply, message-send-and-exit) (message-send-mail-with-sendmail, message-pop-to-buffer) (message-do-send-housekeeping, message-forward-make-body-plain) (message-forward-make-body-mml): * lisp/gnus/mm-decode.el (mm-display-external, mm-remove-part): * lisp/gnus/nnbabyl.el (nnbabyl-server-opened) (nnbabyl-possibly-change-newsgroup, nnbabyl-read-mbox) (nnbabyl-check-mbox): * lisp/gnus/nndiary.el (nndiary-save-nov): * lisp/gnus/nndoc.el (nndoc-close-group) (nndoc-possibly-change-buffer): * lisp/gnus/nnfolder.el (nnfolder-close-group, nnfolder-save-nov): * lisp/gnus/nnimap.el (nnimap-make-process-buffer, nnimap-keepalive) (nnimap-find-connection): * lisp/gnus/nnmail.el (nnmail-cache-open, nnmail-cache-close): * lisp/gnus/nnmbox.el (nnmbox-close-server, nnmbox-server-opened) (nnmbox-possibly-change-newsgroup, nnmbox-read-mbox): * lisp/gnus/nnml.el (nnml-save-incremental-nov, nnml-open-nov) (nnml-save-nov): * lisp/gnus/nnoo.el (nnoo-server-opened): * lisp/gnus/nntp.el (nntp-kill-buffer, nntp-make-process-buffer) (nntp-open-connection, nntp-async-trigger): * lisp/net/mairix.el (mairix-gnus-fetch-field): Simplify buffer liveness checking and killing, replacing buffer-name with buffer-live-p and gnus-buffer-exists-p with gnus-buffer-live-p or equivalent where applicable. --- lisp/gnus/gnus-agent.el | 27 +++++++++++++++------------ lisp/gnus/gnus-art.el | 21 ++++++++------------- lisp/gnus/gnus-bcklg.el | 3 +-- lisp/gnus/gnus-cus.el | 8 +++----- lisp/gnus/gnus-draft.el | 5 ++--- lisp/gnus/gnus-group.el | 22 +++++++++------------- lisp/gnus/gnus-msg.el | 9 ++++----- lisp/gnus/gnus-score.el | 4 ++-- lisp/gnus/gnus-spec.el | 2 +- lisp/gnus/gnus-srvr.el | 3 +-- lisp/gnus/gnus-start.el | 20 ++++++++------------ lisp/gnus/gnus-sum.el | 18 ++++++++---------- lisp/gnus/gnus-util.el | 11 +++-------- lisp/gnus/gnus-win.el | 32 ++++++++++++-------------------- lisp/gnus/gnus.el | 24 ++++++------------------ lisp/gnus/mail-source.el | 3 +-- lisp/gnus/message.el | 23 ++++++++--------------- lisp/gnus/mm-decode.el | 8 +++----- lisp/gnus/nnbabyl.el | 15 +++++---------- lisp/gnus/nndiary.el | 2 +- lisp/gnus/nndoc.el | 9 +++------ lisp/gnus/nnfolder.el | 5 ++--- lisp/gnus/nnimap.el | 6 +++--- lisp/gnus/nnmail.el | 8 +++----- lisp/gnus/nnmbox.el | 15 +++++---------- lisp/gnus/nnml.el | 8 +++----- lisp/gnus/nnoo.el | 3 +-- lisp/gnus/nntp.el | 37 ++++++++++++++++++------------------- lisp/net/mairix.el | 6 ++---- 29 files changed, 141 insertions(+), 216 deletions(-) diff --git a/lisp/gnus/gnus-agent.el b/lisp/gnus/gnus-agent.el index bed480f554..a09b436889 100644 --- a/lisp/gnus/gnus-agent.el +++ b/lisp/gnus/gnus-agent.el @@ -1193,7 +1193,7 @@ gnus-agent-fetch-selected-article ;;; (defun gnus-agent-synchronize-group-flags (group actions server) -"Update a plugged group by performing the indicated actions." + "Update a plugged group by performing the indicated actions." (let* ((gnus-command-method (gnus-server-to-method server)) (info ;; This initializer is required as gnus-request-set-mark @@ -1227,18 +1227,21 @@ gnus-agent-synchronize-group-flags ((memq mark '(tick)) (let ((info-marks (assoc mark (gnus-info-marks info)))) (unless info-marks - (gnus-info-set-marks info (cons (setq info-marks (list mark)) (gnus-info-marks info)))) - (setcdr info-marks (funcall (if (eq what 'add) - 'gnus-range-add - 'gnus-remove-from-range) - (cdr info-marks) - range)))))))) + (gnus-info-set-marks + info (cons (setq info-marks (list mark)) + (gnus-info-marks info)))) + (setcdr info-marks + (funcall (if (eq what 'add) + 'gnus-range-add + 'gnus-remove-from-range) + (cdr info-marks) + range)))))))) - ;;Marks can be synchronized at any time by simply toggling from - ;;unplugged to plugged. If that is what is happening right now, make - ;;sure that the group buffer is up to date. - (when (gnus-buffer-live-p gnus-group-buffer) - (gnus-group-update-group group t))) + ;; Marks can be synchronized at any time by simply toggling from + ;; unplugged to plugged. If that is what is happening right now, + ;; make sure that the group buffer is up to date. + (when (gnus-buffer-live-p gnus-group-buffer) + (gnus-group-update-group group t))) nil)) (defun gnus-agent-save-active (method &optional groups-p) diff --git a/lisp/gnus/gnus-art.el b/lisp/gnus/gnus-art.el index baa8a244c0..c416266efc 100644 --- a/lisp/gnus/gnus-art.el +++ b/lisp/gnus/gnus-art.el @@ -4798,11 +4798,10 @@ gnus-kill-sticky-article-buffers (interactive "P") (dolist (buf (gnus-buffers)) (with-current-buffer buf - (when (derived-mode-p 'gnus-sticky-article-mode) - (if (not arg) - (gnus-kill-buffer buf) - (when (yes-or-no-p (concat "Kill buffer " (buffer-name buf) "? ")) - (gnus-kill-buffer buf))))))) + (and (derived-mode-p 'gnus-sticky-article-mode) + (or (not arg) + (yes-or-no-p (format "Kill buffer %s? " buf))) + (gnus-kill-buffer buf))))) ;;; ;;; Gnus MIME viewing functions @@ -6978,9 +6977,7 @@ gnus-request-article-this-buffer ;; doesn't belong in this newsgroup (possibly), so we find its ;; message-id and request it by id instead of number. (when (and (numberp article) - gnus-summary-buffer - (get-buffer gnus-summary-buffer) - (gnus-buffer-exists-p gnus-summary-buffer)) + (gnus-buffer-live-p gnus-summary-buffer)) (with-current-buffer gnus-summary-buffer (let ((header (gnus-summary-article-header article))) (when (< article 0) @@ -7014,11 +7011,9 @@ gnus-request-article-this-buffer (cond ;; Refuse to select canceled articles. ((and (numberp article) - gnus-summary-buffer - (get-buffer gnus-summary-buffer) - (gnus-buffer-exists-p gnus-summary-buffer) - (eq (cdr (with-current-buffer gnus-summary-buffer - (assq article gnus-newsgroup-reads))) + (gnus-buffer-live-p gnus-summary-buffer) + (eq (with-current-buffer gnus-summary-buffer + (cdr (assq article gnus-newsgroup-reads))) gnus-canceled-mark)) nil) ;; We first check `gnus-original-article-buffer'. diff --git a/lisp/gnus/gnus-bcklg.el b/lisp/gnus/gnus-bcklg.el index c5a0e3ec4f..f478c39f37 100644 --- a/lisp/gnus/gnus-bcklg.el +++ b/lisp/gnus/gnus-bcklg.el @@ -46,8 +46,7 @@ gnus-backlog-buffer (defun gnus-backlog-shutdown () "Clear all backlog variables and buffers." (interactive) - (when (get-buffer gnus-backlog-buffer) - (gnus-kill-buffer gnus-backlog-buffer)) + (gnus-kill-buffer gnus-backlog-buffer) (setq gnus-backlog-articles nil)) (defun gnus-backlog-enter-article (group number buffer) diff --git a/lisp/gnus/gnus-cus.el b/lisp/gnus/gnus-cus.el index d56066e616..0938d6b6ed 100644 --- a/lisp/gnus/gnus-cus.el +++ b/lisp/gnus/gnus-cus.el @@ -369,7 +369,7 @@ gnus-group-customize (unless (or topic (setq info (gnus-get-info group))) (error "Killed group; can't be edited")) ;; Ready. - (gnus-kill-buffer (gnus-get-buffer-create "*Gnus Customize*")) + (gnus-kill-buffer "*Gnus Customize*") (switch-to-buffer (gnus-get-buffer-create "*Gnus Customize*")) (gnus-custom-mode) (make-local-variable 'gnus-custom-group) @@ -1021,9 +1021,7 @@ gnus-agent-customize-category (cons 'agent-low-score gnus-agent-low-score) (cons 'agent-high-score gnus-agent-high-score)))) - (let ((old (get-buffer "*Gnus Agent Category Customize*"))) - (when old - (gnus-kill-buffer old))) + (gnus-kill-buffer "*Gnus Agent Category Customize*") (switch-to-buffer (gnus-get-buffer-create "*Gnus Agent Category Customize*")) @@ -1051,7 +1049,7 @@ gnus-agent-customize-category (when (get-buffer gnus-category-buffer) (switch-to-buffer (get-buffer gnus-category-buffer)) (gnus-category-list))) - "Done") + "Done") (widget-insert "\n Note: Empty fields default to the customizable global\ variables.\n\n") diff --git a/lisp/gnus/gnus-draft.el b/lisp/gnus/gnus-draft.el index ad1aa62a34..0616dc8fd5 100644 --- a/lisp/gnus/gnus-draft.el +++ b/lisp/gnus/gnus-draft.el @@ -94,14 +94,13 @@ gnus-draft-edit-message (save-restriction (message-narrow-to-headers) (message-remove-header "date"))) - (let ((message-draft-headers - (delq 'Date (copy-sequence message-draft-headers)))) + (let ((message-draft-headers (remq 'Date message-draft-headers))) (save-buffer)) (let ((gnus-verbose-backends nil)) (gnus-request-expire-articles (list article) group t)) (push `((lambda () - (when (gnus-buffer-exists-p ,gnus-summary-buffer) + (when (gnus-buffer-live-p ,gnus-summary-buffer) (save-excursion (set-buffer ,gnus-summary-buffer) (gnus-cache-possibly-remove-article ,article nil nil nil t))))) diff --git a/lisp/gnus/gnus-group.el b/lisp/gnus/gnus-group.el index 4a14de33b0..f49ed16443 100644 --- a/lisp/gnus/gnus-group.el +++ b/lisp/gnus/gnus-group.el @@ -1743,8 +1743,7 @@ gnus-group-set-mode-line gnus-tmp-header ;Dummy binding for user-defined formats ;; Get the resulting string. (modified - (and gnus-dribble-buffer - (buffer-name gnus-dribble-buffer) + (and (buffer-live-p gnus-dribble-buffer) (buffer-modified-p gnus-dribble-buffer) (with-current-buffer gnus-dribble-buffer (not (zerop (buffer-size)))))) @@ -4362,15 +4361,13 @@ gnus-group-exit (defun gnus--abort-on-unsaved-message-buffers () (dolist (buffer (gnus-buffers)) - (when (gnus-buffer-exists-p buffer) - (with-current-buffer buffer - (when (and (derived-mode-p 'message-mode) - (buffer-modified-p) - (not (y-or-n-p - (format "Message buffer %s unsaved, continue exit? " - (buffer-name))))) - (error "Gnus exit aborted due to unsaved %s buffer" - (buffer-name))))))) + (with-current-buffer buffer + (when (and (derived-mode-p 'message-mode) + (buffer-modified-p) + (not (y-or-n-p + (format "Message buffer %s unsaved, continue exit? " + buffer)))) + (error "Gnus exit aborted due to unsaved buffer %s" buffer))))) (defun gnus-group-quit () "Quit reading news without updating .newsrc.eld or .newsrc. @@ -4754,8 +4751,7 @@ gnus-group-compact-group ;; Invalidate the "original article" buffer which might be out of date. ;; #### NOTE: Yes, this might be a bit rude, but since compaction ;; #### will not happen very often, I think this is acceptable. - (let ((original (get-buffer gnus-original-article-buffer))) - (and original (gnus-kill-buffer original))) + (gnus-kill-buffer gnus-original-article-buffer) ;; Update the group line to reflect new information (art number etc). (gnus-group-update-group-line)))) diff --git a/lisp/gnus/gnus-msg.el b/lisp/gnus/gnus-msg.el index b7a97f19d0..0ae7fe2efc 100644 --- a/lisp/gnus/gnus-msg.el +++ b/lisp/gnus/gnus-msg.el @@ -607,7 +607,7 @@ gnus-inews-add-send-actions (message-add-action `(progn (setq gnus-current-window-configuration ',winconf-name) - (when (gnus-buffer-exists-p ,buffer) + (when (gnus-buffer-live-p ,buffer) (set-window-configuration ,winconf))) 'exit 'postpone 'kill) (let ((to-be-marked (cond @@ -617,7 +617,7 @@ gnus-inews-add-send-actions (article (if (listp article) article (list article))) (t nil)))) (message-add-action - `(when (gnus-buffer-exists-p ,buffer) + `(when (gnus-buffer-live-p ,buffer) (with-current-buffer ,buffer ,(when to-be-marked (if (eq config 'forward) @@ -902,7 +902,7 @@ gnus-summary-supersede-article (message-supersede) (push `((lambda () - (when (gnus-buffer-exists-p ,gnus-summary-buffer) + (when (gnus-buffer-live-p ,gnus-summary-buffer) (with-current-buffer ,gnus-summary-buffer (gnus-cache-possibly-remove-article ,article nil nil nil t) (gnus-summary-mark-as-read ,article gnus-canceled-mark))))) @@ -922,8 +922,7 @@ gnus-copy-article-buffer (mm-enable-multibyte)) (let ((article-buffer (or article-buffer gnus-article-buffer)) end beg) - (if (not (and (get-buffer article-buffer) - (gnus-buffer-exists-p article-buffer))) + (if (not (gnus-buffer-live-p article-buffer)) (error "Can't find any article buffer") (with-current-buffer article-buffer (let ((gnus-newsgroup-charset (or gnus-article-charset diff --git a/lisp/gnus/gnus-score.el b/lisp/gnus/gnus-score.el index 476c36023e..72fcc64155 100644 --- a/lisp/gnus/gnus-score.el +++ b/lisp/gnus/gnus-score.el @@ -1098,7 +1098,7 @@ gnus-score-edit-current-scores (if (not gnus-current-score-file) (error "No current score file") (let ((winconf (current-window-configuration))) - (when (buffer-name gnus-summary-buffer) + (when (buffer-live-p gnus-summary-buffer) (gnus-score-save)) (gnus-make-directory (file-name-directory file)) (setq gnus-score-edit-buffer (find-file-noselect file)) @@ -1126,7 +1126,7 @@ gnus-score-edit-file (interactive (list (read-file-name "Edit score file: " gnus-kill-files-directory))) (gnus-make-directory (file-name-directory file)) - (when (buffer-name gnus-summary-buffer) + (when (buffer-live-p gnus-summary-buffer) (gnus-score-save)) (let ((winconf (current-window-configuration))) (setq gnus-score-edit-buffer (find-file-noselect file)) diff --git a/lisp/gnus/gnus-spec.el b/lisp/gnus/gnus-spec.el index b236f0a401..47d722c914 100644 --- a/lisp/gnus/gnus-spec.el +++ b/lisp/gnus/gnus-spec.el @@ -150,7 +150,7 @@ gnus-update-format-specifications (let ((buffer (intern (format "gnus-%s-buffer" type)))) (when (and (boundp buffer) (setq val (symbol-value buffer)) - (gnus-buffer-exists-p val)) + (gnus-buffer-live-p val)) (set-buffer val)) (setq new-format (symbol-value (intern (format "gnus-%s-line-format" type))))) diff --git a/lisp/gnus/gnus-srvr.el b/lisp/gnus/gnus-srvr.el index 76a0f7d0fd..972ff28e63 100644 --- a/lisp/gnus/gnus-srvr.el +++ b/lisp/gnus/gnus-srvr.el @@ -1086,8 +1086,7 @@ gnus-server-compact-server ;; Invalidate the original article buffer which might be out of date. ;; #### NOTE: Yes, this might be a bit rude, but since compaction ;; #### will not happen very often, I think this is acceptable. - (let ((original (get-buffer gnus-original-article-buffer))) - (and original (gnus-kill-buffer original)))))) + (gnus-kill-buffer gnus-original-article-buffer)))) (defun gnus-server-toggle-cloud-server () "Toggle whether the server under point is replicated in the Emacs Cloud." diff --git a/lisp/gnus/gnus-start.el b/lisp/gnus/gnus-start.el index ef07dcd23c..85aefe0f5f 100644 --- a/lisp/gnus/gnus-start.el +++ b/lisp/gnus/gnus-start.el @@ -720,11 +720,10 @@ gnus-clear-system ;; Kill Gnus buffers. (do-auto-save t) (dolist (buffer (gnus-buffers)) - (when (gnus-buffer-exists-p buffer) - (with-current-buffer buffer - (set-buffer-modified-p nil) - (when (local-variable-p 'kill-buffer-hook) - (setq kill-buffer-hook nil)))) + (with-current-buffer buffer + (set-buffer-modified-p nil) + (when (local-variable-p 'kill-buffer-hook) + (setq kill-buffer-hook nil))) (gnus-kill-buffer buffer)) ;; Remove Gnus frames. (gnus-kill-gnus-frames)) @@ -842,8 +841,7 @@ gnus-dribble-enter "Enter STRING into the dribble buffer. If REGEXP is given, lines that match it will be deleted." (when (and (not gnus-dribble-ignore) - gnus-dribble-buffer - (buffer-name gnus-dribble-buffer)) + (buffer-live-p gnus-dribble-buffer)) (let ((obuf (current-buffer))) (set-buffer gnus-dribble-buffer) (when regexp @@ -935,14 +933,13 @@ gnus-dribble-delete-file (set-buffer-modified-p nil))))) (defun gnus-dribble-save () - (when (and gnus-dribble-buffer - (buffer-name gnus-dribble-buffer)) + (when (buffer-live-p gnus-dribble-buffer) (with-current-buffer gnus-dribble-buffer (when (> (buffer-size) 0) (save-buffer))))) (defun gnus-dribble-clear () - (when (gnus-buffer-exists-p gnus-dribble-buffer) + (when (gnus-buffer-live-p gnus-dribble-buffer) (with-current-buffer gnus-dribble-buffer (erase-buffer) (set-buffer-modified-p nil) @@ -2726,8 +2723,7 @@ gnus-save-newsrc-file (save-excursion (if (and (or gnus-use-dribble-file gnus-slave) (not force) - (or (not gnus-dribble-buffer) - (not (buffer-name gnus-dribble-buffer)) + (or (not (buffer-live-p gnus-dribble-buffer)) (zerop (with-current-buffer gnus-dribble-buffer (buffer-size))))) (gnus-message 4 "(No changes need to be saved)") diff --git a/lisp/gnus/gnus-sum.el b/lisp/gnus/gnus-sum.el index 31958ff7b0..5d5d2ec464 100644 --- a/lisp/gnus/gnus-sum.el +++ b/lisp/gnus/gnus-sum.el @@ -3519,8 +3519,7 @@ gnus-summary-setup-buffer (dead-name (concat "*Dead Summary " (gnus-group-decoded-name group) "*"))) ;; If a dead summary buffer exists, we kill it. - (when (gnus-buffer-live-p dead-name) - (gnus-kill-buffer dead-name)) + (gnus-kill-buffer dead-name) (if (get-buffer buffer) (progn (set-buffer buffer) @@ -3622,7 +3621,7 @@ gnus-make-thread-indent-array (defun gnus-update-summary-mark-positions () "Compute where the summary marks are to go." (save-excursion - (when (gnus-buffer-exists-p gnus-summary-buffer) + (when (gnus-buffer-live-p gnus-summary-buffer) (set-buffer gnus-summary-buffer)) (let ((spec gnus-summary-line-format-spec) pos) @@ -7326,7 +7325,7 @@ gnus-summary-exit (gnus-summary-update-info)) (gnus-close-group group) ;; Make sure where we were, and go to next newsgroup. - (when (buffer-live-p (get-buffer gnus-group-buffer)) + (when (gnus-buffer-live-p gnus-group-buffer) (set-buffer gnus-group-buffer)) (unless quit-config (gnus-group-jump-to-group group)) @@ -7501,8 +7500,7 @@ gnus-dead-summary-mode (defun gnus-deaden-summary () "Make the current summary buffer into a dead summary buffer." ;; Kill any previous dead summary buffer. - (when (and gnus-dead-summary - (buffer-name gnus-dead-summary)) + (when (buffer-live-p gnus-dead-summary) (with-current-buffer gnus-dead-summary (when gnus-dead-summary-mode (kill-buffer (current-buffer))))) @@ -7520,7 +7518,7 @@ gnus-deaden-summary (defun gnus-kill-or-deaden-summary (buffer) "Kill or deaden the summary BUFFER." (save-excursion - (when (and (buffer-name buffer) + (when (and (buffer-live-p buffer) (not gnus-single-article-buffer)) (with-current-buffer buffer (gnus-kill-buffer gnus-article-buffer) @@ -7529,12 +7527,12 @@ gnus-kill-or-deaden-summary ;; Kill the buffer. (gnus-kill-summary-on-exit (when (and gnus-use-trees - (gnus-buffer-exists-p buffer)) + (gnus-buffer-live-p buffer)) (with-current-buffer buffer (gnus-tree-close))) (gnus-kill-buffer buffer)) ;; Deaden the buffer. - ((gnus-buffer-exists-p buffer) + ((gnus-buffer-live-p buffer) (with-current-buffer buffer (gnus-deaden-summary)))))) @@ -7605,7 +7603,7 @@ gnus-summary-next-group (and unreads (not (zerop unreads)))) (gnus-summary-read-group target-group nil no-article - (and (buffer-name current-buffer) current-buffer) + (and (buffer-live-p current-buffer) current-buffer) nil backward)) (setq entered t) (setq current-group target-group diff --git a/lisp/gnus/gnus-util.el b/lisp/gnus/gnus-util.el index 6b0f29b0af..3ab7c9a1e9 100644 --- a/lisp/gnus/gnus-util.el +++ b/lisp/gnus/gnus-util.el @@ -108,12 +108,6 @@ gnus-eval-in-buffer-window (defsubst gnus-goto-char (point) (and point (goto-char point))) -(defmacro gnus-buffer-exists-p (buffer) - `(let ((buffer ,buffer)) - (when buffer - (funcall (if (stringp buffer) 'get-buffer 'buffer-name) - buffer)))) - (defun gnus-delete-first (elt list) "Delete by side effect the first occurrence of ELT as a member of LIST." (if (equal (car list) elt) @@ -561,8 +555,9 @@ gnus-parent-id (match-string 1 references)))))) (defsubst gnus-buffer-live-p (buffer) - "Say whether BUFFER is alive or not." - (and buffer (buffer-live-p (get-buffer buffer)))) + "If BUFFER names a live buffer, return its object; else nil." + (and buffer (buffer-live-p (setq buffer (get-buffer buffer))) + buffer)) (defun gnus-horizontal-recenter () "Recenter the current buffer horizontally." diff --git a/lisp/gnus/gnus-win.el b/lisp/gnus/gnus-win.el index 40c5b42d45..e6906e99bb 100644 --- a/lisp/gnus/gnus-win.el +++ b/lisp/gnus/gnus-win.el @@ -270,7 +270,7 @@ gnus-configure-frame (error "Invalid buffer type: %s" type)) (let ((buf (gnus-get-buffer-create (gnus-window-to-buffer-helper buffer)))) - (when (buffer-name buf) + (when (buffer-live-p buf) (cond ((eq buf (window-buffer (selected-window))) (set-buffer buf)) @@ -430,20 +430,13 @@ gnus-configure-windows (defun gnus-delete-windows-in-gnusey-frames () "Do a `delete-other-windows' in all frames that have Gnus windows." (let ((buffers (gnus-buffers))) - (mapcar - (lambda (frame) - (unless (eq (cdr (assq 'minibuffer - (frame-parameters frame))) - 'only) - (select-frame frame) - (let (do-delete) - (walk-windows - (lambda (window) - (when (memq (window-buffer window) buffers) - (setq do-delete t)))) - (when do-delete - (delete-other-windows))))) - (frame-list)))) + (dolist (frame (frame-list)) + (unless (eq (frame-parameter frame 'minibuffer) 'only) + (select-frame frame) + (when (get-window-with-predicate + (lambda (window) + (memq (window-buffer window) buffers))) + (delete-other-windows)))))) (defun gnus-all-windows-visible-p (split) "Say whether all buffers in SPLIT are currently visible. @@ -491,11 +484,10 @@ gnus-window-top-edge (nth 1 (window-edges window))) (defun gnus-remove-some-windows () - (let ((buffers (gnus-buffers)) - buf bufs lowest-buf lowest) + (let (bufs lowest-buf lowest) (save-excursion ;; Remove windows on all known Gnus buffers. - (while (setq buf (pop buffers)) + (dolist (buf (gnus-buffers)) (when (get-buffer-window buf) (push buf bufs) (pop-to-buffer buf) @@ -506,8 +498,8 @@ gnus-remove-some-windows (when lowest-buf (pop-to-buffer lowest-buf) (set-buffer nntp-server-buffer)) - (mapcar (lambda (b) (delete-windows-on b t)) - (delq lowest-buf bufs))))) + (dolist (b (delq lowest-buf bufs)) + (delete-windows-on b t))))) (defun gnus-get-buffer-window (buffer &optional frame) "Return a window currently displaying BUFFER, or nil if none. diff --git a/lisp/gnus/gnus.el b/lisp/gnus/gnus.el index 7538274e15..1c41e081b7 100644 --- a/lisp/gnus/gnus.el +++ b/lisp/gnus/gnus.el @@ -665,26 +665,15 @@ gnus-add-buffer (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 @@ gnus-group-find-parameter 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 diff --git a/lisp/gnus/mail-source.el b/lisp/gnus/mail-source.el index 7514e64e7c..48a3d89892 100644 --- a/lisp/gnus/mail-source.el +++ b/lisp/gnus/mail-source.el @@ -723,8 +723,7 @@ mail-source-movemail (buffer-string) result)) (error "%s" (buffer-string))) (setq to nil))))))) - (when (and errors - (buffer-name errors)) + (when (buffer-live-p errors) (kill-buffer errors)) ;; Return whether we moved successfully or not. to))) diff --git a/lisp/gnus/message.el b/lisp/gnus/message.el index 8b72ef88ab..29a8f25f31 100644 --- a/lisp/gnus/message.el +++ b/lisp/gnus/message.el @@ -2034,8 +2034,7 @@ message-add-header (defmacro message-with-reply-buffer (&rest forms) "Evaluate FORMS in the reply buffer, if it exists." - `(when (and (bufferp message-reply-buffer) - (buffer-name message-reply-buffer)) + `(when (buffer-live-p message-reply-buffer) (with-current-buffer message-reply-buffer ,@forms))) @@ -3229,8 +3228,7 @@ message-widen-reply "Widen the reply to include maximum recipients." (interactive) (let ((follow-to - (and (bufferp message-reply-buffer) - (buffer-name message-reply-buffer) + (and (buffer-live-p message-reply-buffer) (with-current-buffer message-reply-buffer (message-get-reply-headers t))))) (save-excursion @@ -4027,7 +4025,7 @@ message-send-and-exit (let ((buf (current-buffer)) (actions message-exit-actions)) (when (and (message-send arg) - (buffer-name buf)) + (buffer-live-p buf)) (message-bury buf) (if message-kill-buffer-on-exit (kill-buffer buf)) @@ -4740,7 +4738,7 @@ message-send-mail-with-sendmail (if (not (zerop (buffer-size))) (error "Sending...failed to %s" (buffer-string)))))) - (when (bufferp errbuf) + (when (buffer-live-p errbuf) (kill-buffer errbuf))))) (defun message-send-mail-with-qmail () @@ -6377,8 +6375,7 @@ message-buffer-name (defun message-pop-to-buffer (name &optional switch-function) "Pop to buffer NAME, and warn if it already exists and is modified." (let ((buffer (get-buffer name))) - (if (and buffer - (buffer-name buffer)) + (if (buffer-live-p buffer) (let ((window (get-buffer-window buffer 0))) (if window ;; Raise the frame already displaying the message buffer. @@ -6409,7 +6406,7 @@ message-do-send-housekeeping (>= (length message-buffer-list) message-max-buffers)) ;; Kill the oldest buffer -- unless it has been changed. (let ((buffer (pop message-buffer-list))) - (when (and (buffer-name buffer) + (when (and (buffer-live-p buffer) (not (buffer-modified-p buffer))) (kill-buffer buffer)))) ;; Rename the buffer. @@ -7376,9 +7373,7 @@ message-forward-make-body-plain (unless (multibyte-string-p contents) (error "Attempt to insert unibyte string from the buffer \"%s\"\ to the multibyte buffer \"%s\"" - (if (bufferp forward-buffer) - (buffer-name forward-buffer) - forward-buffer) + forward-buffer (buffer-name))) (insert (mm-with-multibyte-buffer (insert contents) @@ -7440,9 +7435,7 @@ message-forward-make-body-mml (unless (multibyte-string-p contents) (error "Attempt to insert unibyte string from the buffer \"%s\"\ to the multibyte buffer \"%s\"" - (if (bufferp forward-buffer) - (buffer-name forward-buffer) - forward-buffer) + forward-buffer (buffer-name))) (insert (mm-with-multibyte-buffer (insert contents) diff --git a/lisp/gnus/mm-decode.el b/lisp/gnus/mm-decode.el index 5b1859e324..eaddfd2445 100644 --- a/lisp/gnus/mm-decode.el +++ b/lisp/gnus/mm-decode.el @@ -893,8 +893,7 @@ mm-display-external (if method (progn (when (and (boundp 'gnus-summary-buffer) - (bufferp gnus-summary-buffer) - (buffer-name gnus-summary-buffer)) + (buffer-live-p gnus-summary-buffer)) (when attachment-filename (with-current-buffer mm (rename-buffer (format "*mm* %s" attachment-filename) t))) @@ -1152,9 +1151,8 @@ mm-remove-part (ignore-errors (delete-file (car object))) (ignore-errors (delete-directory (file-name-directory (car object))))) - ((bufferp object) - (when (buffer-live-p object) - (kill-buffer object))))) + ((buffer-live-p object) + (kill-buffer object)))) (mm-handle-set-undisplayer handle nil)))) (defun mm-display-inline (handle) diff --git a/lisp/gnus/nnbabyl.el b/lisp/gnus/nnbabyl.el index 3b31645410..0f4f4303cd 100644 --- a/lisp/gnus/nnbabyl.el +++ b/lisp/gnus/nnbabyl.el @@ -145,10 +145,8 @@ nnbabyl-close-server (deffoo nnbabyl-server-opened (&optional server) (and (nnoo-current-server-p 'nnbabyl server) - nnbabyl-mbox-buffer - (buffer-name nnbabyl-mbox-buffer) - nntp-server-buffer - (buffer-name nntp-server-buffer))) + (buffer-live-p nnbabyl-mbox-buffer) + (buffer-live-p nntp-server-buffer))) (deffoo nnbabyl-request-article (article &optional newsgroup server buffer) (nnbabyl-possibly-change-newsgroup newsgroup server) @@ -452,8 +450,7 @@ nnbabyl-possibly-change-newsgroup (when (and server (not (nnbabyl-server-opened server))) (nnbabyl-open-server server)) - (when (or (not nnbabyl-mbox-buffer) - (not (buffer-name nnbabyl-mbox-buffer))) + (unless (buffer-live-p nnbabyl-mbox-buffer) (save-excursion (nnbabyl-read-mbox))) (unless nnbabyl-group-alist (nnmail-activate 'nnbabyl)) @@ -556,8 +553,7 @@ nnbabyl-read-mbox (nnmail-activate 'nnbabyl) (nnbabyl-create-mbox) - (unless (and nnbabyl-mbox-buffer - (buffer-name nnbabyl-mbox-buffer) + (unless (and (buffer-live-p nnbabyl-mbox-buffer) (with-current-buffer nnbabyl-mbox-buffer (= (buffer-size) (nnheader-file-size nnbabyl-mbox-file)))) ;; This buffer has changed since we read it last. Possibly. @@ -627,8 +623,7 @@ nnbabyl-check-mbox (let ((idents (gnus-make-hashtable 1000)) id) (save-excursion - (when (or (not nnbabyl-mbox-buffer) - (not (buffer-name nnbabyl-mbox-buffer))) + (unless (buffer-live-p nnbabyl-mbox-buffer) (nnbabyl-read-mbox)) (set-buffer nnbabyl-mbox-buffer) (goto-char (point-min)) diff --git a/lisp/gnus/nndiary.el b/lisp/gnus/nndiary.el index aca29fea57..a2b1efd8cc 100644 --- a/lisp/gnus/nndiary.el +++ b/lisp/gnus/nndiary.el @@ -1016,7 +1016,7 @@ nndiary-open-nov (defun nndiary-save-nov () (save-excursion (while nndiary-nov-buffer-alist - (when (buffer-name (cdar nndiary-nov-buffer-alist)) + (when (buffer-live-p (cdar nndiary-nov-buffer-alist)) (set-buffer (cdar nndiary-nov-buffer-alist)) (when (buffer-modified-p) (nnmail-write-region 1 (point-max) nndiary-nov-buffer-file-name diff --git a/lisp/gnus/nndoc.el b/lisp/gnus/nndoc.el index 532ba11fa0..9c8cab597a 100644 --- a/lisp/gnus/nndoc.el +++ b/lisp/gnus/nndoc.el @@ -309,8 +309,7 @@ nndoc-request-type (deffoo nndoc-close-group (group &optional server) (nndoc-possibly-change-buffer group server) - (and nndoc-current-buffer - (buffer-name nndoc-current-buffer) + (and (buffer-live-p nndoc-current-buffer) (kill-buffer nndoc-current-buffer)) (setq nndoc-group-alist (delq (assoc group nndoc-group-alist) nndoc-group-alist)) @@ -335,8 +334,7 @@ nndoc-possibly-change-buffer (let (buf) (cond ;; The current buffer is this group's buffer. - ((and nndoc-current-buffer - (buffer-name nndoc-current-buffer) + ((and (buffer-live-p nndoc-current-buffer) (eq nndoc-current-buffer (setq buf (cdr (assoc group nndoc-group-alist)))))) ;; We change buffers by taking an old from the group alist. @@ -344,8 +342,7 @@ nndoc-possibly-change-buffer (buf (setq nndoc-current-buffer buf)) ;; It's a totally new group. - ((or (and (bufferp nndoc-address) - (buffer-name nndoc-address)) + ((or (buffer-live-p nndoc-address) (and (stringp nndoc-address) (file-exists-p nndoc-address) (not (file-directory-p nndoc-address)))) diff --git a/lisp/gnus/nnfolder.el b/lisp/gnus/nnfolder.el index 41963f32ef..6334b1c998 100644 --- a/lisp/gnus/nnfolder.el +++ b/lisp/gnus/nnfolder.el @@ -328,8 +328,7 @@ nnfolder-close-group (delq inf nnfolder-buffer-alist)) (setq nnfolder-current-buffer (cadr inf) nnfolder-current-group (car inf)))) - (when (and nnfolder-current-buffer - (buffer-name nnfolder-current-buffer)) + (when (buffer-live-p nnfolder-current-buffer) (with-current-buffer nnfolder-current-buffer ;; If the buffer was modified, write the file out now. (nnfolder-save-buffer) @@ -1110,7 +1109,7 @@ nnfolder-open-nov (defun nnfolder-save-nov () (save-excursion (while nnfolder-nov-buffer-alist - (when (buffer-name (cdar nnfolder-nov-buffer-alist)) + (when (buffer-live-p (cdar nnfolder-nov-buffer-alist)) (set-buffer (cdar nnfolder-nov-buffer-alist)) (when (buffer-modified-p) (gnus-make-directory (file-name-directory diff --git a/lisp/gnus/nnimap.el b/lisp/gnus/nnimap.el index ac1d28644f..9e52abc1ca 100644 --- a/lisp/gnus/nnimap.el +++ b/lisp/gnus/nnimap.el @@ -346,7 +346,7 @@ nnimap-make-process-buffer (with-current-buffer (generate-new-buffer (format " *nnimap %s %s %s*" nnimap-address nnimap-server-port - (gnus-buffer-exists-p buffer))) + buffer)) (mm-disable-multibyte) (buffer-disable-undo) (gnus-add-buffer) @@ -382,7 +382,7 @@ nnimap-credentials (defun nnimap-keepalive () (let ((now (current-time))) (dolist (buffer nnimap-process-buffers) - (when (buffer-name buffer) + (when (buffer-live-p buffer) (with-current-buffer buffer (when (and nnimap-object (nnimap-last-command-time nnimap-object) @@ -1899,7 +1899,7 @@ nnimap-find-connection "Find the connection delivering to BUFFER." (let ((entry (assoc buffer nnimap-connection-alist))) (when entry - (if (and (buffer-name (cadr entry)) + (if (and (buffer-live-p (cadr entry)) (get-buffer-process (cadr entry)) (memq (process-status (get-buffer-process (cadr entry))) '(open run))) diff --git a/lisp/gnus/nnmail.el b/lisp/gnus/nnmail.el index 37f6e75b90..ed3d571270 100644 --- a/lisp/gnus/nnmail.el +++ b/lisp/gnus/nnmail.el @@ -1561,8 +1561,7 @@ nnmail-cache-buffer (defun nnmail-cache-open () (if (or (not nnmail-treat-duplicates) - (and nnmail-cache-buffer - (buffer-name nnmail-cache-buffer))) + (buffer-live-p nnmail-cache-buffer)) () ; The buffer is open. (with-current-buffer (setq nnmail-cache-buffer @@ -1574,9 +1573,8 @@ nnmail-cache-open (current-buffer)))) (defun nnmail-cache-close () - (when (and nnmail-cache-buffer - nnmail-treat-duplicates - (buffer-name nnmail-cache-buffer) + (when (and nnmail-treat-duplicates + (buffer-live-p nnmail-cache-buffer) (buffer-modified-p nnmail-cache-buffer)) (with-current-buffer nnmail-cache-buffer ;; Weed out the excess number of Message-IDs. diff --git a/lisp/gnus/nnmbox.el b/lisp/gnus/nnmbox.el index bba41336dd..110f39a867 100644 --- a/lisp/gnus/nnmbox.el +++ b/lisp/gnus/nnmbox.el @@ -131,18 +131,15 @@ nnmbox-open-server t))) (deffoo nnmbox-close-server (&optional server) - (when (and nnmbox-mbox-buffer - (buffer-name nnmbox-mbox-buffer)) + (when (buffer-live-p nnmbox-mbox-buffer) (kill-buffer nnmbox-mbox-buffer)) (nnoo-close-server 'nnmbox server) t) (deffoo nnmbox-server-opened (&optional server) (and (nnoo-current-server-p 'nnmbox server) - nnmbox-mbox-buffer - (buffer-name nnmbox-mbox-buffer) - nntp-server-buffer - (buffer-name nntp-server-buffer))) + (buffer-live-p nnmbox-mbox-buffer) + (buffer-live-p nntp-server-buffer))) (deffoo nnmbox-request-article (article &optional newsgroup server buffer) (nnmbox-possibly-change-newsgroup newsgroup server) @@ -463,8 +460,7 @@ nnmbox-possibly-change-newsgroup (when (and server (not (nnmbox-server-opened server))) (nnmbox-open-server server)) - (when (or (not nnmbox-mbox-buffer) - (not (buffer-name nnmbox-mbox-buffer))) + (unless (buffer-live-p nnmbox-mbox-buffer) (nnmbox-read-mbox)) (when (not nnmbox-group-alist) (nnmail-activate 'nnmbox)) @@ -622,8 +618,7 @@ nnmbox-create-mbox (defun nnmbox-read-mbox () (nnmail-activate 'nnmbox) (nnmbox-create-mbox) - (if (and nnmbox-mbox-buffer - (buffer-name nnmbox-mbox-buffer) + (if (and (buffer-live-p nnmbox-mbox-buffer) (with-current-buffer nnmbox-mbox-buffer (= (buffer-size) (nnheader-file-size nnmbox-mbox-file)))) () diff --git a/lisp/gnus/nnml.el b/lisp/gnus/nnml.el index 1d9d166dba..5173056104 100644 --- a/lisp/gnus/nnml.el +++ b/lisp/gnus/nnml.el @@ -772,7 +772,7 @@ nnml-incremental-nov-buffer-alist (defun nnml-save-incremental-nov () (save-excursion (while nnml-incremental-nov-buffer-alist - (when (buffer-name (cdar nnml-incremental-nov-buffer-alist)) + (when (buffer-live-p (cdar nnml-incremental-nov-buffer-alist)) (set-buffer (cdar nnml-incremental-nov-buffer-alist)) (when (buffer-modified-p) (nnmail-write-region (point-min) (point-max) @@ -838,9 +838,7 @@ nnml-get-nov-buffer buffer)) (defun nnml-open-nov (group) - (or (let ((buffer (cdr (assoc group nnml-nov-buffer-alist)))) - (and (buffer-name buffer) - buffer)) + (or (gnus-buffer-live-p (cdr (assoc group nnml-nov-buffer-alist))) (let ((buffer (nnml-get-nov-buffer group))) (push (cons group buffer) nnml-nov-buffer-alist) buffer))) @@ -848,7 +846,7 @@ nnml-open-nov (defun nnml-save-nov () (save-excursion (while nnml-nov-buffer-alist - (when (buffer-name (cdar nnml-nov-buffer-alist)) + (when (buffer-live-p (cdar nnml-nov-buffer-alist)) (set-buffer (cdar nnml-nov-buffer-alist)) (when (buffer-modified-p) (nnmail-write-region (point-min) (point-max) diff --git a/lisp/gnus/nnoo.el b/lisp/gnus/nnoo.el index 0cf2362b36..c65668a719 100644 --- a/lisp/gnus/nnoo.el +++ b/lisp/gnus/nnoo.el @@ -269,8 +269,7 @@ nnoo-status-message (defun nnoo-server-opened (backend server) (and (nnoo-current-server-p backend server) - nntp-server-buffer - (buffer-name nntp-server-buffer))) + (buffer-live-p nntp-server-buffer))) (defmacro nnoo-define-basics (backend) "Define `close-server', `server-opened' and `status-message'." diff --git a/lisp/gnus/nntp.el b/lisp/gnus/nntp.el index e2fa1d85a3..880a4f1111 100644 --- a/lisp/gnus/nntp.el +++ b/lisp/gnus/nntp.el @@ -400,7 +400,7 @@ nntp-wait-for (erase-buffer))))) (defun nntp-kill-buffer (buffer) - (when (buffer-name buffer) + (when (buffer-live-p buffer) (let ((process (get-buffer-process buffer))) (when process (delete-process process))) @@ -1228,16 +1228,15 @@ nntp-make-process-buffer (with-current-buffer (generate-new-buffer (format " *server %s %s %s*" - nntp-address nntp-port-number - (gnus-buffer-exists-p buffer))) + nntp-address nntp-port-number buffer)) (mm-disable-multibyte) - (set (make-local-variable 'after-change-functions) nil) - (set (make-local-variable 'nntp-process-wait-for) nil) - (set (make-local-variable 'nntp-process-callback) nil) - (set (make-local-variable 'nntp-process-to-buffer) nil) - (set (make-local-variable 'nntp-process-start-point) nil) - (set (make-local-variable 'nntp-process-decode) nil) - (set (make-local-variable 'nntp-retrieval-in-progress) nil) + (setq-local after-change-functions nil) + (setq-local nntp-process-wait-for nil) + (setq-local nntp-process-callback nil) + (setq-local nntp-process-to-buffer nil) + (setq-local nntp-process-start-point nil) + (setq-local nntp-process-decode nil) + (setq-local nntp-retrieval-in-progress nil) (current-buffer))) (defun nntp-open-connection (buffer) @@ -1290,7 +1289,7 @@ nntp-open-connection (setq process nil)) (unless process (nntp-kill-buffer pbuffer)) - (when (and (buffer-name pbuffer) + (when (and (buffer-live-p pbuffer) process) (when (eq (process-type process) 'network) ;; Use TCP-keepalive so that connections that pass through a NAT router @@ -1358,17 +1357,17 @@ nntp-after-change-function (defun nntp-async-trigger (process) (with-current-buffer (process-buffer process) (when nntp-process-callback - ;; do we have an error message? + ;; Do we have an error message? (goto-char nntp-process-start-point) (if (memq (following-char) '(?4 ?5)) - ;; wants credentials? - (if (looking-at "480") + ;; Wants credentials? + (if (looking-at-p "480") (nntp-handle-authinfo process) - ;; report error message. + ;; Report error message. (nntp-snarf-error-message) (nntp-do-callback nil)) - ;; got what we expect? + ;; Got what we expect? (goto-char (point-max)) (when (re-search-backward nntp-process-wait-for nntp-process-start-point t) @@ -1376,8 +1375,8 @@ nntp-async-trigger (with-current-buffer nntp-server-buffer (setq nntp-process-response response))) (nntp-async-stop process) - ;; convert it. - (when (gnus-buffer-exists-p nntp-process-to-buffer) + ;; Convert it. + (when (gnus-buffer-live-p nntp-process-to-buffer) (let ((buf (current-buffer)) (start nntp-process-start-point) (decode nntp-process-decode)) @@ -1388,7 +1387,7 @@ nntp-async-trigger (nnheader-insert-buffer-substring buf start) (when decode (nntp-decode-text)))))) - ;; report it. + ;; Report it. (goto-char (point-max)) (nntp-do-callback (buffer-name (get-buffer nntp-process-to-buffer)))))))) diff --git a/lisp/net/mairix.el b/lisp/net/mairix.el index 07415667e1..0c699c976c 100644 --- a/lisp/net/mairix.el +++ b/lisp/net/mairix.el @@ -266,9 +266,7 @@ mairix-rmail-fetch-field ;;; Gnus -;; For gnus-buffer-exists-p, although it seems that could be replaced by: -;; (and buffer (get-buffer buffer)) -(eval-when-compile (require 'gnus-util)) +(eval-when-compile (require 'gnus-util)) ; For `gnus-buffer-live-p'. (defvar gnus-article-buffer) (declare-function gnus-group-read-ephemeral-group "gnus-group" (group method &optional activate quit-config @@ -296,7 +294,7 @@ mairix-gnus-fetch-field (unless (and (fboundp 'gnus-alive-p) (gnus-alive-p)) (error "Gnus is not running")) - (unless (gnus-buffer-exists-p gnus-article-buffer) + (unless (gnus-buffer-live-p gnus-article-buffer) (error "No article buffer available")) (with-current-buffer gnus-article-buffer ;; gnus-art requires gnus-sum and message. -- 2.20.1