comparison lisp/gnus/mm-encode.el @ 82975:590114f9753d gnus-5_10-pre-merge-josefsson

2004-08-31 Katsumi Yamaoka <yamaoka@jpl.org> * gnus-agent.el (gnus-agent-restore-gcc): Use ^ and regexp-quote. * gnus-sum.el (gnus-newsgroup-variables): Doc fix (tiny change). From Helmut Waitzmann <Helmut.Waitzmann@web.de>. * gnus-agent.el (gnus-agent-regenerate-group): Activate the group when the group's active is not available. * gnus-art.el (article-hide-headers): Refer to the values for gnus-ignored-headers and gnus-visible-headers in the summary buffer since a user may have set them as group parameters. (gnus-article-next-page): Fix the way to find a real end-of-buffer (tiny change). From YAGI Tatsuya <ynyaaa@ybb.ne.jp>. (gnus-article-read-summary-keys): Restore new window-start and hscroll to summary window. (gnus-prev-page-map): Remove duplicated one. * gnus-cite.el (gnus-cite-ignore-quoted-from): New user option. (gnus-cite-parse): Ignore quoted envelope From_. Suggested by Karl Chen <quarl@nospam.quarl.org> and Reiner Steib <Reiner.Steib@gmx.de>. * gnus-cus.el (gnus-agent-cat-prepare-category-field): Replace pp-to-string with gnus-pp-to-string. * gnus-eform.el (gnus-edit-form): Replace pp with gnus-pp. * gnus-group.el (gnus-group-make-kiboze-group): Replace pp with gnus-pp. * gnus-msg.el (gnus-setup-message): Ignore an article copy while parsing gnus-posting-styles when the message is not for replying. (gnus-summary-resend-message-edit): Call mime-to-mml. Suggested by Hiroshi Fujishima <pooh@nature.tsukuba.ac.jp>. (gnus-debug): Replace pp with gnus-pp. * gnus-score.el (gnus-score-save): Replace pp with gnus-pp. * gnus-spec.el (gnus-update-format): Replace pp-to-string with gnus-pp-to-string. * gnus-sum.el (gnus-read-header): Don't remove a header for the parent article of a sparse article in the thread hashtb. From Stefan Wiens <s.wi@gmx.net>. * gnus-util.el (gnus-bind-print-variables): New macro. (gnus-prin1): Use it. (gnus-prin1-to-string): Use it. (gnus-pp): New function. (gnus-pp-to-string): New function. * gnus.el: Don't make unnecessary *Group* buffer when loading. * mail-source.el (mail-source-touch-pop): Doc fix. * message.el (message-mode): Don't modify paragraph-separate there. (message-setup-fill-variables): Add mml tags to paragraph-start and paragraph-separate. Suggested by Andrew Korty <ajk@iu.edu>. (message-smtpmail-send-it): Doc fix. (message-exchange-point-and-mark): Don't activate region if it was inactive. Suggested by Hiroshi Fujishima <pooh@nature.tsukuba.ac.jp> and Jesper Harder <harder@ifa.au.dk>. * mm-decode.el (mm-save-part): Bind enable-multibyte-characters to t while entering a file name using the mm-with-multibyte macro. Suggested by Hiroshi Fujishima <pooh@nature.tsukuba.ac.jp>. * mm-encode.el (mm-content-transfer-encoding-defaults): Use qp-or-base64 for the application/* types. (mm-safer-encoding): Consider 7bit is safe. * mm-util.el (mm-with-multibyte-buffer): New macro. (mm-with-multibyte): New macro. * mm-view.el (mm-inline-render-with-function): Use multibyte buffer; decode html source by charset. * nndoc.el (nndoc-type-alist): Improve regexp for article-begin, add generate-head-function and generate-article-function to the rfc822-forward entry. (nndoc-forward-type-p): Recognize envelope From_. (nndoc-rfc822-forward-generate-article): New function. (nndoc-rfc822-forward-generate-head): New function. From David Hedbor <dhedbor@real.com>. * nnmail.el (nnmail-split-lowercase-expanded): New user option. (nnmail-expand-newtext): Lowercase expanded entries if nnmail-split-lowercase-expanded is non-nil. * score-mode.el (gnus-score-pretty-print): Replace pp with gnus-pp. * webmail.el (webmail-debug): Replace pp with gnus-pp. * gnus-art.el (gnus-article-wash-html-with-w3m): Bind w3m-safe-url-regexp as the value for mm-w3m-safe-url-regexp; use w3m-minor-mode-map instead of mm-w3m-local-map-property. (gnus-mime-save-part-and-strip): Use mm-complicated-handles instead of mm-multiple-handles. (gnus-mime-delete-part): Ditto. * mm-decode.el (mm-multiple-handles): Recognize a string as a mime handle, as well as a list. (mm-complicated-handles): Former definition of mm-multiple-handles. * mm-view.el (mm-w3m-mode-map): Remove. (mm-w3m-local-map-property): Remove. (mm-w3m-cid-retrieve-1): Call itself recursively. Suggested by ARISAWA Akihiro <ari@mbf.sphere.ne.jp>. (mm-w3m-cid-retrieve): Simplify. (mm-inline-text-html-render-with-w3m): Decode html source by charset; check META tags only when charsets are not specified in headers; specify charset to w3m-region; use w3m-minor-mode-map instead of mm-w3m-local-map-property.
author Reiner Steib <Reiner.Steib@gmx.de>
date Tue, 31 Aug 2004 14:47:59 +0000
parents 0fde48feb604
children
comparison
equal deleted inserted replaced
82974:e88e622cd27a 82975:590114f9753d
1 ;;; mm-encode.el --- Functions for encoding MIME things 1 ;;; mm-encode.el --- Functions for encoding MIME things
2 ;; Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003 2 ;; Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2004
3 ;; Free Software Foundation, Inc. 3 ;; Free Software Foundation, Inc.
4 4
5 ;; Author: Lars Magne Ingebrigtsen <larsi@gnus.org> 5 ;; Author: Lars Magne Ingebrigtsen <larsi@gnus.org>
6 ;; MORIOKA Tomohiko <morioka@jaist.ac.jp> 6 ;; MORIOKA Tomohiko <morioka@jaist.ac.jp>
7 ;; This file is part of GNU Emacs. 7 ;; This file is part of GNU Emacs.
34 34
35 (defcustom mm-content-transfer-encoding-defaults 35 (defcustom mm-content-transfer-encoding-defaults
36 '(("text/x-patch" 8bit) 36 '(("text/x-patch" 8bit)
37 ("text/.*" qp-or-base64) 37 ("text/.*" qp-or-base64)
38 ("message/rfc822" 8bit) 38 ("message/rfc822" 8bit)
39 ("application/emacs-lisp" 8bit) 39 ("application/emacs-lisp" qp-or-base64)
40 ("application/x-emacs-lisp" 8bit) 40 ("application/x-emacs-lisp" qp-or-base64)
41 ("application/x-patch" 8bit) 41 ("application/x-patch" qp-or-base64)
42 (".*" base64)) 42 (".*" base64))
43 "Alist of regexps that match MIME types and their encodings. 43 "Alist of regexps that match MIME types and their encodings.
44 If the encoding is `qp-or-base64', then either quoted-printable 44 If the encoding is `qp-or-base64', then either quoted-printable
45 or base64 will be used, depending on what is more efficient." 45 or base64 will be used, depending on what is more efficient.
46
47 `qp-or-base64' has another effect. It will fold long lines so that
48 MIME parts may not be broken by MTA. So do `quoted-printable' and
49 `base64'.
50
51 Note: It affects body encoding only when a part is a raw forwarded
52 message (which will be made by `gnus-summary-mail-forward' with the
53 arg 2 for example) or is neither the text/* type nor the message/*
54 type. Even though in those cases, you can use the `encoding' MML tag
55 to specify encoding of non-ASCII MIME parts."
46 :type '(repeat (list (regexp :tag "MIME type") 56 :type '(repeat (list (regexp :tag "MIME type")
47 (choice :tag "encoding" 57 (choice :tag "encoding"
48 (const 7bit) 58 (const 7bit)
49 (const 8bit) 59 (const 8bit)
50 (const qp-or-base64) 60 (const qp-or-base64)
86 (mailcap-extension-to-mime (match-string 0 file)))) 96 (mailcap-extension-to-mime (match-string 0 file))))
87 97
88 (defun mm-safer-encoding (encoding) 98 (defun mm-safer-encoding (encoding)
89 "Return an encoding similar to ENCODING but safer than it." 99 "Return an encoding similar to ENCODING but safer than it."
90 (cond 100 (cond
91 ((memq encoding '(7bit 8bit quoted-printable)) 'quoted-printable) 101 ((eq encoding '7bit) '7bit) ;; 7bit is considered safe.
102 ((memq encoding '(8bit quoted-printable)) 'quoted-printable)
92 ;; The remaining encodings are binary and base64 (and perhaps some 103 ;; The remaining encodings are binary and base64 (and perhaps some
93 ;; non-standard ones), which are both turned into base64. 104 ;; non-standard ones), which are both turned into base64.
94 (t 'base64))) 105 (t 'base64)))
95 106
96 (defun mm-encode-content-transfer-encoding (encoding &optional type) 107 (defun mm-encode-content-transfer-encoding (encoding &optional type)