X-Git-Url: http://git.chise.org/gitweb/?a=blobdiff_plain;ds=sidebyside;f=mmgeneric.el;h=1f7cbbc9e3a96ef42162858e0aa44a49a03c6782;hb=3c07ee018fb2fa3178e4eef483aee0326a2a52a6;hp=6dbfe4a1629c4b6b1d9da17c01c3121f65fc49c7;hpb=8352b732ac2a1f27294120ac06c34944095a2ea6;p=elisp%2Fflim.git diff --git a/mmgeneric.el b/mmgeneric.el index 6dbfe4a..1f7cbbc 100644 --- a/mmgeneric.el +++ b/mmgeneric.el @@ -1,6 +1,6 @@ ;;; mmgeneric.el --- MIME entity module for generic buffer -;; Copyright (C) 1998 Free Software Foundation, Inc. +;; Copyright (C) 1998,1999 Free Software Foundation, Inc. ;; Author: MORIOKA Tomohiko ;; Keywords: MIME, multimedia, mail, news @@ -100,6 +100,13 @@ (mime-entity-body-end-internal entity)) (mime-entity-encoding entity)))) +(mm-define-method insert-entity-content ((entity generic)) + (insert (with-current-buffer (mime-entity-buffer entity) + (mime-decode-string + (buffer-substring (mime-entity-body-start-internal entity) + (mime-entity-body-end-internal entity)) + (mime-entity-encoding entity))))) + (mm-define-method write-entity-content ((entity generic) filename) (save-excursion (set-buffer (mime-entity-buffer entity)) @@ -109,6 +116,12 @@ (or (mime-entity-encoding entity) "7bit")) )) +(mm-define-method insert-entity ((entity generic)) + (insert-buffer-substring (mime-entity-buffer entity) + (mime-entity-header-start-internal entity) + (mime-entity-body-end-internal entity)) + ) + (mm-define-method write-entity ((entity generic) filename) (save-excursion (set-buffer (mime-entity-buffer entity)) @@ -148,6 +161,8 @@ &optional invisible-fields visible-fields) (let ((the-buf (current-buffer)) + (mode-obj (mime-find-field-presentation-method 'wide)) + field-decoder f-b p f-e field-name len field field-body) (save-excursion (set-buffer buffer) @@ -162,13 +177,22 @@ f-e (std11-field-end)) (when (mime-visible-field-p field-name visible-fields invisible-fields) - (setq field (buffer-substring f-b (1- p)) - field-body (buffer-substring p f-e)) + (setq field (intern + (capitalize (buffer-substring f-b (1- p)))) + field-body (buffer-substring p f-e) + field-decoder (inline (mime-find-field-decoder-internal + field mode-obj))) (with-current-buffer the-buf - (insert - field-name - (eword-decode-field-body field-body field nil t) - "\n") + (setq p (point)) + (insert field-name) + (insert (if field-decoder + (funcall field-decoder field-body len) + ;; Don't decode + field-body)) + (insert "\n") + (add-text-properties p (point) + (list 'original-field-name (substring field-name 0 (1- len)) + 'original-field-body (ew-lf-to-crlf field-body))) ))))))) (mm-define-method insert-header ((entity generic)