(luna-define-method mime-write-entity ((entity mime-buffer-entity) filename)
(save-excursion
(set-buffer (mime-buffer-entity-buffer-internal entity))
- (write-region-as-raw-text-CRLF
- (mime-buffer-entity-header-start-internal entity)
- (mime-buffer-entity-body-end-internal entity)
- filename)
- ))
+ (let ((coding-system-for-write 'raw-text-dos))
+ (write-region (mime-buffer-entity-header-start-internal entity)
+ (mime-buffer-entity-body-end-internal entity)
+ filename))))
;;; @ entity header
filename)
(save-excursion
(set-buffer (mime-buffer-entity-buffer-internal entity))
- (write-region-as-binary (mime-buffer-entity-body-start-internal entity)
- (mime-buffer-entity-body-end-internal entity)
- filename)
- ))
+ (binary-write-region (mime-buffer-entity-body-start-internal entity)
+ (mime-buffer-entity-body-end-internal entity)
+ filename)))
;;; @ entity content
;;; @ children
;;;
-(defun mmbuffer-parse-multipart (entity)
+(defun mmbuffer-parse-multipart (entity &optional representation-type)
(with-current-buffer (mime-buffer-entity-buffer-internal entity)
- (let* ((representation-type
- (mime-entity-representation-type-internal entity))
- (content-type (mime-entity-content-type-internal entity))
+ (or representation-type
+ (setq representation-type
+ (mime-entity-representation-type-internal entity)))
+ (let* ((content-type (mime-entity-content-type-internal entity))
(dash-boundary
(concat "--"
(mime-content-type-parameter content-type "boundary")))
nil)
))))
-(defun mmbuffer-parse-encapsulated (entity &optional external)
+(defun mmbuffer-parse-encapsulated (entity &optional external
+ representation-type)
(mime-entity-set-children-internal
entity
(with-current-buffer (mime-buffer-entity-buffer-internal entity)
(progn
(require 'mmexternal)
'mime-external-entity)
- (mime-entity-representation-type-internal entity))
+ (or representation-type
+ (mime-entity-representation-type-internal entity)))
nil
entity (cons 0 (mime-entity-node-id-internal entity))))))))