;;; Code:
+(eval-when-compile (require 'cl))
+
(require 'nnheader)
(require 'message)
(require 'nnmail)
(require 'nnoo)
(require 'gnus-util)
-(require 'mm-util)
-(eval-when-compile (require 'cl))
(nnoo-declare nndoc)
(rfc822-forward
(article-begin . "^\n")
(body-end-function . nndoc-rfc822-forward-body-end-function))
+ (outlook
+ (article-begin-function . nndoc-outlook-article-begin)
+ (body-end . "\0"))
(guess
(guess . t)
(subtype nil))
(setq nndoc-dissection-alist nil)
(save-excursion
(set-buffer nndoc-current-buffer)
- (mm-enable-multibyte)
(erase-buffer)
(if (stringp nndoc-address)
(nnheader-insert-file-contents nndoc-address)
(limit (search-forward "\n\n" nil t)))
(goto-char (point-min))
(when (and limit
- (re-search-forward
- (concat "\
+ (re-search-forward
+ (concat "\
^Content-Type:[ \t]*multipart/[a-z]+ *; *\\(\\(\n[ \t]\\)?.*;\\)*"
- "\\(\n[ \t]\\)?[ \t]*boundary=\"?[^\"\n]*[^\" \t\n]")
- limit t))
+ "\\(\n[ \t]\\)?[ \t]*boundary=\"?[^\"\n]*[^\" \t\n]")
+ limit t))
t)))
(defun nndoc-transform-mime-parts (article)
(when (looking-at "From - ")
t))
+(defun nndoc-outlook-article-begin ()
+ (prog1 (re-search-forward "From:\\|Received:" nil t)
+ (goto-char (match-beginning 0))))
+
+(defun nndoc-outlook-type-p ()
+ ;; FIXME: Is JMF the magic of outlook mailbox? -- ShengHuo.
+ (looking-at "JMF"))
+
(deffoo nndoc-request-accept-article (group &optional server last)
nil)
subject content-type type subtype boundary-regexp)
;; Gracefully handle a missing body.
(goto-char head-begin)
- (if (search-forward "\n\n" body-end t)
+ (if (or (and (eq (char-after) ?\n) (or (forward-char 1) t))
+ (search-forward "\n\n" body-end t))
(setq head-end (1- (point))
body-begin (point))
(setq head-end body-end
(let ((part-counter 0)
part-begin part-end eof-flag)
(while (string-match "\
-^\\(Lines\\|Content-\\(Type\\|Transfer-Encoding\\)\\):.*\n\\([ \t].*\n\\)*"
+^\\(Lines\\|Content-\\(Type\\|Transfer-Encoding\\|Disposition\\)\\):.*\n\\([ \t].*\n\\)*"
article-insert)
(setq article-insert (replace-match "" t t article-insert)))
(let ((case-fold-search nil))