;;; mm-url.el --- a wrapper of url functions/commands for Gnus
-;; Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
-;; Free Software Foundation, Inc.
+;; Copyright (C) 2001-2012 Free Software Foundation, Inc.
;; Author: Shenghuo Zhu <zsh@cs.rochester.edu>
\f
;;; Internal variables
-(defvar mm-url-package-name
- (gnus-replace-in-string
- (gnus-replace-in-string gnus-version " v.*$" "")
- " " "-"))
-
-(defvar mm-url-package-version gnus-version-number)
-
;; Stolen from w3.
(defvar mm-url-html-entities
'(
(if (not (and (boundp 'url-version)
(equal url-version "Emacs")))
(list (cons "Connection" "Close"))))
- (url-package-name (or mm-url-package-name
- url-package-name))
- (url-package-version (or mm-url-package-version
- url-package-version))
result)
(setq result (url-insert-file-contents url))
(save-excursion
(defun mm-url-decode-entities ()
"Decode all HTML entities."
(goto-char (point-min))
- (while (re-search-forward "&\\(#[0-9]+\\|#x[0-9a-f]+\\|[a-z]+[0-9]*\\);" nil t)
+ (while (re-search-forward "&\\(#[0-9]+\\|#x[0-9a-f]+\\|[a-z]+[0-9]*\\);"
+ nil t)
(let* ((entity (match-string 1))
(elem (if (eq (aref entity 0) ?\#)
- (let ((c (mm-ucs-to-char
- ;; Hex number: ㈒
- (if (eq (aref entity 1) ?x)
- (string-to-number (substring entity 2)
- 16)
- ;; Decimal number: 
- (string-to-number (substring entity 1))))))
+ (let ((c
+ ;; Hex number: ㈒
+ (if (eq (aref entity 1) ?x)
+ (string-to-number (substring entity 2)
+ 16)
+ ;; Decimal number: 
+ (string-to-number (substring entity 1)))))
+ (setq c (or (cdr (assq c mm-extra-numeric-entities))
+ (mm-ucs-to-char c)))
(if (mm-char-or-char-int-p c) c ?#))
(or (cdr (assq (intern entity)
mm-url-html-entities))