;; You should have received a copy of the GNU General Public License
;; along with GNU Emacs; see the file COPYING. If not, write to the
-;; Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-;; Boston, MA 02111-1307, USA.
+;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+;; Boston, MA 02110-1301, USA.
;;; Code:
(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-decoded-region
+ (mime-buffer-entity-body-start-internal entity)
+ (mime-buffer-entity-body-end-internal entity)
+ filename)))
;;; @ entity content
(let ((ret (std11-fetch-field field-name)))
(when ret
(or (symbolp field-name)
- (setq field-name
- (intern (capitalize (capitalize field-name)))))
+ (setq field-name (intern (capitalize field-name))))
(mime-entity-set-original-header-internal
entity
(put-alist field-name ret
;;; @ 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))))))))