diff options
| author | Basil L. Contovounesios | 2019-05-05 01:28:57 +0100 |
|---|---|---|
| committer | Basil L. Contovounesios | 2019-05-30 02:56:28 +0100 |
| commit | ceca1740ea2c9bc98da8c11765b78c696b27c79e (patch) | |
| tree | 8f878809e34325af181edac66385307345c3ef03 | |
| parent | 46a176169b9050a5e6d97b11f265bd58b4b5eb05 (diff) | |
| download | emacs-ceca1740ea2c9bc98da8c11765b78c696b27c79e.tar.gz emacs-ceca1740ea2c9bc98da8c11765b78c696b27c79e.zip | |
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): Define as obsolete
alias of gnus-buffer-live-p.
(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.
| -rw-r--r-- | lisp/gnus/gnus-agent.el | 29 | ||||
| -rw-r--r-- | lisp/gnus/gnus-art.el | 21 | ||||
| -rw-r--r-- | lisp/gnus/gnus-bcklg.el | 3 | ||||
| -rw-r--r-- | lisp/gnus/gnus-cus.el | 8 | ||||
| -rw-r--r-- | lisp/gnus/gnus-draft.el | 5 | ||||
| -rw-r--r-- | lisp/gnus/gnus-group.el | 22 | ||||
| -rw-r--r-- | lisp/gnus/gnus-msg.el | 9 | ||||
| -rw-r--r-- | lisp/gnus/gnus-score.el | 4 | ||||
| -rw-r--r-- | lisp/gnus/gnus-spec.el | 2 | ||||
| -rw-r--r-- | lisp/gnus/gnus-srvr.el | 3 | ||||
| -rw-r--r-- | lisp/gnus/gnus-start.el | 20 | ||||
| -rw-r--r-- | lisp/gnus/gnus-sum.el | 18 | ||||
| -rw-r--r-- | lisp/gnus/gnus-util.el | 14 | ||||
| -rw-r--r-- | lisp/gnus/gnus-win.el | 32 | ||||
| -rw-r--r-- | lisp/gnus/gnus.el | 24 | ||||
| -rw-r--r-- | lisp/gnus/mail-source.el | 3 | ||||
| -rw-r--r-- | lisp/gnus/message.el | 23 | ||||
| -rw-r--r-- | lisp/gnus/mm-decode.el | 8 | ||||
| -rw-r--r-- | lisp/gnus/nnbabyl.el | 15 | ||||
| -rw-r--r-- | lisp/gnus/nndiary.el | 2 | ||||
| -rw-r--r-- | lisp/gnus/nndoc.el | 9 | ||||
| -rw-r--r-- | lisp/gnus/nnfolder.el | 5 | ||||
| -rw-r--r-- | lisp/gnus/nnimap.el | 6 | ||||
| -rw-r--r-- | lisp/gnus/nnmail.el | 8 | ||||
| -rw-r--r-- | lisp/gnus/nnmbox.el | 15 | ||||
| -rw-r--r-- | lisp/gnus/nnml.el | 8 | ||||
| -rw-r--r-- | lisp/gnus/nnoo.el | 3 | ||||
| -rw-r--r-- | lisp/gnus/nntp.el | 37 | ||||
| -rw-r--r-- | lisp/net/mairix.el | 6 |
29 files changed, 145 insertions, 217 deletions
diff --git a/lisp/gnus/gnus-agent.el b/lisp/gnus/gnus-agent.el index bed480f5541..a09b4368893 100644 --- a/lisp/gnus/gnus-agent.el +++ b/lisp/gnus/gnus-agent.el | |||
| @@ -1193,7 +1193,7 @@ This can be added to `gnus-select-article-hook' or | |||
| 1193 | ;;; | 1193 | ;;; |
| 1194 | 1194 | ||
| 1195 | (defun gnus-agent-synchronize-group-flags (group actions server) | 1195 | (defun gnus-agent-synchronize-group-flags (group actions server) |
| 1196 | "Update a plugged group by performing the indicated actions." | 1196 | "Update a plugged group by performing the indicated actions." |
| 1197 | (let* ((gnus-command-method (gnus-server-to-method server)) | 1197 | (let* ((gnus-command-method (gnus-server-to-method server)) |
| 1198 | (info | 1198 | (info |
| 1199 | ;; This initializer is required as gnus-request-set-mark | 1199 | ;; This initializer is required as gnus-request-set-mark |
| @@ -1227,18 +1227,21 @@ This can be added to `gnus-select-article-hook' or | |||
| 1227 | ((memq mark '(tick)) | 1227 | ((memq mark '(tick)) |
| 1228 | (let ((info-marks (assoc mark (gnus-info-marks info)))) | 1228 | (let ((info-marks (assoc mark (gnus-info-marks info)))) |
| 1229 | (unless info-marks | 1229 | (unless info-marks |
| 1230 | (gnus-info-set-marks info (cons (setq info-marks (list mark)) (gnus-info-marks info)))) | 1230 | (gnus-info-set-marks |
| 1231 | (setcdr info-marks (funcall (if (eq what 'add) | 1231 | info (cons (setq info-marks (list mark)) |
| 1232 | 'gnus-range-add | 1232 | (gnus-info-marks info)))) |
| 1233 | 'gnus-remove-from-range) | 1233 | (setcdr info-marks |
| 1234 | (cdr info-marks) | 1234 | (funcall (if (eq what 'add) |
| 1235 | range)))))))) | 1235 | 'gnus-range-add |
| 1236 | 1236 | 'gnus-remove-from-range) | |
| 1237 | ;;Marks can be synchronized at any time by simply toggling from | 1237 | (cdr info-marks) |
| 1238 | ;;unplugged to plugged. If that is what is happening right now, make | 1238 | range)))))))) |
| 1239 | ;;sure that the group buffer is up to date. | 1239 | |
| 1240 | (when (gnus-buffer-live-p gnus-group-buffer) | 1240 | ;; Marks can be synchronized at any time by simply toggling from |
| 1241 | (gnus-group-update-group group t))) | 1241 | ;; unplugged to plugged. If that is what is happening right now, |
| 1242 | ;; make sure that the group buffer is up to date. | ||
| 1243 | (when (gnus-buffer-live-p gnus-group-buffer) | ||
| 1244 | (gnus-group-update-group group t))) | ||
| 1242 | nil)) | 1245 | nil)) |
| 1243 | 1246 | ||
| 1244 | (defun gnus-agent-save-active (method &optional groups-p) | 1247 | (defun gnus-agent-save-active (method &optional groups-p) |
diff --git a/lisp/gnus/gnus-art.el b/lisp/gnus/gnus-art.el index 0cd34e445cc..d826faca5bd 100644 --- a/lisp/gnus/gnus-art.el +++ b/lisp/gnus/gnus-art.el | |||
| @@ -4799,11 +4799,10 @@ If a prefix ARG is given, ask for confirmation." | |||
| 4799 | (interactive "P") | 4799 | (interactive "P") |
| 4800 | (dolist (buf (gnus-buffers)) | 4800 | (dolist (buf (gnus-buffers)) |
| 4801 | (with-current-buffer buf | 4801 | (with-current-buffer buf |
| 4802 | (when (derived-mode-p 'gnus-sticky-article-mode) | 4802 | (and (derived-mode-p 'gnus-sticky-article-mode) |
| 4803 | (if (not arg) | 4803 | (or (not arg) |
| 4804 | (gnus-kill-buffer buf) | 4804 | (yes-or-no-p (format "Kill buffer %s? " buf))) |
| 4805 | (when (yes-or-no-p (concat "Kill buffer " (buffer-name buf) "? ")) | 4805 | (gnus-kill-buffer buf))))) |
| 4806 | (gnus-kill-buffer buf))))))) | ||
| 4807 | 4806 | ||
| 4808 | ;;; | 4807 | ;;; |
| 4809 | ;;; Gnus MIME viewing functions | 4808 | ;;; Gnus MIME viewing functions |
| @@ -6979,9 +6978,7 @@ If given a prefix, show the hidden text instead." | |||
| 6979 | ;; doesn't belong in this newsgroup (possibly), so we find its | 6978 | ;; doesn't belong in this newsgroup (possibly), so we find its |
| 6980 | ;; message-id and request it by id instead of number. | 6979 | ;; message-id and request it by id instead of number. |
| 6981 | (when (and (numberp article) | 6980 | (when (and (numberp article) |
| 6982 | gnus-summary-buffer | 6981 | (gnus-buffer-live-p gnus-summary-buffer)) |
| 6983 | (get-buffer gnus-summary-buffer) | ||
| 6984 | (gnus-buffer-exists-p gnus-summary-buffer)) | ||
| 6985 | (with-current-buffer gnus-summary-buffer | 6982 | (with-current-buffer gnus-summary-buffer |
| 6986 | (let ((header (gnus-summary-article-header article))) | 6983 | (let ((header (gnus-summary-article-header article))) |
| 6987 | (when (< article 0) | 6984 | (when (< article 0) |
| @@ -7015,11 +7012,9 @@ If given a prefix, show the hidden text instead." | |||
| 7015 | (cond | 7012 | (cond |
| 7016 | ;; Refuse to select canceled articles. | 7013 | ;; Refuse to select canceled articles. |
| 7017 | ((and (numberp article) | 7014 | ((and (numberp article) |
| 7018 | gnus-summary-buffer | 7015 | (gnus-buffer-live-p gnus-summary-buffer) |
| 7019 | (get-buffer gnus-summary-buffer) | 7016 | (eq (with-current-buffer gnus-summary-buffer |
| 7020 | (gnus-buffer-exists-p gnus-summary-buffer) | 7017 | (cdr (assq article gnus-newsgroup-reads))) |
| 7021 | (eq (cdr (with-current-buffer gnus-summary-buffer | ||
| 7022 | (assq article gnus-newsgroup-reads))) | ||
| 7023 | gnus-canceled-mark)) | 7018 | gnus-canceled-mark)) |
| 7024 | nil) | 7019 | nil) |
| 7025 | ;; We first check `gnus-original-article-buffer'. | 7020 | ;; We first check `gnus-original-article-buffer'. |
diff --git a/lisp/gnus/gnus-bcklg.el b/lisp/gnus/gnus-bcklg.el index c5a0e3ec4f0..f478c39f370 100644 --- a/lisp/gnus/gnus-bcklg.el +++ b/lisp/gnus/gnus-bcklg.el | |||
| @@ -46,8 +46,7 @@ | |||
| 46 | (defun gnus-backlog-shutdown () | 46 | (defun gnus-backlog-shutdown () |
| 47 | "Clear all backlog variables and buffers." | 47 | "Clear all backlog variables and buffers." |
| 48 | (interactive) | 48 | (interactive) |
| 49 | (when (get-buffer gnus-backlog-buffer) | 49 | (gnus-kill-buffer gnus-backlog-buffer) |
| 50 | (gnus-kill-buffer gnus-backlog-buffer)) | ||
| 51 | (setq gnus-backlog-articles nil)) | 50 | (setq gnus-backlog-articles nil)) |
| 52 | 51 | ||
| 53 | (defun gnus-backlog-enter-article (group number buffer) | 52 | (defun gnus-backlog-enter-article (group number buffer) |
diff --git a/lisp/gnus/gnus-cus.el b/lisp/gnus/gnus-cus.el index d56066e6168..0938d6b6ed3 100644 --- a/lisp/gnus/gnus-cus.el +++ b/lisp/gnus/gnus-cus.el | |||
| @@ -369,7 +369,7 @@ category.")) | |||
| 369 | (unless (or topic (setq info (gnus-get-info group))) | 369 | (unless (or topic (setq info (gnus-get-info group))) |
| 370 | (error "Killed group; can't be edited")) | 370 | (error "Killed group; can't be edited")) |
| 371 | ;; Ready. | 371 | ;; Ready. |
| 372 | (gnus-kill-buffer (gnus-get-buffer-create "*Gnus Customize*")) | 372 | (gnus-kill-buffer "*Gnus Customize*") |
| 373 | (switch-to-buffer (gnus-get-buffer-create "*Gnus Customize*")) | 373 | (switch-to-buffer (gnus-get-buffer-create "*Gnus Customize*")) |
| 374 | (gnus-custom-mode) | 374 | (gnus-custom-mode) |
| 375 | (make-local-variable 'gnus-custom-group) | 375 | (make-local-variable 'gnus-custom-group) |
| @@ -1021,9 +1021,7 @@ articles in the thread. | |||
| 1021 | (cons 'agent-low-score gnus-agent-low-score) | 1021 | (cons 'agent-low-score gnus-agent-low-score) |
| 1022 | (cons 'agent-high-score gnus-agent-high-score)))) | 1022 | (cons 'agent-high-score gnus-agent-high-score)))) |
| 1023 | 1023 | ||
| 1024 | (let ((old (get-buffer "*Gnus Agent Category Customize*"))) | 1024 | (gnus-kill-buffer "*Gnus Agent Category Customize*") |
| 1025 | (when old | ||
| 1026 | (gnus-kill-buffer old))) | ||
| 1027 | (switch-to-buffer (gnus-get-buffer-create | 1025 | (switch-to-buffer (gnus-get-buffer-create |
| 1028 | "*Gnus Agent Category Customize*")) | 1026 | "*Gnus Agent Category Customize*")) |
| 1029 | 1027 | ||
| @@ -1051,7 +1049,7 @@ articles in the thread. | |||
| 1051 | (when (get-buffer gnus-category-buffer) | 1049 | (when (get-buffer gnus-category-buffer) |
| 1052 | (switch-to-buffer (get-buffer gnus-category-buffer)) | 1050 | (switch-to-buffer (get-buffer gnus-category-buffer)) |
| 1053 | (gnus-category-list))) | 1051 | (gnus-category-list))) |
| 1054 | "Done") | 1052 | "Done") |
| 1055 | (widget-insert | 1053 | (widget-insert |
| 1056 | "\n Note: Empty fields default to the customizable global\ | 1054 | "\n Note: Empty fields default to the customizable global\ |
| 1057 | variables.\n\n") | 1055 | variables.\n\n") |
diff --git a/lisp/gnus/gnus-draft.el b/lisp/gnus/gnus-draft.el index ad1aa62a346..0616dc8fd5a 100644 --- a/lisp/gnus/gnus-draft.el +++ b/lisp/gnus/gnus-draft.el | |||
| @@ -94,14 +94,13 @@ | |||
| 94 | (save-restriction | 94 | (save-restriction |
| 95 | (message-narrow-to-headers) | 95 | (message-narrow-to-headers) |
| 96 | (message-remove-header "date"))) | 96 | (message-remove-header "date"))) |
| 97 | (let ((message-draft-headers | 97 | (let ((message-draft-headers (remq 'Date message-draft-headers))) |
| 98 | (delq 'Date (copy-sequence message-draft-headers)))) | ||
| 99 | (save-buffer)) | 98 | (save-buffer)) |
| 100 | (let ((gnus-verbose-backends nil)) | 99 | (let ((gnus-verbose-backends nil)) |
| 101 | (gnus-request-expire-articles (list article) group t)) | 100 | (gnus-request-expire-articles (list article) group t)) |
| 102 | (push | 101 | (push |
| 103 | `((lambda () | 102 | `((lambda () |
| 104 | (when (gnus-buffer-exists-p ,gnus-summary-buffer) | 103 | (when (gnus-buffer-live-p ,gnus-summary-buffer) |
| 105 | (save-excursion | 104 | (save-excursion |
| 106 | (set-buffer ,gnus-summary-buffer) | 105 | (set-buffer ,gnus-summary-buffer) |
| 107 | (gnus-cache-possibly-remove-article ,article nil nil nil t))))) | 106 | (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 4a14de33b0d..f49ed164439 100644 --- a/lisp/gnus/gnus-group.el +++ b/lisp/gnus/gnus-group.el | |||
| @@ -1743,8 +1743,7 @@ already. If INFO-UNCHANGED is non-nil, dribble buffer is not updated." | |||
| 1743 | gnus-tmp-header ;Dummy binding for user-defined formats | 1743 | gnus-tmp-header ;Dummy binding for user-defined formats |
| 1744 | ;; Get the resulting string. | 1744 | ;; Get the resulting string. |
| 1745 | (modified | 1745 | (modified |
| 1746 | (and gnus-dribble-buffer | 1746 | (and (buffer-live-p gnus-dribble-buffer) |
| 1747 | (buffer-name gnus-dribble-buffer) | ||
| 1748 | (buffer-modified-p gnus-dribble-buffer) | 1747 | (buffer-modified-p gnus-dribble-buffer) |
| 1749 | (with-current-buffer gnus-dribble-buffer | 1748 | (with-current-buffer gnus-dribble-buffer |
| 1750 | (not (zerop (buffer-size)))))) | 1749 | (not (zerop (buffer-size)))))) |
| @@ -4362,15 +4361,13 @@ The hook `gnus-exit-gnus-hook' is called before actually exiting." | |||
| 4362 | 4361 | ||
| 4363 | (defun gnus--abort-on-unsaved-message-buffers () | 4362 | (defun gnus--abort-on-unsaved-message-buffers () |
| 4364 | (dolist (buffer (gnus-buffers)) | 4363 | (dolist (buffer (gnus-buffers)) |
| 4365 | (when (gnus-buffer-exists-p buffer) | 4364 | (with-current-buffer buffer |
| 4366 | (with-current-buffer buffer | 4365 | (when (and (derived-mode-p 'message-mode) |
| 4367 | (when (and (derived-mode-p 'message-mode) | 4366 | (buffer-modified-p) |
| 4368 | (buffer-modified-p) | 4367 | (not (y-or-n-p |
| 4369 | (not (y-or-n-p | 4368 | (format "Message buffer %s unsaved, continue exit? " |
| 4370 | (format "Message buffer %s unsaved, continue exit? " | 4369 | buffer)))) |
| 4371 | (buffer-name))))) | 4370 | (error "Gnus exit aborted due to unsaved buffer %s" buffer))))) |
| 4372 | (error "Gnus exit aborted due to unsaved %s buffer" | ||
| 4373 | (buffer-name))))))) | ||
| 4374 | 4371 | ||
| 4375 | (defun gnus-group-quit () | 4372 | (defun gnus-group-quit () |
| 4376 | "Quit reading news without updating .newsrc.eld or .newsrc. | 4373 | "Quit reading news without updating .newsrc.eld or .newsrc. |
| @@ -4754,8 +4751,7 @@ Compacting group %s... (this may take a long time)" | |||
| 4754 | ;; Invalidate the "original article" buffer which might be out of date. | 4751 | ;; Invalidate the "original article" buffer which might be out of date. |
| 4755 | ;; #### NOTE: Yes, this might be a bit rude, but since compaction | 4752 | ;; #### NOTE: Yes, this might be a bit rude, but since compaction |
| 4756 | ;; #### will not happen very often, I think this is acceptable. | 4753 | ;; #### will not happen very often, I think this is acceptable. |
| 4757 | (let ((original (get-buffer gnus-original-article-buffer))) | 4754 | (gnus-kill-buffer gnus-original-article-buffer) |
| 4758 | (and original (gnus-kill-buffer original))) | ||
| 4759 | ;; Update the group line to reflect new information (art number etc). | 4755 | ;; Update the group line to reflect new information (art number etc). |
| 4760 | (gnus-group-update-group-line)))) | 4756 | (gnus-group-update-group-line)))) |
| 4761 | 4757 | ||
diff --git a/lisp/gnus/gnus-msg.el b/lisp/gnus/gnus-msg.el index b7a97f19d00..0ae7fe2efc1 100644 --- a/lisp/gnus/gnus-msg.el +++ b/lisp/gnus/gnus-msg.el | |||
| @@ -607,7 +607,7 @@ instead." | |||
| 607 | (message-add-action | 607 | (message-add-action |
| 608 | `(progn | 608 | `(progn |
| 609 | (setq gnus-current-window-configuration ',winconf-name) | 609 | (setq gnus-current-window-configuration ',winconf-name) |
| 610 | (when (gnus-buffer-exists-p ,buffer) | 610 | (when (gnus-buffer-live-p ,buffer) |
| 611 | (set-window-configuration ,winconf))) | 611 | (set-window-configuration ,winconf))) |
| 612 | 'exit 'postpone 'kill) | 612 | 'exit 'postpone 'kill) |
| 613 | (let ((to-be-marked (cond | 613 | (let ((to-be-marked (cond |
| @@ -617,7 +617,7 @@ instead." | |||
| 617 | (article (if (listp article) article (list article))) | 617 | (article (if (listp article) article (list article))) |
| 618 | (t nil)))) | 618 | (t nil)))) |
| 619 | (message-add-action | 619 | (message-add-action |
| 620 | `(when (gnus-buffer-exists-p ,buffer) | 620 | `(when (gnus-buffer-live-p ,buffer) |
| 621 | (with-current-buffer ,buffer | 621 | (with-current-buffer ,buffer |
| 622 | ,(when to-be-marked | 622 | ,(when to-be-marked |
| 623 | (if (eq config 'forward) | 623 | (if (eq config 'forward) |
| @@ -902,7 +902,7 @@ header line with the old Message-ID." | |||
| 902 | (message-supersede) | 902 | (message-supersede) |
| 903 | (push | 903 | (push |
| 904 | `((lambda () | 904 | `((lambda () |
| 905 | (when (gnus-buffer-exists-p ,gnus-summary-buffer) | 905 | (when (gnus-buffer-live-p ,gnus-summary-buffer) |
| 906 | (with-current-buffer ,gnus-summary-buffer | 906 | (with-current-buffer ,gnus-summary-buffer |
| 907 | (gnus-cache-possibly-remove-article ,article nil nil nil t) | 907 | (gnus-cache-possibly-remove-article ,article nil nil nil t) |
| 908 | (gnus-summary-mark-as-read ,article gnus-canceled-mark))))) | 908 | (gnus-summary-mark-as-read ,article gnus-canceled-mark))))) |
| @@ -922,8 +922,7 @@ header line with the old Message-ID." | |||
| 922 | (mm-enable-multibyte)) | 922 | (mm-enable-multibyte)) |
| 923 | (let ((article-buffer (or article-buffer gnus-article-buffer)) | 923 | (let ((article-buffer (or article-buffer gnus-article-buffer)) |
| 924 | end beg) | 924 | end beg) |
| 925 | (if (not (and (get-buffer article-buffer) | 925 | (if (not (gnus-buffer-live-p article-buffer)) |
| 926 | (gnus-buffer-exists-p article-buffer))) | ||
| 927 | (error "Can't find any article buffer") | 926 | (error "Can't find any article buffer") |
| 928 | (with-current-buffer article-buffer | 927 | (with-current-buffer article-buffer |
| 929 | (let ((gnus-newsgroup-charset (or gnus-article-charset | 928 | (let ((gnus-newsgroup-charset (or gnus-article-charset |
diff --git a/lisp/gnus/gnus-score.el b/lisp/gnus/gnus-score.el index 476c36023ea..72fcc641559 100644 --- a/lisp/gnus/gnus-score.el +++ b/lisp/gnus/gnus-score.el | |||
| @@ -1098,7 +1098,7 @@ EXTRA is the possible non-standard header." | |||
| 1098 | (if (not gnus-current-score-file) | 1098 | (if (not gnus-current-score-file) |
| 1099 | (error "No current score file") | 1099 | (error "No current score file") |
| 1100 | (let ((winconf (current-window-configuration))) | 1100 | (let ((winconf (current-window-configuration))) |
| 1101 | (when (buffer-name gnus-summary-buffer) | 1101 | (when (buffer-live-p gnus-summary-buffer) |
| 1102 | (gnus-score-save)) | 1102 | (gnus-score-save)) |
| 1103 | (gnus-make-directory (file-name-directory file)) | 1103 | (gnus-make-directory (file-name-directory file)) |
| 1104 | (setq gnus-score-edit-buffer (find-file-noselect file)) | 1104 | (setq gnus-score-edit-buffer (find-file-noselect file)) |
| @@ -1126,7 +1126,7 @@ EXTRA is the possible non-standard header." | |||
| 1126 | (interactive | 1126 | (interactive |
| 1127 | (list (read-file-name "Edit score file: " gnus-kill-files-directory))) | 1127 | (list (read-file-name "Edit score file: " gnus-kill-files-directory))) |
| 1128 | (gnus-make-directory (file-name-directory file)) | 1128 | (gnus-make-directory (file-name-directory file)) |
| 1129 | (when (buffer-name gnus-summary-buffer) | 1129 | (when (buffer-live-p gnus-summary-buffer) |
| 1130 | (gnus-score-save)) | 1130 | (gnus-score-save)) |
| 1131 | (let ((winconf (current-window-configuration))) | 1131 | (let ((winconf (current-window-configuration))) |
| 1132 | (setq gnus-score-edit-buffer (find-file-noselect file)) | 1132 | (setq gnus-score-edit-buffer (find-file-noselect file)) |
diff --git a/lisp/gnus/gnus-spec.el b/lisp/gnus/gnus-spec.el index b236f0a4018..47d722c9144 100644 --- a/lisp/gnus/gnus-spec.el +++ b/lisp/gnus/gnus-spec.el | |||
| @@ -150,7 +150,7 @@ Return a list of updated types." | |||
| 150 | (let ((buffer (intern (format "gnus-%s-buffer" type)))) | 150 | (let ((buffer (intern (format "gnus-%s-buffer" type)))) |
| 151 | (when (and (boundp buffer) | 151 | (when (and (boundp buffer) |
| 152 | (setq val (symbol-value buffer)) | 152 | (setq val (symbol-value buffer)) |
| 153 | (gnus-buffer-exists-p val)) | 153 | (gnus-buffer-live-p val)) |
| 154 | (set-buffer val)) | 154 | (set-buffer val)) |
| 155 | (setq new-format (symbol-value | 155 | (setq new-format (symbol-value |
| 156 | (intern (format "gnus-%s-line-format" type))))) | 156 | (intern (format "gnus-%s-line-format" type))))) |
diff --git a/lisp/gnus/gnus-srvr.el b/lisp/gnus/gnus-srvr.el index 76a0f7d0fdb..972ff28e63f 100644 --- a/lisp/gnus/gnus-srvr.el +++ b/lisp/gnus/gnus-srvr.el | |||
| @@ -1086,8 +1086,7 @@ Requesting compaction of %s... (this may take a long time)" | |||
| 1086 | ;; Invalidate the original article buffer which might be out of date. | 1086 | ;; Invalidate the original article buffer which might be out of date. |
| 1087 | ;; #### NOTE: Yes, this might be a bit rude, but since compaction | 1087 | ;; #### NOTE: Yes, this might be a bit rude, but since compaction |
| 1088 | ;; #### will not happen very often, I think this is acceptable. | 1088 | ;; #### will not happen very often, I think this is acceptable. |
| 1089 | (let ((original (get-buffer gnus-original-article-buffer))) | 1089 | (gnus-kill-buffer gnus-original-article-buffer)))) |
| 1090 | (and original (gnus-kill-buffer original)))))) | ||
| 1091 | 1090 | ||
| 1092 | (defun gnus-server-toggle-cloud-server () | 1091 | (defun gnus-server-toggle-cloud-server () |
| 1093 | "Toggle whether the server under point is replicated in the Emacs Cloud." | 1092 | "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 ef07dcd23c0..85aefe0f5f6 100644 --- a/lisp/gnus/gnus-start.el +++ b/lisp/gnus/gnus-start.el | |||
| @@ -720,11 +720,10 @@ the first newsgroup." | |||
| 720 | ;; Kill Gnus buffers. | 720 | ;; Kill Gnus buffers. |
| 721 | (do-auto-save t) | 721 | (do-auto-save t) |
| 722 | (dolist (buffer (gnus-buffers)) | 722 | (dolist (buffer (gnus-buffers)) |
| 723 | (when (gnus-buffer-exists-p buffer) | 723 | (with-current-buffer buffer |
| 724 | (with-current-buffer buffer | 724 | (set-buffer-modified-p nil) |
| 725 | (set-buffer-modified-p nil) | 725 | (when (local-variable-p 'kill-buffer-hook) |
| 726 | (when (local-variable-p 'kill-buffer-hook) | 726 | (setq kill-buffer-hook nil))) |
| 727 | (setq kill-buffer-hook nil)))) | ||
| 728 | (gnus-kill-buffer buffer)) | 727 | (gnus-kill-buffer buffer)) |
| 729 | ;; Remove Gnus frames. | 728 | ;; Remove Gnus frames. |
| 730 | (gnus-kill-gnus-frames)) | 729 | (gnus-kill-gnus-frames)) |
| @@ -842,8 +841,7 @@ prompt the user for the name of an NNTP server to use." | |||
| 842 | "Enter STRING into the dribble buffer. | 841 | "Enter STRING into the dribble buffer. |
| 843 | If REGEXP is given, lines that match it will be deleted." | 842 | If REGEXP is given, lines that match it will be deleted." |
| 844 | (when (and (not gnus-dribble-ignore) | 843 | (when (and (not gnus-dribble-ignore) |
| 845 | gnus-dribble-buffer | 844 | (buffer-live-p gnus-dribble-buffer)) |
| 846 | (buffer-name gnus-dribble-buffer)) | ||
| 847 | (let ((obuf (current-buffer))) | 845 | (let ((obuf (current-buffer))) |
| 848 | (set-buffer gnus-dribble-buffer) | 846 | (set-buffer gnus-dribble-buffer) |
| 849 | (when regexp | 847 | (when regexp |
| @@ -935,14 +933,13 @@ If REGEXP is given, lines that match it will be deleted." | |||
| 935 | (set-buffer-modified-p nil))))) | 933 | (set-buffer-modified-p nil))))) |
| 936 | 934 | ||
| 937 | (defun gnus-dribble-save () | 935 | (defun gnus-dribble-save () |
| 938 | (when (and gnus-dribble-buffer | 936 | (when (buffer-live-p gnus-dribble-buffer) |
| 939 | (buffer-name gnus-dribble-buffer)) | ||
| 940 | (with-current-buffer gnus-dribble-buffer | 937 | (with-current-buffer gnus-dribble-buffer |
| 941 | (when (> (buffer-size) 0) | 938 | (when (> (buffer-size) 0) |
| 942 | (save-buffer))))) | 939 | (save-buffer))))) |
| 943 | 940 | ||
| 944 | (defun gnus-dribble-clear () | 941 | (defun gnus-dribble-clear () |
| 945 | (when (gnus-buffer-exists-p gnus-dribble-buffer) | 942 | (when (gnus-buffer-live-p gnus-dribble-buffer) |
| 946 | (with-current-buffer gnus-dribble-buffer | 943 | (with-current-buffer gnus-dribble-buffer |
| 947 | (erase-buffer) | 944 | (erase-buffer) |
| 948 | (set-buffer-modified-p nil) | 945 | (set-buffer-modified-p nil) |
| @@ -2726,8 +2723,7 @@ values from `gnus-newsrc-hashtb', and write a new value of | |||
| 2726 | (save-excursion | 2723 | (save-excursion |
| 2727 | (if (and (or gnus-use-dribble-file gnus-slave) | 2724 | (if (and (or gnus-use-dribble-file gnus-slave) |
| 2728 | (not force) | 2725 | (not force) |
| 2729 | (or (not gnus-dribble-buffer) | 2726 | (or (not (buffer-live-p gnus-dribble-buffer)) |
| 2730 | (not (buffer-name gnus-dribble-buffer)) | ||
| 2731 | (zerop (with-current-buffer gnus-dribble-buffer | 2727 | (zerop (with-current-buffer gnus-dribble-buffer |
| 2732 | (buffer-size))))) | 2728 | (buffer-size))))) |
| 2733 | (gnus-message 4 "(No changes need to be saved)") | 2729 | (gnus-message 4 "(No changes need to be saved)") |
diff --git a/lisp/gnus/gnus-sum.el b/lisp/gnus/gnus-sum.el index 31958ff7b04..5d5d2ec464b 100644 --- a/lisp/gnus/gnus-sum.el +++ b/lisp/gnus/gnus-sum.el | |||
| @@ -3519,8 +3519,7 @@ Returns non-nil if the setup was successful." | |||
| 3519 | (dead-name (concat "*Dead Summary " | 3519 | (dead-name (concat "*Dead Summary " |
| 3520 | (gnus-group-decoded-name group) "*"))) | 3520 | (gnus-group-decoded-name group) "*"))) |
| 3521 | ;; If a dead summary buffer exists, we kill it. | 3521 | ;; If a dead summary buffer exists, we kill it. |
| 3522 | (when (gnus-buffer-live-p dead-name) | 3522 | (gnus-kill-buffer dead-name) |
| 3523 | (gnus-kill-buffer dead-name)) | ||
| 3524 | (if (get-buffer buffer) | 3523 | (if (get-buffer buffer) |
| 3525 | (progn | 3524 | (progn |
| 3526 | (set-buffer buffer) | 3525 | (set-buffer buffer) |
| @@ -3622,7 +3621,7 @@ buffer that was in action when the last article was fetched." | |||
| 3622 | (defun gnus-update-summary-mark-positions () | 3621 | (defun gnus-update-summary-mark-positions () |
| 3623 | "Compute where the summary marks are to go." | 3622 | "Compute where the summary marks are to go." |
| 3624 | (save-excursion | 3623 | (save-excursion |
| 3625 | (when (gnus-buffer-exists-p gnus-summary-buffer) | 3624 | (when (gnus-buffer-live-p gnus-summary-buffer) |
| 3626 | (set-buffer gnus-summary-buffer)) | 3625 | (set-buffer gnus-summary-buffer)) |
| 3627 | (let ((spec gnus-summary-line-format-spec) | 3626 | (let ((spec gnus-summary-line-format-spec) |
| 3628 | pos) | 3627 | pos) |
| @@ -7326,7 +7325,7 @@ If FORCE (the prefix), also save the .newsrc file(s)." | |||
| 7326 | (gnus-summary-update-info)) | 7325 | (gnus-summary-update-info)) |
| 7327 | (gnus-close-group group) | 7326 | (gnus-close-group group) |
| 7328 | ;; Make sure where we were, and go to next newsgroup. | 7327 | ;; Make sure where we were, and go to next newsgroup. |
| 7329 | (when (buffer-live-p (get-buffer gnus-group-buffer)) | 7328 | (when (gnus-buffer-live-p gnus-group-buffer) |
| 7330 | (set-buffer gnus-group-buffer)) | 7329 | (set-buffer gnus-group-buffer)) |
| 7331 | (unless quit-config | 7330 | (unless quit-config |
| 7332 | (gnus-group-jump-to-group group)) | 7331 | (gnus-group-jump-to-group group)) |
| @@ -7501,8 +7500,7 @@ The state which existed when entering the ephemeral is reset." | |||
| 7501 | (defun gnus-deaden-summary () | 7500 | (defun gnus-deaden-summary () |
| 7502 | "Make the current summary buffer into a dead summary buffer." | 7501 | "Make the current summary buffer into a dead summary buffer." |
| 7503 | ;; Kill any previous dead summary buffer. | 7502 | ;; Kill any previous dead summary buffer. |
| 7504 | (when (and gnus-dead-summary | 7503 | (when (buffer-live-p gnus-dead-summary) |
| 7505 | (buffer-name gnus-dead-summary)) | ||
| 7506 | (with-current-buffer gnus-dead-summary | 7504 | (with-current-buffer gnus-dead-summary |
| 7507 | (when gnus-dead-summary-mode | 7505 | (when gnus-dead-summary-mode |
| 7508 | (kill-buffer (current-buffer))))) | 7506 | (kill-buffer (current-buffer))))) |
| @@ -7520,7 +7518,7 @@ The state which existed when entering the ephemeral is reset." | |||
| 7520 | (defun gnus-kill-or-deaden-summary (buffer) | 7518 | (defun gnus-kill-or-deaden-summary (buffer) |
| 7521 | "Kill or deaden the summary BUFFER." | 7519 | "Kill or deaden the summary BUFFER." |
| 7522 | (save-excursion | 7520 | (save-excursion |
| 7523 | (when (and (buffer-name buffer) | 7521 | (when (and (buffer-live-p buffer) |
| 7524 | (not gnus-single-article-buffer)) | 7522 | (not gnus-single-article-buffer)) |
| 7525 | (with-current-buffer buffer | 7523 | (with-current-buffer buffer |
| 7526 | (gnus-kill-buffer gnus-article-buffer) | 7524 | (gnus-kill-buffer gnus-article-buffer) |
| @@ -7529,12 +7527,12 @@ The state which existed when entering the ephemeral is reset." | |||
| 7529 | ;; Kill the buffer. | 7527 | ;; Kill the buffer. |
| 7530 | (gnus-kill-summary-on-exit | 7528 | (gnus-kill-summary-on-exit |
| 7531 | (when (and gnus-use-trees | 7529 | (when (and gnus-use-trees |
| 7532 | (gnus-buffer-exists-p buffer)) | 7530 | (gnus-buffer-live-p buffer)) |
| 7533 | (with-current-buffer buffer | 7531 | (with-current-buffer buffer |
| 7534 | (gnus-tree-close))) | 7532 | (gnus-tree-close))) |
| 7535 | (gnus-kill-buffer buffer)) | 7533 | (gnus-kill-buffer buffer)) |
| 7536 | ;; Deaden the buffer. | 7534 | ;; Deaden the buffer. |
| 7537 | ((gnus-buffer-exists-p buffer) | 7535 | ((gnus-buffer-live-p buffer) |
| 7538 | (with-current-buffer buffer | 7536 | (with-current-buffer buffer |
| 7539 | (gnus-deaden-summary)))))) | 7537 | (gnus-deaden-summary)))))) |
| 7540 | 7538 | ||
| @@ -7605,7 +7603,7 @@ previous group instead." | |||
| 7605 | (and unreads (not (zerop unreads)))) | 7603 | (and unreads (not (zerop unreads)))) |
| 7606 | (gnus-summary-read-group | 7604 | (gnus-summary-read-group |
| 7607 | target-group nil no-article | 7605 | target-group nil no-article |
| 7608 | (and (buffer-name current-buffer) current-buffer) | 7606 | (and (buffer-live-p current-buffer) current-buffer) |
| 7609 | nil backward)) | 7607 | nil backward)) |
| 7610 | (setq entered t) | 7608 | (setq entered t) |
| 7611 | (setq current-group target-group | 7609 | (setq current-group target-group |
diff --git a/lisp/gnus/gnus-util.el b/lisp/gnus/gnus-util.el index e4bc9b900c2..31421cc7555 100644 --- a/lisp/gnus/gnus-util.el +++ b/lisp/gnus/gnus-util.el | |||
| @@ -109,12 +109,6 @@ This is a compatibility function for different Emacsen." | |||
| 109 | (defsubst gnus-goto-char (point) | 109 | (defsubst gnus-goto-char (point) |
| 110 | (and point (goto-char point))) | 110 | (and point (goto-char point))) |
| 111 | 111 | ||
| 112 | (defmacro gnus-buffer-exists-p (buffer) | ||
| 113 | `(let ((buffer ,buffer)) | ||
| 114 | (when buffer | ||
| 115 | (funcall (if (stringp buffer) 'get-buffer 'buffer-name) | ||
| 116 | buffer)))) | ||
| 117 | |||
| 118 | (defun gnus-delete-first (elt list) | 112 | (defun gnus-delete-first (elt list) |
| 119 | "Delete by side effect the first occurrence of ELT as a member of LIST." | 113 | "Delete by side effect the first occurrence of ELT as a member of LIST." |
| 120 | (if (equal (car list) elt) | 114 | (if (equal (car list) elt) |
| @@ -562,8 +556,12 @@ If N, return the Nth ancestor instead." | |||
| 562 | (match-string 1 references)))))) | 556 | (match-string 1 references)))))) |
| 563 | 557 | ||
| 564 | (defsubst gnus-buffer-live-p (buffer) | 558 | (defsubst gnus-buffer-live-p (buffer) |
| 565 | "Say whether BUFFER is alive or not." | 559 | "If BUFFER names a live buffer, return its object; else nil." |
| 566 | (and buffer (buffer-live-p (get-buffer buffer)))) | 560 | (and buffer (buffer-live-p (setq buffer (get-buffer buffer))) |
| 561 | buffer)) | ||
| 562 | |||
| 563 | (define-obsolete-function-alias 'gnus-buffer-exists-p | ||
| 564 | 'gnus-buffer-live-p "27.1") | ||
| 567 | 565 | ||
| 568 | (defun gnus-horizontal-recenter () | 566 | (defun gnus-horizontal-recenter () |
| 569 | "Recenter the current buffer horizontally." | 567 | "Recenter the current buffer horizontally." |
diff --git a/lisp/gnus/gnus-win.el b/lisp/gnus/gnus-win.el index 40c5b42d45f..e6906e99bb2 100644 --- a/lisp/gnus/gnus-win.el +++ b/lisp/gnus/gnus-win.el | |||
| @@ -270,7 +270,7 @@ See the Gnus manual for an explanation of the syntax used.") | |||
| 270 | (error "Invalid buffer type: %s" type)) | 270 | (error "Invalid buffer type: %s" type)) |
| 271 | (let ((buf (gnus-get-buffer-create | 271 | (let ((buf (gnus-get-buffer-create |
| 272 | (gnus-window-to-buffer-helper buffer)))) | 272 | (gnus-window-to-buffer-helper buffer)))) |
| 273 | (when (buffer-name buf) | 273 | (when (buffer-live-p buf) |
| 274 | (cond | 274 | (cond |
| 275 | ((eq buf (window-buffer (selected-window))) | 275 | ((eq buf (window-buffer (selected-window))) |
| 276 | (set-buffer buf)) | 276 | (set-buffer buf)) |
| @@ -430,20 +430,13 @@ See the Gnus manual for an explanation of the syntax used.") | |||
| 430 | (defun gnus-delete-windows-in-gnusey-frames () | 430 | (defun gnus-delete-windows-in-gnusey-frames () |
| 431 | "Do a `delete-other-windows' in all frames that have Gnus windows." | 431 | "Do a `delete-other-windows' in all frames that have Gnus windows." |
| 432 | (let ((buffers (gnus-buffers))) | 432 | (let ((buffers (gnus-buffers))) |
| 433 | (mapcar | 433 | (dolist (frame (frame-list)) |
| 434 | (lambda (frame) | 434 | (unless (eq (frame-parameter frame 'minibuffer) 'only) |
| 435 | (unless (eq (cdr (assq 'minibuffer | 435 | (select-frame frame) |
| 436 | (frame-parameters frame))) | 436 | (when (get-window-with-predicate |
| 437 | 'only) | 437 | (lambda (window) |
| 438 | (select-frame frame) | 438 | (memq (window-buffer window) buffers))) |
| 439 | (let (do-delete) | 439 | (delete-other-windows)))))) |
| 440 | (walk-windows | ||
| 441 | (lambda (window) | ||
| 442 | (when (memq (window-buffer window) buffers) | ||
| 443 | (setq do-delete t)))) | ||
| 444 | (when do-delete | ||
| 445 | (delete-other-windows))))) | ||
| 446 | (frame-list)))) | ||
| 447 | 440 | ||
| 448 | (defun gnus-all-windows-visible-p (split) | 441 | (defun gnus-all-windows-visible-p (split) |
| 449 | "Say whether all buffers in SPLIT are currently visible. | 442 | "Say whether all buffers in SPLIT are currently visible. |
| @@ -491,11 +484,10 @@ should have point." | |||
| 491 | (nth 1 (window-edges window))) | 484 | (nth 1 (window-edges window))) |
| 492 | 485 | ||
| 493 | (defun gnus-remove-some-windows () | 486 | (defun gnus-remove-some-windows () |
| 494 | (let ((buffers (gnus-buffers)) | 487 | (let (bufs lowest-buf lowest) |
| 495 | buf bufs lowest-buf lowest) | ||
| 496 | (save-excursion | 488 | (save-excursion |
| 497 | ;; Remove windows on all known Gnus buffers. | 489 | ;; Remove windows on all known Gnus buffers. |
| 498 | (while (setq buf (pop buffers)) | 490 | (dolist (buf (gnus-buffers)) |
| 499 | (when (get-buffer-window buf) | 491 | (when (get-buffer-window buf) |
| 500 | (push buf bufs) | 492 | (push buf bufs) |
| 501 | (pop-to-buffer buf) | 493 | (pop-to-buffer buf) |
| @@ -506,8 +498,8 @@ should have point." | |||
| 506 | (when lowest-buf | 498 | (when lowest-buf |
| 507 | (pop-to-buffer lowest-buf) | 499 | (pop-to-buffer lowest-buf) |
| 508 | (set-buffer nntp-server-buffer)) | 500 | (set-buffer nntp-server-buffer)) |
| 509 | (mapcar (lambda (b) (delete-windows-on b t)) | 501 | (dolist (b (delq lowest-buf bufs)) |
| 510 | (delq lowest-buf bufs))))) | 502 | (delete-windows-on b t))))) |
| 511 | 503 | ||
| 512 | (defun gnus-get-buffer-window (buffer &optional frame) | 504 | (defun gnus-get-buffer-window (buffer &optional frame) |
| 513 | "Return a window currently displaying BUFFER, or nil if none. | 505 | "Return a window currently displaying BUFFER, or nil if none. |
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.") | |||
| 665 | (defmacro gnus-kill-buffer (buffer) | 665 | (defmacro gnus-kill-buffer (buffer) |
| 666 | "Kill BUFFER and remove from the list of Gnus buffers." | 666 | "Kill BUFFER and remove from the list of Gnus buffers." |
| 667 | `(let ((buf ,buffer)) | 667 | `(let ((buf ,buffer)) |
| 668 | (when (gnus-buffer-exists-p buf) | 668 | (when (gnus-buffer-live-p buf) |
| 669 | (kill-buffer buf) | 669 | (kill-buffer buf) |
| 670 | (gnus-prune-buffers)))) | 670 | (gnus-prune-buffers)))) |
| 671 | 671 | ||
| 672 | (defun gnus-prune-buffers () | ||
| 673 | (dolist (buf gnus-buffers) | ||
| 674 | (unless (buffer-live-p buf) | ||
| 675 | (setq gnus-buffers (delete buf gnus-buffers))))) | ||
| 676 | |||
| 677 | (defun gnus-buffers () | 672 | (defun gnus-buffers () |
| 678 | "Return a list of live Gnus buffers." | 673 | "Return a list of live Gnus buffers." |
| 679 | (while (and gnus-buffers | 674 | (setq gnus-buffers (seq-filter #'buffer-live-p gnus-buffers))) |
| 680 | (not (buffer-name (car gnus-buffers)))) | 675 | |
| 681 | (pop gnus-buffers)) | 676 | (defalias 'gnus-prune-buffers #'gnus-buffers) |
| 682 | (let ((buffers gnus-buffers)) | ||
| 683 | (while (cdr buffers) | ||
| 684 | (if (buffer-name (cadr buffers)) | ||
| 685 | (pop buffers) | ||
| 686 | (setcdr buffers (cddr buffers))))) | ||
| 687 | gnus-buffers) | ||
| 688 | 677 | ||
| 689 | ;;; Splash screen. | 678 | ;;; Splash screen. |
| 690 | 679 | ||
| @@ -3638,9 +3627,8 @@ If SYMBOL, return the value of that symbol in the group parameters. | |||
| 3638 | 3627 | ||
| 3639 | If you call this function inside a loop, consider using the faster | 3628 | If you call this function inside a loop, consider using the faster |
| 3640 | `gnus-group-fast-parameter' instead." | 3629 | `gnus-group-fast-parameter' instead." |
| 3641 | (with-current-buffer (if (buffer-live-p (get-buffer gnus-group-buffer)) | 3630 | (with-current-buffer (or (gnus-buffer-live-p gnus-group-buffer) |
| 3642 | gnus-group-buffer | 3631 | (current-buffer)) |
| 3643 | (current-buffer)) | ||
| 3644 | (if symbol | 3632 | (if symbol |
| 3645 | (gnus-group-fast-parameter group symbol allow-list) | 3633 | (gnus-group-fast-parameter group symbol allow-list) |
| 3646 | (nconc | 3634 | (nconc |
diff --git a/lisp/gnus/mail-source.el b/lisp/gnus/mail-source.el index 9d70bd5afa9..69ecde30275 100644 --- a/lisp/gnus/mail-source.el +++ b/lisp/gnus/mail-source.el | |||
| @@ -722,8 +722,7 @@ Deleting old (> %s day(s)) incoming mail file `%s'." diff bfile) | |||
| 722 | (buffer-string) result)) | 722 | (buffer-string) result)) |
| 723 | (error "%s" (buffer-string))) | 723 | (error "%s" (buffer-string))) |
| 724 | (setq to nil))))))) | 724 | (setq to nil))))))) |
| 725 | (when (and errors | 725 | (when (buffer-live-p errors) |
| 726 | (buffer-name errors)) | ||
| 727 | (kill-buffer errors)) | 726 | (kill-buffer errors)) |
| 728 | ;; Return whether we moved successfully or not. | 727 | ;; Return whether we moved successfully or not. |
| 729 | to))) | 728 | to))) |
diff --git a/lisp/gnus/message.el b/lisp/gnus/message.el index 8b72ef88aba..29a8f25f31f 100644 --- a/lisp/gnus/message.el +++ b/lisp/gnus/message.el | |||
| @@ -2034,8 +2034,7 @@ see `message-narrow-to-headers-or-head'." | |||
| 2034 | 2034 | ||
| 2035 | (defmacro message-with-reply-buffer (&rest forms) | 2035 | (defmacro message-with-reply-buffer (&rest forms) |
| 2036 | "Evaluate FORMS in the reply buffer, if it exists." | 2036 | "Evaluate FORMS in the reply buffer, if it exists." |
| 2037 | `(when (and (bufferp message-reply-buffer) | 2037 | `(when (buffer-live-p message-reply-buffer) |
| 2038 | (buffer-name message-reply-buffer)) | ||
| 2039 | (with-current-buffer message-reply-buffer | 2038 | (with-current-buffer message-reply-buffer |
| 2040 | ,@forms))) | 2039 | ,@forms))) |
| 2041 | 2040 | ||
| @@ -3229,8 +3228,7 @@ or in the synonym headers, defined by `message-header-synonyms'." | |||
| 3229 | "Widen the reply to include maximum recipients." | 3228 | "Widen the reply to include maximum recipients." |
| 3230 | (interactive) | 3229 | (interactive) |
| 3231 | (let ((follow-to | 3230 | (let ((follow-to |
| 3232 | (and (bufferp message-reply-buffer) | 3231 | (and (buffer-live-p message-reply-buffer) |
| 3233 | (buffer-name message-reply-buffer) | ||
| 3234 | (with-current-buffer message-reply-buffer | 3232 | (with-current-buffer message-reply-buffer |
| 3235 | (message-get-reply-headers t))))) | 3233 | (message-get-reply-headers t))))) |
| 3236 | (save-excursion | 3234 | (save-excursion |
| @@ -4027,7 +4025,7 @@ It should typically alter the sending method in some way or other." | |||
| 4027 | (let ((buf (current-buffer)) | 4025 | (let ((buf (current-buffer)) |
| 4028 | (actions message-exit-actions)) | 4026 | (actions message-exit-actions)) |
| 4029 | (when (and (message-send arg) | 4027 | (when (and (message-send arg) |
| 4030 | (buffer-name buf)) | 4028 | (buffer-live-p buf)) |
| 4031 | (message-bury buf) | 4029 | (message-bury buf) |
| 4032 | (if message-kill-buffer-on-exit | 4030 | (if message-kill-buffer-on-exit |
| 4033 | (kill-buffer buf)) | 4031 | (kill-buffer buf)) |
| @@ -4740,7 +4738,7 @@ that instead." | |||
| 4740 | (if (not (zerop (buffer-size))) | 4738 | (if (not (zerop (buffer-size))) |
| 4741 | (error "Sending...failed to %s" | 4739 | (error "Sending...failed to %s" |
| 4742 | (buffer-string)))))) | 4740 | (buffer-string)))))) |
| 4743 | (when (bufferp errbuf) | 4741 | (when (buffer-live-p errbuf) |
| 4744 | (kill-buffer errbuf))))) | 4742 | (kill-buffer errbuf))))) |
| 4745 | 4743 | ||
| 4746 | (defun message-send-mail-with-qmail () | 4744 | (defun message-send-mail-with-qmail () |
| @@ -6377,8 +6375,7 @@ moved to the beginning " | |||
| 6377 | (defun message-pop-to-buffer (name &optional switch-function) | 6375 | (defun message-pop-to-buffer (name &optional switch-function) |
| 6378 | "Pop to buffer NAME, and warn if it already exists and is modified." | 6376 | "Pop to buffer NAME, and warn if it already exists and is modified." |
| 6379 | (let ((buffer (get-buffer name))) | 6377 | (let ((buffer (get-buffer name))) |
| 6380 | (if (and buffer | 6378 | (if (buffer-live-p buffer) |
| 6381 | (buffer-name buffer)) | ||
| 6382 | (let ((window (get-buffer-window buffer 0))) | 6379 | (let ((window (get-buffer-window buffer 0))) |
| 6383 | (if window | 6380 | (if window |
| 6384 | ;; Raise the frame already displaying the message buffer. | 6381 | ;; Raise the frame already displaying the message buffer. |
| @@ -6409,7 +6406,7 @@ moved to the beginning " | |||
| 6409 | (>= (length message-buffer-list) message-max-buffers)) | 6406 | (>= (length message-buffer-list) message-max-buffers)) |
| 6410 | ;; Kill the oldest buffer -- unless it has been changed. | 6407 | ;; Kill the oldest buffer -- unless it has been changed. |
| 6411 | (let ((buffer (pop message-buffer-list))) | 6408 | (let ((buffer (pop message-buffer-list))) |
| 6412 | (when (and (buffer-name buffer) | 6409 | (when (and (buffer-live-p buffer) |
| 6413 | (not (buffer-modified-p buffer))) | 6410 | (not (buffer-modified-p buffer))) |
| 6414 | (kill-buffer buffer)))) | 6411 | (kill-buffer buffer)))) |
| 6415 | ;; Rename the buffer. | 6412 | ;; Rename the buffer. |
| @@ -7376,9 +7373,7 @@ Optional DIGEST will use digest to forward." | |||
| 7376 | (unless (multibyte-string-p contents) | 7373 | (unless (multibyte-string-p contents) |
| 7377 | (error "Attempt to insert unibyte string from the buffer \"%s\"\ | 7374 | (error "Attempt to insert unibyte string from the buffer \"%s\"\ |
| 7378 | to the multibyte buffer \"%s\"" | 7375 | to the multibyte buffer \"%s\"" |
| 7379 | (if (bufferp forward-buffer) | 7376 | forward-buffer |
| 7380 | (buffer-name forward-buffer) | ||
| 7381 | forward-buffer) | ||
| 7382 | (buffer-name))) | 7377 | (buffer-name))) |
| 7383 | (insert (mm-with-multibyte-buffer | 7378 | (insert (mm-with-multibyte-buffer |
| 7384 | (insert contents) | 7379 | (insert contents) |
| @@ -7440,9 +7435,7 @@ Optional DIGEST will use digest to forward." | |||
| 7440 | (unless (multibyte-string-p contents) | 7435 | (unless (multibyte-string-p contents) |
| 7441 | (error "Attempt to insert unibyte string from the buffer \"%s\"\ | 7436 | (error "Attempt to insert unibyte string from the buffer \"%s\"\ |
| 7442 | to the multibyte buffer \"%s\"" | 7437 | to the multibyte buffer \"%s\"" |
| 7443 | (if (bufferp forward-buffer) | 7438 | forward-buffer |
| 7444 | (buffer-name forward-buffer) | ||
| 7445 | forward-buffer) | ||
| 7446 | (buffer-name))) | 7439 | (buffer-name))) |
| 7447 | (insert (mm-with-multibyte-buffer | 7440 | (insert (mm-with-multibyte-buffer |
| 7448 | (insert contents) | 7441 | (insert contents) |
diff --git a/lisp/gnus/mm-decode.el b/lisp/gnus/mm-decode.el index 0b9cdde1fa5..85aa6944dd3 100644 --- a/lisp/gnus/mm-decode.el +++ b/lisp/gnus/mm-decode.el | |||
| @@ -893,8 +893,7 @@ external if displayed external." | |||
| 893 | (if method | 893 | (if method |
| 894 | (progn | 894 | (progn |
| 895 | (when (and (boundp 'gnus-summary-buffer) | 895 | (when (and (boundp 'gnus-summary-buffer) |
| 896 | (bufferp gnus-summary-buffer) | 896 | (buffer-live-p gnus-summary-buffer)) |
| 897 | (buffer-name gnus-summary-buffer)) | ||
| 898 | (when attachment-filename | 897 | (when attachment-filename |
| 899 | (with-current-buffer mm | 898 | (with-current-buffer mm |
| 900 | (rename-buffer (format "*mm* %s" attachment-filename) t))) | 899 | (rename-buffer (format "*mm* %s" attachment-filename) t))) |
| @@ -1152,9 +1151,8 @@ external if displayed external." | |||
| 1152 | (ignore-errors (delete-file (car object))) | 1151 | (ignore-errors (delete-file (car object))) |
| 1153 | (ignore-errors (delete-directory (file-name-directory | 1152 | (ignore-errors (delete-directory (file-name-directory |
| 1154 | (car object))))) | 1153 | (car object))))) |
| 1155 | ((bufferp object) | 1154 | ((buffer-live-p object) |
| 1156 | (when (buffer-live-p object) | 1155 | (kill-buffer object)))) |
| 1157 | (kill-buffer object))))) | ||
| 1158 | (mm-handle-set-undisplayer handle nil)))) | 1156 | (mm-handle-set-undisplayer handle nil)))) |
| 1159 | 1157 | ||
| 1160 | (defun mm-display-inline (handle) | 1158 | (defun mm-display-inline (handle) |
diff --git a/lisp/gnus/nnbabyl.el b/lisp/gnus/nnbabyl.el index 3b316454107..0f4f4303cd8 100644 --- a/lisp/gnus/nnbabyl.el +++ b/lisp/gnus/nnbabyl.el | |||
| @@ -145,10 +145,8 @@ | |||
| 145 | 145 | ||
| 146 | (deffoo nnbabyl-server-opened (&optional server) | 146 | (deffoo nnbabyl-server-opened (&optional server) |
| 147 | (and (nnoo-current-server-p 'nnbabyl server) | 147 | (and (nnoo-current-server-p 'nnbabyl server) |
| 148 | nnbabyl-mbox-buffer | 148 | (buffer-live-p nnbabyl-mbox-buffer) |
| 149 | (buffer-name nnbabyl-mbox-buffer) | 149 | (buffer-live-p nntp-server-buffer))) |
| 150 | nntp-server-buffer | ||
| 151 | (buffer-name nntp-server-buffer))) | ||
| 152 | 150 | ||
| 153 | (deffoo nnbabyl-request-article (article &optional newsgroup server buffer) | 151 | (deffoo nnbabyl-request-article (article &optional newsgroup server buffer) |
| 154 | (nnbabyl-possibly-change-newsgroup newsgroup server) | 152 | (nnbabyl-possibly-change-newsgroup newsgroup server) |
| @@ -452,8 +450,7 @@ | |||
| 452 | (when (and server | 450 | (when (and server |
| 453 | (not (nnbabyl-server-opened server))) | 451 | (not (nnbabyl-server-opened server))) |
| 454 | (nnbabyl-open-server server)) | 452 | (nnbabyl-open-server server)) |
| 455 | (when (or (not nnbabyl-mbox-buffer) | 453 | (unless (buffer-live-p nnbabyl-mbox-buffer) |
| 456 | (not (buffer-name nnbabyl-mbox-buffer))) | ||
| 457 | (save-excursion (nnbabyl-read-mbox))) | 454 | (save-excursion (nnbabyl-read-mbox))) |
| 458 | (unless nnbabyl-group-alist | 455 | (unless nnbabyl-group-alist |
| 459 | (nnmail-activate 'nnbabyl)) | 456 | (nnmail-activate 'nnbabyl)) |
| @@ -556,8 +553,7 @@ | |||
| 556 | (nnmail-activate 'nnbabyl) | 553 | (nnmail-activate 'nnbabyl) |
| 557 | (nnbabyl-create-mbox) | 554 | (nnbabyl-create-mbox) |
| 558 | 555 | ||
| 559 | (unless (and nnbabyl-mbox-buffer | 556 | (unless (and (buffer-live-p nnbabyl-mbox-buffer) |
| 560 | (buffer-name nnbabyl-mbox-buffer) | ||
| 561 | (with-current-buffer nnbabyl-mbox-buffer | 557 | (with-current-buffer nnbabyl-mbox-buffer |
| 562 | (= (buffer-size) (nnheader-file-size nnbabyl-mbox-file)))) | 558 | (= (buffer-size) (nnheader-file-size nnbabyl-mbox-file)))) |
| 563 | ;; This buffer has changed since we read it last. Possibly. | 559 | ;; This buffer has changed since we read it last. Possibly. |
| @@ -627,8 +623,7 @@ | |||
| 627 | (let ((idents (gnus-make-hashtable 1000)) | 623 | (let ((idents (gnus-make-hashtable 1000)) |
| 628 | id) | 624 | id) |
| 629 | (save-excursion | 625 | (save-excursion |
| 630 | (when (or (not nnbabyl-mbox-buffer) | 626 | (unless (buffer-live-p nnbabyl-mbox-buffer) |
| 631 | (not (buffer-name nnbabyl-mbox-buffer))) | ||
| 632 | (nnbabyl-read-mbox)) | 627 | (nnbabyl-read-mbox)) |
| 633 | (set-buffer nnbabyl-mbox-buffer) | 628 | (set-buffer nnbabyl-mbox-buffer) |
| 634 | (goto-char (point-min)) | 629 | (goto-char (point-min)) |
diff --git a/lisp/gnus/nndiary.el b/lisp/gnus/nndiary.el index edbdc65d3f2..f8ec222616f 100644 --- a/lisp/gnus/nndiary.el +++ b/lisp/gnus/nndiary.el | |||
| @@ -1015,7 +1015,7 @@ all. This may very well take some time.") | |||
| 1015 | (defun nndiary-save-nov () | 1015 | (defun nndiary-save-nov () |
| 1016 | (save-excursion | 1016 | (save-excursion |
| 1017 | (while nndiary-nov-buffer-alist | 1017 | (while nndiary-nov-buffer-alist |
| 1018 | (when (buffer-name (cdar nndiary-nov-buffer-alist)) | 1018 | (when (buffer-live-p (cdar nndiary-nov-buffer-alist)) |
| 1019 | (set-buffer (cdar nndiary-nov-buffer-alist)) | 1019 | (set-buffer (cdar nndiary-nov-buffer-alist)) |
| 1020 | (when (buffer-modified-p) | 1020 | (when (buffer-modified-p) |
| 1021 | (nnmail-write-region 1 (point-max) nndiary-nov-buffer-file-name | 1021 | (nnmail-write-region 1 (point-max) nndiary-nov-buffer-file-name |
diff --git a/lisp/gnus/nndoc.el b/lisp/gnus/nndoc.el index 532ba11fa09..9c8cab597a6 100644 --- a/lisp/gnus/nndoc.el +++ b/lisp/gnus/nndoc.el | |||
| @@ -309,8 +309,7 @@ from the document.") | |||
| 309 | 309 | ||
| 310 | (deffoo nndoc-close-group (group &optional server) | 310 | (deffoo nndoc-close-group (group &optional server) |
| 311 | (nndoc-possibly-change-buffer group server) | 311 | (nndoc-possibly-change-buffer group server) |
| 312 | (and nndoc-current-buffer | 312 | (and (buffer-live-p nndoc-current-buffer) |
| 313 | (buffer-name nndoc-current-buffer) | ||
| 314 | (kill-buffer nndoc-current-buffer)) | 313 | (kill-buffer nndoc-current-buffer)) |
| 315 | (setq nndoc-group-alist (delq (assoc group nndoc-group-alist) | 314 | (setq nndoc-group-alist (delq (assoc group nndoc-group-alist) |
| 316 | nndoc-group-alist)) | 315 | nndoc-group-alist)) |
| @@ -335,8 +334,7 @@ from the document.") | |||
| 335 | (let (buf) | 334 | (let (buf) |
| 336 | (cond | 335 | (cond |
| 337 | ;; The current buffer is this group's buffer. | 336 | ;; The current buffer is this group's buffer. |
| 338 | ((and nndoc-current-buffer | 337 | ((and (buffer-live-p nndoc-current-buffer) |
| 339 | (buffer-name nndoc-current-buffer) | ||
| 340 | (eq nndoc-current-buffer | 338 | (eq nndoc-current-buffer |
| 341 | (setq buf (cdr (assoc group nndoc-group-alist)))))) | 339 | (setq buf (cdr (assoc group nndoc-group-alist)))))) |
| 342 | ;; We change buffers by taking an old from the group alist. | 340 | ;; We change buffers by taking an old from the group alist. |
| @@ -344,8 +342,7 @@ from the document.") | |||
| 344 | (buf | 342 | (buf |
| 345 | (setq nndoc-current-buffer buf)) | 343 | (setq nndoc-current-buffer buf)) |
| 346 | ;; It's a totally new group. | 344 | ;; It's a totally new group. |
| 347 | ((or (and (bufferp nndoc-address) | 345 | ((or (buffer-live-p nndoc-address) |
| 348 | (buffer-name nndoc-address)) | ||
| 349 | (and (stringp nndoc-address) | 346 | (and (stringp nndoc-address) |
| 350 | (file-exists-p nndoc-address) | 347 | (file-exists-p nndoc-address) |
| 351 | (not (file-directory-p nndoc-address)))) | 348 | (not (file-directory-p nndoc-address)))) |
diff --git a/lisp/gnus/nnfolder.el b/lisp/gnus/nnfolder.el index 41963f32efc..6334b1c998d 100644 --- a/lisp/gnus/nnfolder.el +++ b/lisp/gnus/nnfolder.el | |||
| @@ -328,8 +328,7 @@ all. This may very well take some time.") | |||
| 328 | (delq inf nnfolder-buffer-alist)) | 328 | (delq inf nnfolder-buffer-alist)) |
| 329 | (setq nnfolder-current-buffer (cadr inf) | 329 | (setq nnfolder-current-buffer (cadr inf) |
| 330 | nnfolder-current-group (car inf)))) | 330 | nnfolder-current-group (car inf)))) |
| 331 | (when (and nnfolder-current-buffer | 331 | (when (buffer-live-p nnfolder-current-buffer) |
| 332 | (buffer-name nnfolder-current-buffer)) | ||
| 333 | (with-current-buffer nnfolder-current-buffer | 332 | (with-current-buffer nnfolder-current-buffer |
| 334 | ;; If the buffer was modified, write the file out now. | 333 | ;; If the buffer was modified, write the file out now. |
| 335 | (nnfolder-save-buffer) | 334 | (nnfolder-save-buffer) |
| @@ -1110,7 +1109,7 @@ This command does not work if you use short group names." | |||
| 1110 | (defun nnfolder-save-nov () | 1109 | (defun nnfolder-save-nov () |
| 1111 | (save-excursion | 1110 | (save-excursion |
| 1112 | (while nnfolder-nov-buffer-alist | 1111 | (while nnfolder-nov-buffer-alist |
| 1113 | (when (buffer-name (cdar nnfolder-nov-buffer-alist)) | 1112 | (when (buffer-live-p (cdar nnfolder-nov-buffer-alist)) |
| 1114 | (set-buffer (cdar nnfolder-nov-buffer-alist)) | 1113 | (set-buffer (cdar nnfolder-nov-buffer-alist)) |
| 1115 | (when (buffer-modified-p) | 1114 | (when (buffer-modified-p) |
| 1116 | (gnus-make-directory (file-name-directory | 1115 | (gnus-make-directory (file-name-directory |
diff --git a/lisp/gnus/nnimap.el b/lisp/gnus/nnimap.el index ac1d28644f7..9e52abc1ca7 100644 --- a/lisp/gnus/nnimap.el +++ b/lisp/gnus/nnimap.el | |||
| @@ -346,7 +346,7 @@ textual parts.") | |||
| 346 | (with-current-buffer | 346 | (with-current-buffer |
| 347 | (generate-new-buffer (format " *nnimap %s %s %s*" | 347 | (generate-new-buffer (format " *nnimap %s %s %s*" |
| 348 | nnimap-address nnimap-server-port | 348 | nnimap-address nnimap-server-port |
| 349 | (gnus-buffer-exists-p buffer))) | 349 | buffer)) |
| 350 | (mm-disable-multibyte) | 350 | (mm-disable-multibyte) |
| 351 | (buffer-disable-undo) | 351 | (buffer-disable-undo) |
| 352 | (gnus-add-buffer) | 352 | (gnus-add-buffer) |
| @@ -382,7 +382,7 @@ textual parts.") | |||
| 382 | (defun nnimap-keepalive () | 382 | (defun nnimap-keepalive () |
| 383 | (let ((now (current-time))) | 383 | (let ((now (current-time))) |
| 384 | (dolist (buffer nnimap-process-buffers) | 384 | (dolist (buffer nnimap-process-buffers) |
| 385 | (when (buffer-name buffer) | 385 | (when (buffer-live-p buffer) |
| 386 | (with-current-buffer buffer | 386 | (with-current-buffer buffer |
| 387 | (when (and nnimap-object | 387 | (when (and nnimap-object |
| 388 | (nnimap-last-command-time nnimap-object) | 388 | (nnimap-last-command-time nnimap-object) |
| @@ -1899,7 +1899,7 @@ Return the server's response to the SELECT or EXAMINE command." | |||
| 1899 | "Find the connection delivering to BUFFER." | 1899 | "Find the connection delivering to BUFFER." |
| 1900 | (let ((entry (assoc buffer nnimap-connection-alist))) | 1900 | (let ((entry (assoc buffer nnimap-connection-alist))) |
| 1901 | (when entry | 1901 | (when entry |
| 1902 | (if (and (buffer-name (cadr entry)) | 1902 | (if (and (buffer-live-p (cadr entry)) |
| 1903 | (get-buffer-process (cadr entry)) | 1903 | (get-buffer-process (cadr entry)) |
| 1904 | (memq (process-status (get-buffer-process (cadr entry))) | 1904 | (memq (process-status (get-buffer-process (cadr entry))) |
| 1905 | '(open run))) | 1905 | '(open run))) |
diff --git a/lisp/gnus/nnmail.el b/lisp/gnus/nnmail.el index 37f6e75b90e..ed3d5712708 100644 --- a/lisp/gnus/nnmail.el +++ b/lisp/gnus/nnmail.el | |||
| @@ -1561,8 +1561,7 @@ See the documentation for the variable `nnmail-split-fancy' for details." | |||
| 1561 | 1561 | ||
| 1562 | (defun nnmail-cache-open () | 1562 | (defun nnmail-cache-open () |
| 1563 | (if (or (not nnmail-treat-duplicates) | 1563 | (if (or (not nnmail-treat-duplicates) |
| 1564 | (and nnmail-cache-buffer | 1564 | (buffer-live-p nnmail-cache-buffer)) |
| 1565 | (buffer-name nnmail-cache-buffer))) | ||
| 1566 | () ; The buffer is open. | 1565 | () ; The buffer is open. |
| 1567 | (with-current-buffer | 1566 | (with-current-buffer |
| 1568 | (setq nnmail-cache-buffer | 1567 | (setq nnmail-cache-buffer |
| @@ -1574,9 +1573,8 @@ See the documentation for the variable `nnmail-split-fancy' for details." | |||
| 1574 | (current-buffer)))) | 1573 | (current-buffer)))) |
| 1575 | 1574 | ||
| 1576 | (defun nnmail-cache-close () | 1575 | (defun nnmail-cache-close () |
| 1577 | (when (and nnmail-cache-buffer | 1576 | (when (and nnmail-treat-duplicates |
| 1578 | nnmail-treat-duplicates | 1577 | (buffer-live-p nnmail-cache-buffer) |
| 1579 | (buffer-name nnmail-cache-buffer) | ||
| 1580 | (buffer-modified-p nnmail-cache-buffer)) | 1578 | (buffer-modified-p nnmail-cache-buffer)) |
| 1581 | (with-current-buffer nnmail-cache-buffer | 1579 | (with-current-buffer nnmail-cache-buffer |
| 1582 | ;; Weed out the excess number of Message-IDs. | 1580 | ;; Weed out the excess number of Message-IDs. |
diff --git a/lisp/gnus/nnmbox.el b/lisp/gnus/nnmbox.el index bba41336dd9..110f39a867f 100644 --- a/lisp/gnus/nnmbox.el +++ b/lisp/gnus/nnmbox.el | |||
| @@ -131,18 +131,15 @@ | |||
| 131 | t))) | 131 | t))) |
| 132 | 132 | ||
| 133 | (deffoo nnmbox-close-server (&optional server) | 133 | (deffoo nnmbox-close-server (&optional server) |
| 134 | (when (and nnmbox-mbox-buffer | 134 | (when (buffer-live-p nnmbox-mbox-buffer) |
| 135 | (buffer-name nnmbox-mbox-buffer)) | ||
| 136 | (kill-buffer nnmbox-mbox-buffer)) | 135 | (kill-buffer nnmbox-mbox-buffer)) |
| 137 | (nnoo-close-server 'nnmbox server) | 136 | (nnoo-close-server 'nnmbox server) |
| 138 | t) | 137 | t) |
| 139 | 138 | ||
| 140 | (deffoo nnmbox-server-opened (&optional server) | 139 | (deffoo nnmbox-server-opened (&optional server) |
| 141 | (and (nnoo-current-server-p 'nnmbox server) | 140 | (and (nnoo-current-server-p 'nnmbox server) |
| 142 | nnmbox-mbox-buffer | 141 | (buffer-live-p nnmbox-mbox-buffer) |
| 143 | (buffer-name nnmbox-mbox-buffer) | 142 | (buffer-live-p nntp-server-buffer))) |
| 144 | nntp-server-buffer | ||
| 145 | (buffer-name nntp-server-buffer))) | ||
| 146 | 143 | ||
| 147 | (deffoo nnmbox-request-article (article &optional newsgroup server buffer) | 144 | (deffoo nnmbox-request-article (article &optional newsgroup server buffer) |
| 148 | (nnmbox-possibly-change-newsgroup newsgroup server) | 145 | (nnmbox-possibly-change-newsgroup newsgroup server) |
| @@ -463,8 +460,7 @@ | |||
| 463 | (when (and server | 460 | (when (and server |
| 464 | (not (nnmbox-server-opened server))) | 461 | (not (nnmbox-server-opened server))) |
| 465 | (nnmbox-open-server server)) | 462 | (nnmbox-open-server server)) |
| 466 | (when (or (not nnmbox-mbox-buffer) | 463 | (unless (buffer-live-p nnmbox-mbox-buffer) |
| 467 | (not (buffer-name nnmbox-mbox-buffer))) | ||
| 468 | (nnmbox-read-mbox)) | 464 | (nnmbox-read-mbox)) |
| 469 | (when (not nnmbox-group-alist) | 465 | (when (not nnmbox-group-alist) |
| 470 | (nnmail-activate 'nnmbox)) | 466 | (nnmail-activate 'nnmbox)) |
| @@ -622,8 +618,7 @@ | |||
| 622 | (defun nnmbox-read-mbox () | 618 | (defun nnmbox-read-mbox () |
| 623 | (nnmail-activate 'nnmbox) | 619 | (nnmail-activate 'nnmbox) |
| 624 | (nnmbox-create-mbox) | 620 | (nnmbox-create-mbox) |
| 625 | (if (and nnmbox-mbox-buffer | 621 | (if (and (buffer-live-p nnmbox-mbox-buffer) |
| 626 | (buffer-name nnmbox-mbox-buffer) | ||
| 627 | (with-current-buffer nnmbox-mbox-buffer | 622 | (with-current-buffer nnmbox-mbox-buffer |
| 628 | (= (buffer-size) (nnheader-file-size nnmbox-mbox-file)))) | 623 | (= (buffer-size) (nnheader-file-size nnmbox-mbox-file)))) |
| 629 | () | 624 | () |
diff --git a/lisp/gnus/nnml.el b/lisp/gnus/nnml.el index b95f3c82388..89c8b23b65a 100644 --- a/lisp/gnus/nnml.el +++ b/lisp/gnus/nnml.el | |||
| @@ -772,7 +772,7 @@ article number. This function is called narrowed to an article." | |||
| 772 | (defun nnml-save-incremental-nov () | 772 | (defun nnml-save-incremental-nov () |
| 773 | (save-excursion | 773 | (save-excursion |
| 774 | (while nnml-incremental-nov-buffer-alist | 774 | (while nnml-incremental-nov-buffer-alist |
| 775 | (when (buffer-name (cdar nnml-incremental-nov-buffer-alist)) | 775 | (when (buffer-live-p (cdar nnml-incremental-nov-buffer-alist)) |
| 776 | (set-buffer (cdar nnml-incremental-nov-buffer-alist)) | 776 | (set-buffer (cdar nnml-incremental-nov-buffer-alist)) |
| 777 | (when (buffer-modified-p) | 777 | (when (buffer-modified-p) |
| 778 | (nnmail-write-region (point-min) (point-max) | 778 | (nnmail-write-region (point-min) (point-max) |
| @@ -838,9 +838,7 @@ article number. This function is called narrowed to an article." | |||
| 838 | buffer)) | 838 | buffer)) |
| 839 | 839 | ||
| 840 | (defun nnml-open-nov (group) | 840 | (defun nnml-open-nov (group) |
| 841 | (or (let ((buffer (cdr (assoc group nnml-nov-buffer-alist)))) | 841 | (or (gnus-buffer-live-p (cdr (assoc group nnml-nov-buffer-alist))) |
| 842 | (and (buffer-name buffer) | ||
| 843 | buffer)) | ||
| 844 | (let ((buffer (nnml-get-nov-buffer group))) | 842 | (let ((buffer (nnml-get-nov-buffer group))) |
| 845 | (push (cons group buffer) nnml-nov-buffer-alist) | 843 | (push (cons group buffer) nnml-nov-buffer-alist) |
| 846 | buffer))) | 844 | buffer))) |
| @@ -848,7 +846,7 @@ article number. This function is called narrowed to an article." | |||
| 848 | (defun nnml-save-nov () | 846 | (defun nnml-save-nov () |
| 849 | (save-excursion | 847 | (save-excursion |
| 850 | (while nnml-nov-buffer-alist | 848 | (while nnml-nov-buffer-alist |
| 851 | (when (buffer-name (cdar nnml-nov-buffer-alist)) | 849 | (when (buffer-live-p (cdar nnml-nov-buffer-alist)) |
| 852 | (set-buffer (cdar nnml-nov-buffer-alist)) | 850 | (set-buffer (cdar nnml-nov-buffer-alist)) |
| 853 | (when (buffer-modified-p) | 851 | (when (buffer-modified-p) |
| 854 | (nnmail-write-region (point-min) (point-max) | 852 | (nnmail-write-region (point-min) (point-max) |
diff --git a/lisp/gnus/nnoo.el b/lisp/gnus/nnoo.el index 0cf2362b36a..c65668a7199 100644 --- a/lisp/gnus/nnoo.el +++ b/lisp/gnus/nnoo.el | |||
| @@ -269,8 +269,7 @@ | |||
| 269 | 269 | ||
| 270 | (defun nnoo-server-opened (backend server) | 270 | (defun nnoo-server-opened (backend server) |
| 271 | (and (nnoo-current-server-p backend server) | 271 | (and (nnoo-current-server-p backend server) |
| 272 | nntp-server-buffer | 272 | (buffer-live-p nntp-server-buffer))) |
| 273 | (buffer-name nntp-server-buffer))) | ||
| 274 | 273 | ||
| 275 | (defmacro nnoo-define-basics (backend) | 274 | (defmacro nnoo-define-basics (backend) |
| 276 | "Define `close-server', `server-opened' and `status-message'." | 275 | "Define `close-server', `server-opened' and `status-message'." |
diff --git a/lisp/gnus/nntp.el b/lisp/gnus/nntp.el index 0e5057e1a45..9bc215c12f2 100644 --- a/lisp/gnus/nntp.el +++ b/lisp/gnus/nntp.el | |||
| @@ -400,7 +400,7 @@ retried once before actually displaying the error report." | |||
| 400 | (erase-buffer))))) | 400 | (erase-buffer))))) |
| 401 | 401 | ||
| 402 | (defun nntp-kill-buffer (buffer) | 402 | (defun nntp-kill-buffer (buffer) |
| 403 | (when (buffer-name buffer) | 403 | (when (buffer-live-p buffer) |
| 404 | (let ((process (get-buffer-process buffer))) | 404 | (let ((process (get-buffer-process buffer))) |
| 405 | (when process | 405 | (when process |
| 406 | (delete-process process))) | 406 | (delete-process process))) |
| @@ -1228,16 +1228,15 @@ If SEND-IF-FORCE, only send authinfo to the server if the | |||
| 1228 | (with-current-buffer | 1228 | (with-current-buffer |
| 1229 | (generate-new-buffer | 1229 | (generate-new-buffer |
| 1230 | (format " *server %s %s %s*" | 1230 | (format " *server %s %s %s*" |
| 1231 | nntp-address nntp-port-number | 1231 | nntp-address nntp-port-number buffer)) |
| 1232 | (gnus-buffer-exists-p buffer))) | ||
| 1233 | (mm-disable-multibyte) | 1232 | (mm-disable-multibyte) |
| 1234 | (set (make-local-variable 'after-change-functions) nil) | 1233 | (setq-local after-change-functions nil) |
| 1235 | (set (make-local-variable 'nntp-process-wait-for) nil) | 1234 | (setq-local nntp-process-wait-for nil) |
| 1236 | (set (make-local-variable 'nntp-process-callback) nil) | 1235 | (setq-local nntp-process-callback nil) |
| 1237 | (set (make-local-variable 'nntp-process-to-buffer) nil) | 1236 | (setq-local nntp-process-to-buffer nil) |
| 1238 | (set (make-local-variable 'nntp-process-start-point) nil) | 1237 | (setq-local nntp-process-start-point nil) |
| 1239 | (set (make-local-variable 'nntp-process-decode) nil) | 1238 | (setq-local nntp-process-decode nil) |
| 1240 | (set (make-local-variable 'nntp-retrieval-in-progress) nil) | 1239 | (setq-local nntp-retrieval-in-progress nil) |
| 1241 | (current-buffer))) | 1240 | (current-buffer))) |
| 1242 | 1241 | ||
| 1243 | (defun nntp-open-connection (buffer) | 1242 | (defun nntp-open-connection (buffer) |
| @@ -1290,7 +1289,7 @@ If SEND-IF-FORCE, only send authinfo to the server if the | |||
| 1290 | (setq process nil)) | 1289 | (setq process nil)) |
| 1291 | (unless process | 1290 | (unless process |
| 1292 | (nntp-kill-buffer pbuffer)) | 1291 | (nntp-kill-buffer pbuffer)) |
| 1293 | (when (and (buffer-name pbuffer) | 1292 | (when (and (buffer-live-p pbuffer) |
| 1294 | process) | 1293 | process) |
| 1295 | (when (eq (process-type process) 'network) | 1294 | (when (eq (process-type process) 'network) |
| 1296 | ;; Use TCP-keepalive so that connections that pass through a NAT router | 1295 | ;; Use TCP-keepalive so that connections that pass through a NAT router |
| @@ -1358,17 +1357,17 @@ If SEND-IF-FORCE, only send authinfo to the server if the | |||
| 1358 | (defun nntp-async-trigger (process) | 1357 | (defun nntp-async-trigger (process) |
| 1359 | (with-current-buffer (process-buffer process) | 1358 | (with-current-buffer (process-buffer process) |
| 1360 | (when nntp-process-callback | 1359 | (when nntp-process-callback |
| 1361 | ;; do we have an error message? | 1360 | ;; Do we have an error message? |
| 1362 | (goto-char nntp-process-start-point) | 1361 | (goto-char nntp-process-start-point) |
| 1363 | (if (memq (following-char) '(?4 ?5)) | 1362 | (if (memq (following-char) '(?4 ?5)) |
| 1364 | ;; wants credentials? | 1363 | ;; Wants credentials? |
| 1365 | (if (looking-at "480") | 1364 | (if (looking-at-p "480") |
| 1366 | (nntp-handle-authinfo process) | 1365 | (nntp-handle-authinfo process) |
| 1367 | ;; report error message. | 1366 | ;; Report error message. |
| 1368 | (nntp-snarf-error-message) | 1367 | (nntp-snarf-error-message) |
| 1369 | (nntp-do-callback nil)) | 1368 | (nntp-do-callback nil)) |
| 1370 | 1369 | ||
| 1371 | ;; got what we expect? | 1370 | ;; Got what we expect? |
| 1372 | (goto-char (point-max)) | 1371 | (goto-char (point-max)) |
| 1373 | (when (re-search-backward | 1372 | (when (re-search-backward |
| 1374 | nntp-process-wait-for nntp-process-start-point t) | 1373 | nntp-process-wait-for nntp-process-start-point t) |
| @@ -1376,8 +1375,8 @@ If SEND-IF-FORCE, only send authinfo to the server if the | |||
| 1376 | (with-current-buffer nntp-server-buffer | 1375 | (with-current-buffer nntp-server-buffer |
| 1377 | (setq nntp-process-response response))) | 1376 | (setq nntp-process-response response))) |
| 1378 | (nntp-async-stop process) | 1377 | (nntp-async-stop process) |
| 1379 | ;; convert it. | 1378 | ;; Convert it. |
| 1380 | (when (gnus-buffer-exists-p nntp-process-to-buffer) | 1379 | (when (gnus-buffer-live-p nntp-process-to-buffer) |
| 1381 | (let ((buf (current-buffer)) | 1380 | (let ((buf (current-buffer)) |
| 1382 | (start nntp-process-start-point) | 1381 | (start nntp-process-start-point) |
| 1383 | (decode nntp-process-decode)) | 1382 | (decode nntp-process-decode)) |
| @@ -1388,7 +1387,7 @@ If SEND-IF-FORCE, only send authinfo to the server if the | |||
| 1388 | (nnheader-insert-buffer-substring buf start) | 1387 | (nnheader-insert-buffer-substring buf start) |
| 1389 | (when decode | 1388 | (when decode |
| 1390 | (nntp-decode-text)))))) | 1389 | (nntp-decode-text)))))) |
| 1391 | ;; report it. | 1390 | ;; Report it. |
| 1392 | (goto-char (point-max)) | 1391 | (goto-char (point-max)) |
| 1393 | (nntp-do-callback | 1392 | (nntp-do-callback |
| 1394 | (buffer-name (get-buffer nntp-process-to-buffer)))))))) | 1393 | (buffer-name (get-buffer nntp-process-to-buffer)))))))) |
diff --git a/lisp/net/mairix.el b/lisp/net/mairix.el index 07415667e1b..0c699c976ce 100644 --- a/lisp/net/mairix.el +++ b/lisp/net/mairix.el | |||
| @@ -266,9 +266,7 @@ Currently there are `threads' and `flags'.") | |||
| 266 | 266 | ||
| 267 | ;;; Gnus | 267 | ;;; Gnus |
| 268 | 268 | ||
| 269 | ;; For gnus-buffer-exists-p, although it seems that could be replaced by: | 269 | (eval-when-compile (require 'gnus-util)) ; For `gnus-buffer-live-p'. |
| 270 | ;; (and buffer (get-buffer buffer)) | ||
| 271 | (eval-when-compile (require 'gnus-util)) | ||
| 272 | (defvar gnus-article-buffer) | 270 | (defvar gnus-article-buffer) |
| 273 | (declare-function gnus-group-read-ephemeral-group "gnus-group" | 271 | (declare-function gnus-group-read-ephemeral-group "gnus-group" |
| 274 | (group method &optional activate quit-config | 272 | (group method &optional activate quit-config |
| @@ -296,7 +294,7 @@ Currently there are `threads' and `flags'.") | |||
| 296 | (unless (and (fboundp 'gnus-alive-p) | 294 | (unless (and (fboundp 'gnus-alive-p) |
| 297 | (gnus-alive-p)) | 295 | (gnus-alive-p)) |
| 298 | (error "Gnus is not running")) | 296 | (error "Gnus is not running")) |
| 299 | (unless (gnus-buffer-exists-p gnus-article-buffer) | 297 | (unless (gnus-buffer-live-p gnus-article-buffer) |
| 300 | (error "No article buffer available")) | 298 | (error "No article buffer available")) |
| 301 | (with-current-buffer gnus-article-buffer | 299 | (with-current-buffer gnus-article-buffer |
| 302 | ;; gnus-art requires gnus-sum and message. | 300 | ;; gnus-art requires gnus-sum and message. |