summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLars Ingebrigtsen <larsi@gnus.org>2020-09-13 01:02:00 +0200
committerLars Ingebrigtsen <larsi@gnus.org>2020-09-13 01:02:00 +0200
commit854855ec68c595edcce1b2dc768b20a65e41d0af (patch)
tree768fd5252c4265b541189d85183e63e0ec4ccdd0
parentf7d8650187e4720ba6a889da30535e3cdc1249a9 (diff)
downloademacs-854855ec68c595edcce1b2dc768b20a65e41d0af.tar.gz
Clean up eww error buffer
* lisp/net/eww.el (eww-retrieve): Clean up error buffer after exiting.
-rw-r--r--lisp/net/eww.el18
1 files changed, 12 insertions, 6 deletions
diff --git a/lisp/net/eww.el b/lisp/net/eww.el
index bc23fb913f3..5fd44901936 100644
--- a/lisp/net/eww.el
+++ b/lisp/net/eww.el
@@ -362,20 +362,26 @@ killed after rendering."
(if (null eww-retrieve-command)
(url-retrieve url #'eww-render
(list url nil (current-buffer)))
- (let ((buffer (generate-new-buffer " *eww retrieve*")))
+ (let ((buffer (generate-new-buffer " *eww retrieve*"))
+ (error-buffer (generate-new-buffer " *eww error*")))
(with-current-buffer buffer
(set-buffer-multibyte nil)
(make-process
:name "*eww fetch*"
:buffer (current-buffer)
- :stderr (get-buffer-create " *eww error*")
+ :stderr error-buffer
:command (append eww-retrieve-command (list url))
:sentinel (lambda (process _)
(unless (process-live-p process)
- (with-current-buffer buffer
- (goto-char (point-min))
- (insert "Content-type: text/html; charset=utf-8\n\n")
- (apply #'funcall callback nil cbargs)))))))))
+ (when (buffer-live-p error-buffer)
+ (when (get-buffer-process error-buffer)
+ (delete-process (get-buffer-process error-buffer) ))
+ (kill-buffer error-buffer))
+ (when (buffer-live-p buffer)
+ (with-current-buffer buffer
+ (goto-char (point-min))
+ (insert "Content-type: text/html; charset=utf-8\n\n")
+ (apply #'funcall callback nil cbargs))))))))))
(function-put 'eww 'browse-url-browser-kind 'internal)