Function: eww-retrieve
eww-retrieve is a byte-compiled function defined in eww.el.gz.
Signature
(eww-retrieve URL CALLBACK CBARGS)
Source Code
;; Defined in /usr/src/emacs/lisp/net/eww.el.gz
(defun eww-retrieve (url callback cbargs)
(cond
((null eww-retrieve-command)
(url-retrieve url callback cbargs))
((eq eww-retrieve-command 'sync)
(let ((data-buffer (url-retrieve-synchronously url)))
(with-current-buffer data-buffer
(apply callback nil cbargs))))
(t
(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 error-buffer
:command (append eww-retrieve-command (list url))
:sentinel (lambda (process _)
(unless (process-live-p process)
(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)))))))))))