(setq url-current-callback-data data
url-be-asynchronous t
url-current-callback-func callback)
- (url-retrieve url))
+ (url-retrieve url nil))
(setq-default url-be-asynchronous old-asynch)))
+(if (fboundp 'url-retrieve-synchronously)
+ (defun nnweb-url-retrieve-asynch (url callback &rest data)
+ (url-retrieve url callback data)))
+
;;;
;;; DejaNews functions.
;;;
"Decode all HTML entities."
(goto-char (point-min))
(while (re-search-forward "&\\(#[0-9]+\\|[a-z]+\\);" nil t)
- (replace-match (char-to-string
- (if (eq (aref (match-string 1) 0) ?\#)
+ (let ((elem (if (eq (aref (match-string 1) 0) ?\#)
(let ((c
(string-to-number (substring
(match-string 1) 1))))
(if (mm-char-or-char-int-p c) c 32))
(or (cdr (assq (intern (match-string 1))
w3-html-entities))
- ?#)))
- t t)))
+ ?#))))
+ (unless (stringp elem)
+ (setq elem (char-to-string elem)))
+ (replace-match elem t t))))
(defun nnweb-decode-entities-string (str)
(with-temp-buffer
(url-insert-file-contents url)
(goto-char (point-min))
(when (re-search-forward
- "HTTP-EQUIV=\"Refresh\"[^>]*URL=\\([^\"]+\\)\"" nil t)
+ "<meta[ \t\r\n]*http-equiv=\"Refresh\"[^>]*URL=\\([^\"]+\\)\"" nil t)
(let ((url (match-string 1)))
(delete-region (point-min) (point-max))
(nnweb-insert url t))))