This file documents the Emacs MIME interface functionality.
-Copyright (C) 1996 Free Software Foundation, Inc.
+Copyright (C) 1998,99 Free Software Foundation, Inc.
Permission is granted to make and distribute verbatim copies of
this manual provided the copyright notice and this permission notice
@page
@vskip 0pt plus 1filll
-Copyright @copyright{} 1998 Free Software Foundation, Inc.
+Copyright @copyright{} 1998,99 Free Software Foundation, Inc.
Permission is granted to make and distribute verbatim copies of
this manual provided the copyright notice and this permission notice
@result{} "b980912.gif"
@end example
+@item mail-header-encode-parameter
+@findex mail-header-encode-parameter
+Takes a parameter string and returns an encoded version of the string.
+This is used for parameters in headers like @code{Content-Type} and
+@code{Content-Disposition}.
+
@item mail-header-remove-comments
@findex mail-header-remove-comments
Return a comment-free version of a header.
Return the last comment in a header.
@example
-(mail-header-get-comment
+(mail-header-get-comment
"Gnus/5.070027 (Pterodactyl Gnus v0.27) (Finnish Landrace)")
-@result{} "Finnish Landrace"
+@result{} "Finnish Landrace"
@end example
@item mail-header-parse-address
@end table
Currently, @code{mail-parse} is an abstraction over @code{ietf-drums},
-@code{rfc2047} and @code{rfc2231}. These are documented in the
-subsequent sections.
+@code{rfc2047}, @code{rfc2045} and @code{rfc2231}. These are documented
+in the subsequent sections.
(@pxref{Decoding and Viewing}).
@menu
+* rfc2045:: Encoding @code{Content-Type} headers.
* rfc2231:: Parsing @code{Content-Type} headers.
* ietf-drums:: Handling mail headers defined by RFC822bis.
* rfc2047:: En/decoding encoded words in headers.
@end menu
+@node rfc2045
+@section rfc2045
+
+RFC2045 is the ``main'' @sc{mime} document, and as such, one would
+imagine that there would be a lot to implement. But there isn't, since
+most of the implementation details are delegated to the subsequent
+RFCs.
+
+So @file{rfc2045.el} has only a single function:
+
+@table @code
+@item rfc2045-encode-string
+@findex rfc2045-encode-string
+Takes a parameter and a value and returns a @samp{PARAM=VALUE} string.
+@var{value} will be quoted if there are non-safe characters in it.
+@end table
+
+
@node rfc2231
@section rfc2231
@example
(rfc2231-parse-string
- "application/x-stuff;
+ "application/x-stuff;
title*0*=us-ascii'en'This%20is%20even%20more%20;
title*1*=%2A%2A%2Afun%2A%2A%2A%20;
title*2=\"isn't it!\"")
@item rfc2231-get-value
@findex rfc2231-get-value
-Takes one of the lists on the format above and return
+Takes one of the lists on the format above and returns
the value of the specified attribute.
+@item rfc2231-encode-string
+@findex rfc2231-encode-string
+Encode a parameter in headers likes @code{Content-Type} and
+@code{Content-Disposition}.
+
@end table
The @code{Q} encoding isn't quite the same for all headers. Some
headers allow a narrower range of characters, and that is what this
variable is for. It's an alist of header regexps / allowable character
-ranges.
+ranges.
@item rfc2047-encoded-word-regexp
@vindex rfc2047-encoded-word-regexp
-When decoding words, this library looks for matches to this regexp.
+When decoding words, this library looks for matches to this regexp.
@end table
@cindex MIME Meta Language
Creating a @sc{mime} message is boring and non-trivial. Therefore, a
-library called @code{mml} has been defined that parses a language called
+library called @code{mml} has been defined that parses a language called
MML (@sc{mime} Meta Language) and generates @sc{mime} messages.
@findex mml-generate-mime
set speficied (@code{Content-Type}).
@item name
-Might be used to suggest a file name if the part is to be saved
+Might be used to suggest a file name if the part is to be saved
to a file (@code{Content-Type}).
@item disposition
@section Advanced MML Example
Here's a complex multipart message. It's a @samp{multipart/mixed} that
-contains many parts, one of which is a @samp{multipart/alternative}.
+contains many parts, one of which is a @samp{multipart/alternative}.
@example
<#multipart type=mixed>
Content-Disposition Header Field
@end table
-
-
+
+
@node Index
@chapter Index
@printindex cp