Function: mm-url-decode-entities

mm-url-decode-entities is a byte-compiled function defined in mm-url.el.gz.

Signature

(mm-url-decode-entities)

Documentation

Decode all HTML entities.

Source Code

;; Defined in /usr/src/emacs/lisp/gnus/mm-url.el.gz
(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)
    (let* ((entity (match-string 1))
	   (elem (if (eq (aref entity 0) ?\#)
		     (let ((c
			    ;; Hex number: &#x3212
			    (if (eq (aref entity 1) ?x)
				(string-to-number (substring entity 2)
						  16)
			      ;; Decimal number: &#23
			      (string-to-number (substring entity 1)))))
		       (setq c (or (cdr (assq c mm-extra-numeric-entities))
				   (mm-ucs-to-char c)))
		       (if (characterp c) c ?#))
		   (or (cdr (assq (intern entity)
				  mm-url-html-entities))
		       ?#))))
      (unless (stringp elem)
	(setq elem (char-to-string elem)))
      (replace-match elem t t))))