From: morioka Date: Sat, 22 May 1999 13:05:05 +0000 (+0000) Subject: (mime-parse-multipart): Moved to mmbuffer.el. X-Git-Tag: chao-1_13_0~44 X-Git-Url: http://git.chise.org/gitweb/?a=commitdiff_plain;h=efbc608230946e368fc82ca0d3e80d81cf2ce0ee;p=elisp%2Fflim.git (mime-parse-multipart): Moved to mmbuffer.el. (mime-parse-encapsulated): Likewise. (mime-parse-message): Likewise. (mime-parse-buffer): Likewise. --- diff --git a/mime-parse.el b/mime-parse.el index 003b800..060cbce 100644 --- a/mime-parse.el +++ b/mime-parse.el @@ -211,123 +211,6 @@ If is is not found, return DEFAULT-ENCODING." '((specials . ">"))))))) -;;; @ message parser -;;; - -(defun mime-parse-multipart (entity) - (goto-char (point-min)) - (let* ((representation-type - (mime-entity-representation-type-internal entity)) - (content-type (mime-entity-content-type-internal entity)) - (dash-boundary - (concat "--" (mime-content-type-parameter content-type "boundary"))) - (delimiter (concat "\n" (regexp-quote dash-boundary))) - (close-delimiter (concat delimiter "--[ \t]*$")) - (rsep (concat delimiter "[ \t]*\n")) - (dc-ctl - (if (eq (mime-content-type-subtype content-type) 'digest) - (make-mime-content-type 'message 'rfc822) - (make-mime-content-type 'text 'plain) - )) - (header-end (mime-entity-header-end-internal entity)) - (body-end (mime-entity-body-end-internal entity))) - (save-restriction - (goto-char body-end) - (narrow-to-region header-end - (if (re-search-backward close-delimiter nil t) - (match-beginning 0) - body-end)) - (goto-char header-end) - (if (re-search-forward rsep nil t) - (let ((cb (match-end 0)) - ce ncb ret children - (node-id (mime-entity-node-id-internal entity)) - (i 0)) - (while (re-search-forward rsep nil t) - (setq ce (match-beginning 0)) - (setq ncb (match-end 0)) - (save-restriction - (narrow-to-region cb ce) - (setq ret (mime-parse-message representation-type dc-ctl - entity (cons i node-id))) - ) - (setq children (cons ret children)) - (goto-char (setq cb ncb)) - (setq i (1+ i)) - ) - (setq ce (point-max)) - (save-restriction - (narrow-to-region cb ce) - (setq ret (mime-parse-message representation-type dc-ctl - entity (cons i node-id))) - ) - (setq children (cons ret children)) - (mime-entity-set-children-internal entity (nreverse children)) - ) - (mime-entity-set-content-type-internal - entity (make-mime-content-type 'message 'x-broken)) - nil) - ))) - -(defun mime-parse-encapsulated (entity) - (mime-entity-set-children-internal - entity - (save-restriction - (narrow-to-region (mime-entity-body-start-internal entity) - (mime-entity-body-end-internal entity)) - (list (mime-parse-message - (mime-entity-representation-type-internal entity) nil - entity (cons 0 (mime-entity-node-id-internal entity)))) - ))) - -(defun mime-parse-message (representation-type &optional default-ctl - parent node-id) - (let ((header-start (point-min)) - header-end - body-start - (body-end (point-max)) - content-type) - (goto-char header-start) - (if (re-search-forward "^$" nil t) - (setq header-end (match-end 0) - body-start (if (= header-end body-end) - body-end - (1+ header-end))) - (setq header-end (point-min) - body-start (point-min))) - (save-restriction - (narrow-to-region header-start header-end) - (setq content-type (or (let ((str (std11-fetch-field "Content-Type"))) - (if str - (mime-parse-Content-Type str) - )) - default-ctl)) - ) - (make-mime-entity-internal representation-type - (current-buffer) - content-type nil parent node-id - nil nil nil nil - nil nil nil nil - nil nil - (current-buffer) - header-start header-end - body-start body-end) - )) - - -;;; @ for buffer -;;; - -;;;###autoload -(defun mime-parse-buffer (&optional buffer representation-type) - "Parse BUFFER as a MIME message. -If buffer is omitted, it parses current-buffer." - (save-excursion - (if buffer (set-buffer buffer)) - (setq mime-message-structure - (mime-parse-message (or representation-type 'buffer) nil)) - )) - ;;; @ end ;;;