Signaling: (quit) (if (re-search-forward "<#/?\\(multi\\)?part." nil t) (prog1 (buffer-substring beg ...) (unless ... ...)) (buffer-substring beg (goto-char ...))) ) (let ((beg ...)) (if (re-search-forward "<#/?\\(multi\\)?part." nil t) (prog1 ... ...) (buffer-substring beg ...))) ) mml-read-part() (cons (quote contents) (mml-read-part)) ) (list (quote part) (quote (type . "text/plain")) (cons (quote contents) (mml-read-part))) ) (cons (list (quote part) (quote ...) (cons ... ...)) struct) ) (setq struct (cons (list ... ... ...) struct)) ) (push (list (quote part) (quote ...) (cons ... ...)) struct) ) (cond ((looking-at "<#multipart") (push ... struct)) ((looking-at "<#part") (push ... struct)) (t (push ... struct))) ) (while (and (not ...) (not ...)) (cond (... ...) (... ...) (t ...))) ) (let (struct) (while (and ... ...) (cond ... ... ...)) (unless (eobp) (forward-line 1)) (nreverse struct)) ) mml-parse-1() (nconc (mml-read-tag) (mml-parse-1)) ) (cons (nconc (mml-read-tag) (mml-parse-1)) struct) ) (setq struct (cons (nconc ... ...) struct)) ) (push (nconc (mml-read-tag) (mml-parse-1)) struct) ) (cond ((looking-at "<#multipart") (push ... struct)) ((looking-at "<#part") (push ... struct)) (t (push ... struct))) ) (while (and (not ...) (not ...)) (cond (... ...) (... ...) (t ...))) ) (let (struct) (while (and ... ...) (cond ... ... ...)) (unless (eobp) (forward-line 1)) (nreverse struct)) ) mml-parse-1() (progn (set-syntax-table mml-syntax-table) (mml-parse-1)) ) (unwind-protect (progn (set-syntax-table mml-syntax-table) (mml-parse-1)) (set-syntax-table table)) ) (let ((table ...)) (unwind-protect (progn ... ...) (set-syntax-table table))) ) mml-parse() (let ((cont ...)) (with-temp-buffer (if ... ... ...) (buffer-string))) ) mml-generate-mime() message-encode-message-body() message-send-mail(nil) message-send-via-mail(nil) message-send(nil) message-send-and-exit(nil) call-interactively(message-send-and-exit)