comparison lisp/gnus/mml.el @ 68720:d9dde5b81e71

Revision: emacs@sv.gnu.org/emacs--devo--0--patch-57 Merge from gnus--rel--5.10 Patches applied: * gnus--rel--5.10 (patch 18-21) - Update from CVS - Merge from emacs--devo--0
author Miles Bader <miles@gnu.org>
date Wed, 08 Feb 2006 04:35:58 +0000
parents 5ea0e0a7dd38
children 6580c61aced7 c5406394f567
comparison
equal deleted inserted replaced
68719:2de3fcf69715 68720:d9dde5b81e71
662 (when (consp charset) 662 (when (consp charset)
663 (error 663 (error
664 "Can't encode a part with several charsets")) 664 "Can't encode a part with several charsets"))
665 (insert "Content-Type: " type) 665 (insert "Content-Type: " type)
666 (when charset 666 (when charset
667 (insert "; " (mail-header-encode-parameter 667 (mml-insert-parameter
668 "charset" (symbol-name charset)))) 668 (mail-header-encode-parameter "charset" (symbol-name charset))))
669 (when flowed 669 (when flowed
670 (insert "; format=flowed")) 670 (mml-insert-parameter "format=flowed"))
671 (when parameters 671 (when parameters
672 (mml-insert-parameter-string 672 (mml-insert-parameter-string
673 cont mml-content-type-parameters)) 673 cont mml-content-type-parameters))
674 (insert "\n")) 674 (insert "\n"))
675 (when (setq id (cdr (assq 'id cont))) 675 (when (setq id (cdr (assq 'id cont)))
685 cont mml-content-disposition-parameters)) 685 cont mml-content-disposition-parameters))
686 (insert "\n")) 686 (insert "\n"))
687 (unless (eq encoding '7bit) 687 (unless (eq encoding '7bit)
688 (insert (format "Content-Transfer-Encoding: %s\n" encoding))) 688 (insert (format "Content-Transfer-Encoding: %s\n" encoding)))
689 (when (setq description (cdr (assq 'description cont))) 689 (when (setq description (cdr (assq 'description cont)))
690 (insert "Content-Description: " 690 (insert "Content-Description: ")
691 (mail-encode-encoded-word-string description) "\n")))) 691 (setq description (prog1
692 (point)
693 (insert description "\n")))
694 (mail-encode-encoded-word-region description (point)))))
692 695
693 (defun mml-parameter-string (cont types) 696 (defun mml-parameter-string (cont types)
694 (let ((string "") 697 (let ((string "")
695 value type) 698 value type)
696 (while (setq type (pop types)) 699 (while (setq type (pop types))
839 (insert " description=\"" (mm-handle-description handle) "\"")) 842 (insert " description=\"" (mm-handle-description handle) "\""))
840 (insert ">\n"))) 843 (insert ">\n")))
841 844
842 (defun mml-insert-parameter (&rest parameters) 845 (defun mml-insert-parameter (&rest parameters)
843 "Insert PARAMETERS in a nice way." 846 "Insert PARAMETERS in a nice way."
844 (dolist (param parameters) 847 (let (start end)
845 (insert ";") 848 (dolist (param parameters)
846 (let ((point (point))) 849 (insert ";")
850 (setq start (point))
847 (insert " " param) 851 (insert " " param)
848 (when (> (current-column) 71) 852 (setq end (point))
849 (goto-char point) 853 (goto-char start)
850 (insert "\n ") 854 (end-of-line)
851 (end-of-line))))) 855 (if (> (current-column) 76)
856 (progn
857 (goto-char start)
858 (insert "\n")
859 (goto-char (1+ end)))
860 (goto-char end)))))
852 861
853 ;;; 862 ;;;
854 ;;; Mode for inserting and editing MML forms 863 ;;; Mode for inserting and editing MML forms
855 ;;; 864 ;;;
856 865