Function: mm-url-insert
mm-url-insert is a byte-compiled function defined in mm-url.el.gz.
Signature
(mm-url-insert URL &optional FOLLOW-REFRESH)
Documentation
Insert the contents from an URL in the current buffer.
If FOLLOW-REFRESH is non-nil, redirect refresh url in META.
Source Code
;; Defined in /usr/src/emacs/lisp/gnus/mm-url.el.gz
(defun mm-url-insert (url &optional follow-refresh)
"Insert the contents from an URL in the current buffer.
If FOLLOW-REFRESH is non-nil, redirect refresh url in META."
(let ((times mm-url-retries)
(done nil)
(first t)
result)
(while (and (not (zerop (decf times)))
(not done))
(with-timeout (mm-url-timeout)
(unless first
(message "Trying again (%s)..." (- mm-url-retries times)))
(setq first nil)
(if follow-refresh
(save-restriction
(narrow-to-region (point) (point))
(mm-url-insert-file-contents url)
(goto-char (point-min))
(when (re-search-forward
"<meta[ \t\r\n]*http-equiv=\"Refresh\"[^>]*URL=\\([^\"]+\\)\"" nil t)
(let ((url (match-string 1)))
(delete-region (point-min) (point-max))
(setq result (mm-url-insert url t)))))
(setq result (mm-url-insert-file-contents url)))
(setq done t)))
result))