@copying
This file documents the Emacs MIME interface functionality.
-Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003
- Free Software Foundation, Inc.
+Copyright @copyright{} 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
+2006 Free Software Foundation, Inc.
@quotation
Permission is granted to copy, distribute and/or modify this document
-under the terms of the GNU Free Documentation License, Version 1.1 or
+under the terms of the GNU Free Documentation License, Version 1.2 or
any later version published by the Free Software Foundation; with no
Invariant Sections, with the Front-Cover texts being ``A GNU
Manual'', and with the Back-Cover Texts as in (a) below. A copy of the
This manual documents the libraries used to compose and display
@acronym{MIME} messages.
-This manual is directed at users who want to modify the behaviour of
+This manual is directed at users who want to modify the behavior of
the @acronym{MIME} encoding/decoding process or want a more detailed
picture of how the Emacs @acronym{MIME} library works, and people who want
to write functions and commands that manipulate @acronym{MIME} elements.
are automatically sent to. It only works in groups matching
@code{mm-uu-diff-groups-regexp}.
+@item verbatim-marks
+@cindex verbatim-marks
+Slrn-style verbatim marks.
+
+@item LaTeX
+@cindex LaTeX
+LaTeX documents. It only works in groups matching
+@code{mm-uu-tex-groups-regexp}.
+
@end table
+@cindex text/x-verbatim
+@c Is @vindex suitable for a face?
+@vindex mm-uu-extract
+Some inlined non-@acronym{MIME} attachments are displayed using the face
+@code{mm-uu-extract}. By default, no @acronym{MIME} button for these
+parts is displayed. You can force displaying a button using @kbd{K b}
+(@code{gnus-summary-display-buttonized}) or add @code{text/x-verbatim}
+to @code{gnus-buttonized-mime-types}, @xref{MIME Commands, ,MIME
+Commands, gnus, Gnus Manual}.
+
@node Handles
@section Handles
@findex mm-handle-disposition
Return the parsed @code{Content-Disposition} of the part.
-@item mm-handle-disposition
-@findex mm-handle-disposition
-Return the description of the part.
-
@item mm-get-content-id
Returns the handle(s) referred to by @code{Content-ID}.
(remove "text/html" mm-automatic-display))
@end lisp
+Adding @code{"image/.*"} might also be useful. Spammers use images as
+the preferred part of @samp{multipart/alternative} messages, so you might
+not notice there are other parts. See also
+@code{gnus-buttonized-mime-types}, @ref{MIME Commands, ,MIME Commands,
+gnus, Gnus Manual}. After adding @code{"multipart/alternative"} to
+@code{gnus-buttonized-mime-types} you can choose manually which
+alternative you'd like to view. For example, you can set those
+variables like:
+
+@lisp
+(setq gnus-buttonized-mime-types
+ '("multipart/alternative" "multipart/signed")
+ mm-discouraged-alternatives
+ '("text/html" "image/.*"))
+@end lisp
+
+In this case, Gnus will display radio buttons for such a kind of spam
+message as follows:
+
+@example
+1. (*) multipart/alternative ( ) image/gif
+
+2. (*) text/plain ( ) text/html
+@end example
+
@item mm-inline-large-images
@vindex mm-inline-large-images
When displaying inline images that are larger than the window, Emacs
Mapping from @acronym{MIME} charset to encoding to use. This variable is
usually used except, e.g., when other requirements force a specific
encoding (digitally signed messages require 7bit encodings). The
-default is
+default is
@lisp
((iso-2022-jp . 7bit)
@item mm-coding-system-priorities
@vindex mm-coding-system-priorities
Prioritize coding systems to use for outgoing messages. The default
-is @code{nil}, which means to use the defaults in Emacs. It is a list of
+is @code{nil}, which means to use the defaults in Emacs, but is
+@code{(iso-8859-1 iso-2022-jp iso-2022-jp-2 shift_jis utf-8)} when
+running Emacs in the Japanese language environment. It is a list of
coding system symbols (aliases of coding systems are also allowed, use
@kbd{M-x describe-coding-system} to make sure you are specifying correct
coding system names). For example, if you have configured Emacs
@vindex mm-mime-mule-charset-alist
Things are slightly more complicated when running Emacs with @sc{mule}
support. In this case, a list of the @sc{mule} charsets used in the
-part is obtained, and the @sc{mule} charsets are translated to @acronym{MIME}
-charsets by consulting the variable @code{mm-mime-mule-charset-alist}.
+part is obtained, and the @sc{mule} charsets are translated to
+@acronym{MIME} charsets by consulting the table provided by Emacs itself
+or the variable @code{mm-mime-mule-charset-alist} for XEmacs.
If this results in a single @acronym{MIME} charset, this is used to encode
the part. But if the resulting list of @acronym{MIME} charsets contains more
than one element, two things can happen: If it is possible to encode the
This chapter describes the basic, ground-level functions for parsing and
handling. Covered here is parsing @code{From} lines, removing comments
from header lines, decoding encoded words, parsing date headers and so
-on. High-level functionality is dealt with in the next chapter
+on. High-level functionality is dealt with in the first chapter
(@pxref{Decoding and Viewing}).
@menu
@item safe-date-to-time
Take a date and return a time. If the date is not syntactically valid,
-return a ``zero'' date.
+return a ``zero'' time.
@item time-less-p
Take two times and say whether the first time is less (i. e., earlier)