From 4c4d8922e69d0b2b57112ef5051c8013cf169e6b Mon Sep 17 00:00:00 2001 From: ShengHuo ZHU Date: Wed, 18 Jul 2001 18:35:19 +0000 Subject: [PATCH] 2001-07-18 11:00:00 ShengHuo ZHU * mml.el (mml-content-type-parameters): New. (mml-content-disposition-parameters): New. (mml-insert-mime-headers): Use them. (mml-parse-1): Accept charset. --- lisp/ChangeLog | 7 +++++++ lisp/mml.el | 31 +++++++++++++++++++++++++------ 2 files changed, 32 insertions(+), 6 deletions(-) diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 05792a42c..d42fa0ff6 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,10 @@ +2001-07-18 11:00:00 ShengHuo ZHU + + * mml.el (mml-content-type-parameters): New. + (mml-content-disposition-parameters): New. + (mml-insert-mime-headers): Use them. + (mml-parse-1): Accept charset. + 2001-07-17 22:00:00 ShengHuo ZHU * gnus-group.el (gnus-group-select-group): Doc fix. diff --git a/lisp/mml.el b/lisp/mml.el index ad1c45027..d8346cc70 100644 --- a/lisp/mml.el +++ b/lisp/mml.el @@ -37,6 +37,20 @@ (autoload 'message-fetch-field "message") (autoload 'message-posting-charset "message")) +(defcustom mml-content-type-parameters + '(name access-type expiration size permission format) + "*A list of acceptable parameters in MML tag. +These parameters are generated in Content-Type header if exists." + :type '(repeat (symbol :tag "Parameter")) + :group 'message) + +(defcustom mml-content-disposition-parameters + '(filename creation-date modification-date read-date) + "*A list of acceptable parameters in MML tag. +These parameters are generated in Content-Disposition header if exists." + :type '(repeat (symbol :tag "Parameter")) + :group 'message) + (defvar mml-generate-multipart-alist nil "*Alist of multipart generation functions. Each entry has the form (NAME . FUNCTION), where @@ -121,8 +135,13 @@ one charsets.") (setq raw (cdr (assq 'raw tag)) point (point) contents (mml-read-part (eq 'mml (car tag))) - charsets (if raw nil - (mm-find-mime-charset-region point (point)))) + charsets (cond + (raw nil) + ((assq 'charset tag) + (list + (intern (downcase (cdr (assq 'charset tag)))))) + (t + (mm-find-mime-charset-region point (point))))) (when (and (not raw) (memq nil charsets)) (if (or (memq 'unknown-encoding mml-confirmation-set) (message-options-get 'unknown-encoding) @@ -478,7 +497,7 @@ If MML is non-nil, return the buffer up till the correspondent mml tag." (let (parameters disposition description) (setq parameters (mml-parameter-string - cont '(name access-type expiration size permission))) + cont mml-content-type-parameters)) (when (or charset parameters (not (equal type mml-generate-default-type))) @@ -491,17 +510,17 @@ If MML is non-nil, return the buffer up till the correspondent mml tag." "charset" (symbol-name charset)))) (when parameters (mml-insert-parameter-string - cont '(name access-type expiration size permission))) + cont mml-content-type-parameters)) (insert "\n")) (setq parameters (mml-parameter-string - cont '(filename creation-date modification-date read-date))) + cont mml-content-disposition-parameters)) (when (or (setq disposition (cdr (assq 'disposition cont))) parameters) (insert "Content-Disposition: " (or disposition "inline")) (when parameters (mml-insert-parameter-string - cont '(filename creation-date modification-date read-date))) + cont mml-content-disposition-parameters)) (insert "\n")) (unless (eq encoding '7bit) (insert (format "Content-Transfer-Encoding: %s\n" encoding))) -- 2.25.1