diff man/tm/gnus-mime-en.texi @ 74:54cc21c15cbb r20-0b32

Import from CVS: tag r20-0b32
author cvs
date Mon, 13 Aug 2007 09:04:33 +0200
parents 4b173ad71786
children 49a24b4fd526
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/man/tm/gnus-mime-en.texi	Mon Aug 13 09:04:33 2007 +0200
@@ -0,0 +1,357 @@
+\input texinfo.tex
+@setfilename gnus-mime-en.info
+@settitle{gnus-mime 0.10 reference manual (English Version)}
+@titlepage
+@title gnus-mime 0.10 reference manual (English Version)
+@author MORIOKA Tomohiko <morioka@@jaist.ac.jp>
+@subtitle 1996/10/21
+@end titlepage
+@node Top, Introduction, (dir), (dir)
+@top gnus-mime 0.10 reference manual (English Version)
+
+@ifinfo
+
+This file documents gnus-mime, a MIME extension for Gnus.
+@end ifinfo
+
+@menu
+* Introduction::                What is gnus-mime?
+* Automatic MIME Preview::      Inline display for MIME message
+* mule::                        Internationalization
+* MIME-Edit::                   Composing MIME messages
+* Concept Index::               
+* Function Index::              
+* Variable Index::              
+@end menu
+
+@node Introduction, Automatic MIME Preview, Top, Top
+@chapter What is gnus-mime?
+
+@cindex{gnus-mime}@strong{gnus-mime} is a MIME (@ref{(tm-en)MIME})
+extender for Gnus (@ref{(gnus)}) using tm (@ref{(tm-en)tm-kernel}).
+
+@noindent
+@strong{[Notice]}
+@quotation
+
+gnus-mime is for only Gnus.  Please use tm-gnus (@ref{(tm-gnus_en)}) for
+GNUS.
+@end quotation
+
+
+gnus-mime supports automatic MIME preview in @code{"*Article*"} buffer
+using tm-view (@ref{(tm-view-en)}).  In particular, with XEmacs, it
+decodes images as same as text.@refill
+
+In addition, gnus-mime supports multilingual/internationalization
+feature for mule such as MULE (@ref{(tm-en)mule}), XEmacs/mule and mule
+merged Emacs.  It supports code-conversion by MIME charset or depended
+default MIME charset of newsgroups.@refill
+
+For RFC 1522, original Gnus supports only Q-encoded iso-8859-1
+(@ref{(tm-en)iso-8859-1}) encoded-word (@ref{(tm-en)encoded-word}).  So
+gnus-mime supports more MIME charsets, such as iso-8859-2
+(@ref{(tm-en)iso-8859-2}), iso-8859-3 (@ref{(tm-en)iso-8859-3}), ...,
+iso-2022-jp (@ref{(tm-en)iso-2022-jp}), euc-kr (@ref{(tm-en)euc-kr}),
+iso-2022-kr (@ref{(tm-en)iso-2022-kr}), gb2312, hz-gb-2312
+(@ref{(tm-en)hz-gb-2312}), cn-big5 (@ref{(tm-en)cn-big5}), and
+B-encoding.  In addition, original Gnus does not support unfolding or
+space elimination rule of RFC 1522.  gnus-mime is more rightful.
+
+
+@node Automatic MIME Preview, mule, Introduction, Top
+@chapter Inline display for MIME message
+
+@cindex{automatic MIME preview}@strong{automatic MIME preview} feature
+is available for gnus-mime.  In automatic MIME preview mode, when
+reading an article in summary mode, gnus-mime displays preview buffer
+processed by tm-view instead of raw article
+buffer. (cf. @ref{(tm-view-en)}) @refill
+
+Therefore if an article is encoded by Base64 (@ref{(tm-en)Base64}) or
+Quoted-Printable (@ref{(tm-en)Quoted-Printable}), a decoded article is
+displayed.  Or rich text article, such as text/enriched
+(@ref{(tm-en)text/enriched}) format, is automatic formated.  Of course,
+multipart (@ref{(tm-en)multipart}) article is dealt with
+correctly.@refill
+
+In addition, in @cindex{XEmacs}@strong{XEmacs}, images are displayed in
+preview buffer as same as text.@refill
+
+Different from using metamail, speaker does not roar just then read an
+article includes audio content, video player does not play just then
+read an article includes video content, it does not do anonymous ftp
+(@ref{(tm-en)ftp}) or send mail when read an article includes
+external-message.  These contents are played when you do decoding
+command in preview buffer.@refill
+
+However if you use a slow machine, or are just really impatient, you
+can stop automatic MIME preview.
+
+
+@menu
+* MIME processing::             How to process MIME in Article Buffer
+* Two buffers for an article::  Mechanism of Automatic MIME preview
+@end menu
+
+@node MIME processing, Two buffers for an article, Automatic MIME Preview, Automatic MIME Preview
+@section How to process MIME in Article Buffer
+
+When @code{gnus-show-mime} is not @code{nil} and an article has
+Mime-Version field in its message header, namely it is a MIME message,
+Gnus calls @code{gnus-show-mime-method} to process MIME.@refill
+
+When @code{gnus-strict-mime} is @code{nil} and @code{gnus-show-mime} is
+not @code{nil}, Gnus calls @code{gnus-show-mime-method} even if an
+message does not have Mime-Version field in its message header.@refill
+
+Gnus 5.2 or later calls @code{gnus-show-mime-method} when
+@code{gnus-strict-mime} is not @code{nil} and an article
+does not have Mime-Version field.  Notice that old Gnus does not have
+it, so it may be better to set @code{gnus-strict-mime} to
+@code{nil}.
+
+
+@defvar gnus-show-mime
+
+If it is not @code{nil}, Gnus do automatic MIME preview.  Default value
+is @code{t}.@refill
+
+It is a variable of Gnus, so if gnus is loaded before gnus-mime is
+loaded, default value is not guaranteed.
+
+(cf. @ref{(gnus)Using MIME})
+@end defvar
+
+
+@defvar gnus-show-mime-method
+
+Gnus calls function bound by it to process MIME.  Default value is
+@code{gnus-article-preview-mime-message}.@refill
+
+It is a variable of Gnus, so if gnus is loaded before gnus-mime is
+loaded, default value is not guaranteed.
+
+(cf. @ref{(gnus)Using MIME})
+@end defvar
+
+
+@defvar gnus-decode-encoded-word-method
+
+Gnus calls function bound by it to decode encoded-words.  Default value
+is @code{gnus-article-decode-encoded-word}.@refill
+
+It is a variable of Gnus, so if gnus is loaded before gnus-mime is
+loaded, default value is not guaranteed.@refill
+
+In addition, it is not available at Gnus 5.0.* or Gnus 5.1.
+@end defvar
+
+
+@noindent
+@strong{[Notice]}
+@quotation
+
+gnus-mime uses some variables of Gnus and defines different default
+values by @code{defvar}.  For example, gnus-mime's default value of
+@code{gnus-show-mime} is @code{t} instead of @code{nil}.  Or its default
+value of @code{gnus-show-mime-method} is
+@code{gnus-article-preview-mime-message} instead of
+@code{metamail-buffer}.  (cf. @ref{(gnus)Using MIME}) @refill
+
+gnus-mime uses @code{defvar} instead of @code{setq}, because of respect
+user's setting before gnus-mime is loaded, such as using
+@file{~/.emacs}.  But it has a problem.  If gnus is loaded before
+gnus-mime is loaded, features of gnus-mime is not available in default
+even if gnus-mime is loaded.  Therefore there is serious problem to load
+gnus before gnus-mime is loaded.  In other words, setting in
+@file{~/.gnus}, such as to load @file{gnus-mime} or @file{mime-setup},
+is not good way.  If you want such way, please do setting for
+@code{gnus-show-mime} and @code{gnus-show-mime-method}.
+@end quotation
+
+
+
+@node Two buffers for an article,  , MIME processing, Automatic MIME Preview
+@section Mechanism of Automatic MIME preview
+
+Gnus 5.2 or later has two buffers for an article,
+@code{gnus-original-article-buffer} (@code{" *Original Article*"}) and
+@code{gnus-article-buffer} (@code{"*Article*"}).  The former is called
+@cindex{raw article buffer}@strong{raw article buffer}, the latter is
+called @cindex{preview buffer}@strong{preview buffer}.@refill
+
+Content of raw article buffer is non-processed ``raw message''.  In
+particular, for emacs variants includes mule (@ref{(tm-en)mule})
+features, message is not code-converted in it.@refill
+
+Content of preview buffer is MIME processed message to display for user.
+In particular, for emacs variants includes mule features, non-ASCII
+message is code-converted in it by MIME charset or default MIME charset
+(@ref{(tm-en)MIME charset}) for selected newsgroup.@refill
+
+Gnus 5.0.* and Gnus 5.1 don't have distinction between raw article
+buffer and preview buffer.  So gnus-mime emulate raw article buffer.  It
+is unnatural, so it may be better to use Gnus 5.2 or later, which are
+designed for tm-view.@refill
+
+(cf. @ref{(tm-view-en)Two buffers for an article})
+
+
+
+@node mule, MIME-Edit, Automatic MIME Preview, Top
+@chapter Internationalization
+
+For emacs variants includes mule feature, such as MULE
+(@ref{(tm-en)MULE}), XEmacs/mule and Emacs/mule(*1), gnus-mime supports
+code-conversion by MIME charset (@ref{(tm-en)MIME charset}) or
+@code{default-mime-charset} of selected newsgroup.
+
+@noindent
+@strong{[Memo]}
+@quotation
+(*1) It means next generation of Emacs includes mule features.  Now
+(October 1996), HANDA Ken'ichi and RMS are developing it.
+@end quotation
+
+
+Detail of code conversion is following:
+
+@enumerate
+@item
+If a newsgroup is selected, MIME charset for the newsgroup is
+searched from @code{gnus-newsgroup-default-charset-alist}.  If
+it is found, it is set to buffer local variable
+@code{default-mime-charset} of Summary Buffer.  If not found,
+global value of @code{default-mime-charset} is used.
+@item
+Non-ASCII characters in Summary Buffer are code-converted by
+@code{default-mime-charset} in Summary Buffer.
+@item
+encoded-word (@ref{(tm-en)encoded-word}) are code-converted by their
+specified MIME charset (@ref{(tm-en)MIME charset}).
+@item
+Code-conversion of articles are following:
+
+@enumerate
+@item
+If a part of a MIME message has charset parameter of Content-Type field
+(@ref{(tm-en)Content-Type field}), it is code-converted by the MIME
+charset.
+@item
+When there are no specified MIME charset, such as message header
+or non-MIME message, they are code-converted by
+@code{default-mime-charset} in Summary Buffer.
+@end enumerate
+@end enumerate
+
+
+
+@defvar gnus-newsgroup-default-charset-alist
+
+Association-list regexp for newsgroup vs. symbol for default MIME
+charset.@refill
+
+Default setting are following:
+
+@table @samp
+@item alt.chinese.*
+hz-gb-2312 (@ref{(tm-en)hz-gb-2312})@refill
+
+@item alt.chinese.text.big5, hk.*, hkstar.*, tw.*
+cn-big5 (@ref{(tm-en)cn-big5})@refill
+
+@item fj.*
+iso-2022-jp-2 (@ref{(tm-en)iso-2022-jp-2})@refill
+
+@item han.*
+euc-kr (@ref{(tm-en)euc-kr})@refill
+
+@item relcom.*
+koi8-r (@ref{(tm-en)koi8-r})@refill
+
+@end table
+
+If there is no MIME charsets for a newsgroup,
+@code{default-mime-charset} is used as default MIME charset.
+@end defvar
+
+
+@defun gnus-set-newsgroup-default-charsetnewsgroup charset
+
+Set default MIME @var{charset} of @var{newsgroup} to
+@code{gnus-newsgroup-default-charset-alist}.@refill
+
+@var{newsgroup} is string of newsgroup name or category, for
+@code{"gnu.emacs.gnus"}, @code{"gnu.emacs"}, @code{"gnu"}.@refill
+
+@var{charset} is symbol of MIME charset, for example @code{iso-8859-1},
+@code{iso-2022-jp}.
+@end defun
+
+
+
+@node MIME-Edit, Concept Index, mule, Top
+@chapter Composing MIME messages
+
+If using mime-setup (@ref{(tm-en)mime-setup}), you can edit MIME message
+in message-mode using tm-edit (@ref{(tm-edit-en)}).
+
+@noindent
+@strong{[Notice]}
+@quotation
+
+Default setting of mime-setup avoids automatic inserting signature
+when sending a message.
+
+(cf. @ref{(tm-en)mime-setup})
+@end quotation
+
+
+gnus-mime does not have implementation for @kbd{C-c C-x C-m}
+(@code{mime-editor/insert-mail}).  Because gnus-mime does not know which
+mail-reader should be used.  In addition, @kbd{C-c C-x C-y}
+(@code{mime-editor/insert-message}) is enough to insert mail (namely to
+select a mail group and select a message to insert, then it is available
+to insert the mail message).@refill
+
+However you can use @kbd{C-c C-x C-m} to specify an
+implementation of @code{message-mode} to
+@code{mime-editor/mail-inserter-alist}.
+
+
+@section Example: same as @kbd{C-c C-x C-m}
+
+@lisp
+(set-alist 'mime-editor/mail-inserter-alist
+	   'message-mode (function message-mime-insert-article))
+@end lisp
+
+
+
+@section Example: including from MH folder
+
+@lisp
+(autoload 'tm-mh-e/insert-mail "tm-mh-e")
+
+(set-alist 'mime-editor/mail-inserter-alist
+	   'message-mode (function tm-mh-e/insert-mail))
+@end lisp
+
+
+
+@node Concept Index, Function Index, MIME-Edit, Top
+@chapter Concept Index
+
+@printindex cp
+
+@node Function Index, Variable Index, Concept Index, Top
+@chapter Function Index
+
+@printindex fn
+
+@node Variable Index,  , Function Index, Top
+@chapter Variable Index
+
+@printindex vr
+@bye