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))