Function: nnmail-decode-status
nnmail-decode-status is a byte-compiled function defined in
nnmail.el.gz.
Signature
(nnmail-decode-status)
Documentation
Return a status-value alist from STATUS.
Source Code
;; Defined in /usr/src/emacs/lisp/gnus/nnmail.el.gz
(defun nnmail-decode-status ()
"Return a status-value alist from STATUS."
(goto-char (point-min))
(when (re-search-forward "^Status: " nil t)
(let (name value status)
(save-restriction
;; Narrow to the status.
(narrow-to-region
(point)
(if (re-search-forward "^[^ \t]" nil t)
(1- (point))
(point-max)))
;; Go through all elements and add them to the list.
(goto-char (point-min))
(while (re-search-forward "[^ \t=]+" nil t)
(setq name (match-string 0))
(if (not (eq (char-after) ?=))
;; Implied "yes".
(setq value "yes")
(forward-char 1)
(if (not (eq (char-after) ?\"))
(if (not (looking-at "[^ \t]"))
;; Implied "no".
(setq value "no")
;; Unquoted value.
(setq value (match-string 0))
(goto-char (match-end 0)))
;; Quoted value.
(setq value (read (current-buffer)))))
(push (cons name value) status)))
status)))