diff options
| author | dickmao | 2021-08-09 15:46:00 +0200 |
|---|---|---|
| committer | Lars Ingebrigtsen | 2021-08-09 15:46:00 +0200 |
| commit | b7d3c1e57743df464cd7c3ee43493fbbd2ae8705 (patch) | |
| tree | e0a31e1b0249c1cbe4666981e5a7e09bf73471c4 | |
| parent | 89d02841ab8af0a56b6c7e89790109bf8f67c10e (diff) | |
| download | emacs-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).
| -rw-r--r-- | lisp/url/url-http.el | 23 |
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 |