Function: message-parse-mailto-url
message-parse-mailto-url is a byte-compiled function defined in
message.el.gz.
Signature
(message-parse-mailto-url URL)
Documentation
Parse a mailto: url.
Source Code
;; Defined in /usr/src/emacs/lisp/gnus/message.el.gz
(defun message-parse-mailto-url (url)
"Parse a mailto: url."
(setq url (string-replace "\n" " " url))
(when (string-match "mailto:/*\\(.*\\)" url)
(setq url (substring url (match-beginning 1) nil)))
(setq url (if (string-match "^\\?" url)
(substring url 1)
(if (string-match "^\\([^?]+\\)\\?\\(.*\\)" url)
(concat "to=" (match-string 1 url) "&"
(match-string 2 url))
(concat "to=" url))))
(let (retval pairs cur key val)
(setq pairs (split-string url "&"))
(while pairs
(setq cur (car pairs)
pairs (cdr pairs))
(if (not (string-match "=" cur))
nil ; Grace
(setq key (downcase (gnus-url-unhex-string
(substring cur 0 (match-beginning 0))))
val (gnus-url-unhex-string (substring cur (match-end 0) nil) t))
(setq cur (assoc key retval))
(if cur
(setcdr cur (cons val (cdr cur)))
(setq retval (cons (list key val) retval)))))
retval))