From: " from "\n")) (when subject (message-remove-header "subject") (goto-char (point-max)) (insert "Subject: " subject "\n")) (when id (goto-char (point-max)) (insert "X-Message-ID: <" id ">\n")) (when date (message-remove-header "date") (goto-char (point-max)) (insert "Date: " date "\n")) (goto-char (point-max)) (widen) (insert "\n")) (setq p (point)) (when (search-forward "X-Body-of-Message" nil t) (forward-line) (delete-region p (point)) (search-forward "X-Body-of-Message-End" nil t) (beginning- of-line) (save-restriction (narrow-to-region p (point)) (goto-char (point-min)) (if (> (skip-chars-forward "\040\n\r\t") 0) (delete-region (point-min) (point))) (while (not (eobp)) (cond ((looking-at "<PRE>\r? \n?") (delete-region (match-beginning 0) (match-end 0)) (setq p (point)) (when (search-forward " </PRE>" nil t) (delete-region (match-beginning 0) (match-end 0)) (save-restriction (narrow-to-region p (point)) (mm-url-remove-markup) (mm-url-decode-entities) (goto-char (point-max))))) ((looking-at " <P><A HREF=\"\\([(“\"}+\\)") (setq url (match-string 1)) (delete-region (match-beginning 0) (progn (forward-line) (point))) ;; | hate to download the url encode it, then immediately ;; decode it. (insert " <#external" " type=" (or (and url (string-match "\\.[“\\.]+$" url) (mailcap-extension-to-mime (match- string 0 url))) "application/octet-stream") (format " url=\"http://www.mail-archive.com/%s/%s\" group url) ">\n" "<#/external>") (setq mime t)) (t (setq p (point)) (insert "<#part type=\"text/html\" disposition=inline>") (goto-char (if (re-search-forward "[\040\n\r\t]*<PRE>\\\[\040\n\r\t]*#<P><A HREF=\"" nil t) (match-beginning 0) (point-max))) (insert "<#/part>") (setq mime t))) (setq p (point)) (if (> (skip-chars-forward "\040\n\r\t") 0) (delete-region p (point)))) (goto-char (point-max)))) (setq p (point)) (when (search-forward "X-References-End" nil t) (setq e (point)) (beginning-of-line) (search- backward "X-References" p t) (while (re-search-forward "msg\\([0-9]+\\)\\.html" e t) (push (concat "<" (match-string 1) "%" group ">") refs))) (delete-region p (point-max)) (goto-char (point-min)) (insert (format "Message-ID: <%05d%%%s>\n" (1- article) group)) (when refs (insert "References:") (while refs (insert """ (pop refs))) (insert "\n")) (when mime (unless (looking-at "$") (search-forward "\n\n" nil t) (forward-line -1)) (narrow-to-region (point) (point-max)) (insert "MIME-Version: 1.0\n" (prog] (mml-generate-mime) (delete-region (point-min) (point-max)))) (widen))) (buffer-string))) (provide 'nnwarchive) EFTA00502789