Move defvars around to silence compiler warnings.
[gnus] / texi / emacs-mime.texi
index 93c676f..ad9bbe1 100644 (file)
@@ -5,72 +5,49 @@
 @synindex fn cp
 @synindex vr cp
 @synindex pg cp
-@dircategory Emacs
-@direntry
-* Emacs MIME: (emacs-mime).   The MIME de/composition library.
-@end direntry
-@iftex
-@finalout
-@end iftex
-@setchapternewpage odd
-
-@ifnottex
 
+@copying
 This file documents the Emacs MIME interface functionality.
 
-Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2004
-          Free Software Foundation, Inc.
+Copyright @copyright{} 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
+2006, 2007, 2008, 2009, 2010 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.3 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
-license is included in the section entitled ``GNU Free Documentation
-License'' in the Emacs manual.
-
-(a) The FSF's Back-Cover Text is: ``You have freedom to copy and modify
-this GNU Manual, like GNU software.  Copies published by the Free
-Software Foundation raise funds for GNU development.''
-
-This document is part of a collection distributed under the GNU Free
-Documentation License.  If you want to distribute this document
-separately from the collection, you can do so by adding a copy of the
-license to the document, as described in section 6 of the license.
-@end ifnottex
+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 license
+is included in the section entitled ``GNU Free Documentation License''.
 
-@tex
+(a) The FSF's Back-Cover Text is: ``You have the freedom to copy and
+modify this GNU manual.  Buying copies from the FSF supports it in
+developing GNU and promoting software freedom.''
+@end quotation
+@end copying
+
+@c Node ``Interface Functions'' uses Latin-1 characters
+@documentencoding ISO-8859-1
+
+@dircategory Emacs
+@direntry
+* Emacs MIME: (emacs-mime).     Emacs MIME de/composition library.
+@end direntry
+@iftex
+@finalout
+@end iftex
+@setchapternewpage odd
 
 @titlepage
 @title Emacs MIME Manual
 
 @author by Lars Magne Ingebrigtsen
 @page
-
 @vskip 0pt plus 1filll
-Copyright @copyright{} 1998, 1999, 2000, 2001, 2002, 2003 Free Software
-Foundation, Inc.
-
-Permission is granted to copy, distribute and/or modify this document
-under the terms of the GNU Free Documentation License, Version 1.1 or
-any later version published by the Free Software Foundation; with the
-Invariant Sections being none, with the Front-Cover texts being ``A GNU
-Manual'', and with the Back-Cover Texts as in (a) below.  A copy of the
-license is included in the section entitled ``GNU Free Documentation
-License'' in the Emacs manual.
-
-(a) The FSF's Back-Cover Text is: ``You have freedom to copy and modify
-this GNU Manual, like GNU software.  Copies published by the Free
-Software Foundation raise funds for GNU development.''
-
-This document is part of a collection distributed under the GNU Free
-Documentation License.  If you want to distribute this document
-separately from the collection, you can do so by adding a copy of the
-license to the document, as described in section 6 of the license.
+@insertcopying
 @end titlepage
-@page
 
-@end tex
+@contents
 
 @node Top
 @top Emacs MIME
@@ -78,7 +55,7 @@ license to the document, as described in section 6 of the license.
 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.
@@ -91,12 +68,17 @@ Procedures), RFC2049 (Conformance Criteria and Examples).  It is highly
 recommended that anyone who intends writing @acronym{MIME}-compliant software
 read at least RFC2045 and RFC2047.
 
+@ifnottex
+@insertcopying
+@end ifnottex
+
 @menu
 * Decoding and Viewing::  A framework for decoding and viewing.
 * Composing::             @acronym{MML}; a language for describing @acronym{MIME} parts.
 * Interface Functions::   An abstraction over the basic functions.
 * Basic Functions::       Utility and basic parsing functions.
 * Standards::             A summary of RFCs and working documents used.
+* GNU Free Documentation License:: The license for this documentation.
 * Index::                 Function and variable index.
 @end menu
 
@@ -147,7 +129,7 @@ diff.  Each of these features can be disabled by add an item into
 @table @code
 @item postscript
 @findex postscript
-Postscript file.
+PostScript file.
 
 @item uu
 @findex uu
@@ -198,8 +180,27 @@ Patches.  This is intended for groups where diffs of committed files
 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
 
@@ -235,10 +236,6 @@ Set the undisplayer object.
 @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}.
 
@@ -348,16 +345,47 @@ you could say something like:
       (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, XEmacs
+When displaying inline images that are larger than the window, Emacs
 does not enable scrolling, which means that you cannot see the whole
-image.  To prevent this, the library tries to determine the image size
+image. To prevent this, the library tries to determine the image size
 before displaying it inline, and if it doesn't fit the window, the
 library will display it externally (e.g. with @samp{ImageMagick} or
-@samp{xv}).  Setting this variable to @code{t} disables this check and
+@samp{xv}). Setting this variable to @code{t} disables this check and
 makes the library display all inline images as inline, regardless of
-their size.
+their size. If you set this variable to @code{resize}, the image will
+be displayed resized to fit in the window, if Emacs has the ability to
+resize images.
+
+@item mm-inline-large-images-proportion
+@vindex mm-inline-images-max-proportion
+The proportion used when resizing large images.
 
 @item mm-inline-override-types
 @vindex mm-inline-override-types
@@ -372,7 +400,7 @@ variable will cause @samp{text/html} parts to be treated as attachments.
 @item mm-text-html-renderer
 @vindex mm-text-html-renderer
 This selects the function used to render @acronym{HTML}.  The predefined
-renderers are selected by the symbols @code{w3},
+renderers are selected by the symbols @code{gnus-article-html}, @code{w3},
 @code{w3m}@footnote{See @uref{http://emacs-w3m.namazu.org/} for more
 information about emacs-w3m}, @code{links}, @code{lynx},
 @code{w3m-standalone} or @code{html2text}.  If @code{nil} use an
@@ -396,7 +424,9 @@ or @kbd{I} instead.}
 A regular expression that matches safe URL names, i.e. URLs that are
 unlikely to leak personal information when rendering @acronym{HTML}
 email (the default value is @samp{\\`cid:}).  If @code{nil} consider
-all URLs safe.
+all URLs safe.  In Gnus, this will be overridden according to the value
+of the variable @code{gnus-safe-html-newsgroups}, @xref{Various
+Various, ,Various Various, gnus, Gnus Manual}.
 
 @item mm-inline-text-html-with-w3m-keymap
 @vindex mm-inline-text-html-with-w3m-keymap
@@ -409,15 +439,15 @@ The program used to start an external terminal.
 
 @item mm-enable-external
 @vindex mm-enable-external
-Indicate whether external MIME handlers should be used.
+Indicate whether external @acronym{MIME} handlers should be used.
 
-If @code{t}, all defined external MIME handlers are used.  If
+If @code{t}, all defined external @acronym{MIME} handlers are used.  If
 @code{nil}, files are saved to disk (@code{mailcap-save-binary-file}).
 If it is the symbol @code{ask}, you are prompted before the external
 @acronym{MIME} handler is invoked.
 
 When you launch an attachment through mailcap (@pxref{mailcap}) an
-attempt is made to use a safe viewer with the safest options--this isn't
+attempt is made to use a safe viewer with the safest options---this isn't
 the case if you save it to disk and launch it in a different way
 (command line or double-clicking).  Anyhow, if you want to be sure not
 to launch any external programs, set this variable to @code{nil} or
@@ -817,7 +847,7 @@ This plain text part&n