aboutsummaryrefslogtreecommitdiffstats
path: root/lisp/url
diff options
context:
space:
mode:
authordickmao2021-08-09 15:46:00 +0200
committerLars Ingebrigtsen2021-08-09 15:46:00 +0200
commitb7d3c1e57743df464cd7c3ee43493fbbd2ae8705 (patch)
treee0a31e1b0249c1cbe4666981e5a7e09bf73471c4 /lisp/url
parent89d02841ab8af0a56b6c7e89790109bf8f67c10e (diff)
downloademacs-b7d3c1e57743df464cd7c3ee43493fbbd2ae8705.tar.gz
emacs-b7d3c1e57743df464cd7c3ee43493fbbd2ae8705.zip
Forestall "Selected deleted buffer" in url-http-generic-filter
* lisp/url/url-http.el (url-http-generic-filter): Check that corresponding buffer is still live before using it (bug#49928).
Diffstat (limited to 'lisp/url')
-rw-r--r--lisp/url/url-http.el23
1 files changed, 12 insertions, 11 deletions
diff --git a/lisp/url/url-http.el b/lisp/url/url-http.el
index e3c178630ae..ba13a17a8fc 100644
--- a/lisp/url/url-http.el
+++ b/lisp/url/url-http.el
@@ -1494,17 +1494,18 @@ The return value of this function is the retrieval buffer."
1494 ;; Sometimes we get a zero-length data chunk after the process has 1494 ;; Sometimes we get a zero-length data chunk after the process has
1495 ;; been changed to 'free', which means it has no buffer associated 1495 ;; been changed to 'free', which means it has no buffer associated
1496 ;; with it. Do nothing if there is no buffer, or 0 length data. 1496 ;; with it. Do nothing if there is no buffer, or 0 length data.
1497 (and (process-buffer proc) 1497 (let ((b (process-buffer proc)))
1498 (/= (length data) 0) 1498 (when (and (buffer-live-p b) (not (zerop (length data))))
1499 (with-current-buffer (process-buffer proc) 1499 (with-current-buffer b
1500 (url-http-debug "Calling after change function `%s' for `%S'" url-http-after-change-function proc) 1500 (url-http-debug "Calling after change function `%s' for `%S'"
1501 (funcall url-http-after-change-function 1501 url-http-after-change-function proc)
1502 (point-max) 1502 (funcall url-http-after-change-function
1503 (progn 1503 (point-max)
1504 (goto-char (point-max)) 1504 (progn
1505 (insert data) 1505 (goto-char (point-max))
1506 (point-max)) 1506 (insert data)
1507 (length data))))) 1507 (point-max))
1508 (length data))))))
1508 1509
1509;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; 1510;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
1510;;; file-name-handler stuff from here on out 1511;;; file-name-handler stuff from here on out