emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [rmail-mbox-branch]: mail-utils


From: Alexander Pohoyda
Subject: Re: [rmail-mbox-branch]: mail-utils
Date: 09 Oct 2004 01:17:03 +0200
User-agent: Gnus/5.09 (Gnus v5.9.0) Emacs/21.3.50

Richard Stallman <address@hidden> writes:

>     For example, the original implementation of `mail-[un]quote-printable'
>     functions is too limited.  I suppose that this is desired: 
> 
>     (defun mail-quote-printable (string &optional wrapper)
>      "Encode the STRING in such a way that the resulting octets are unlikely 
> to
>     be modified by mail transport.  Defined by RFC 2045.
>     If the optional argument WRAPPER is non-nil, decorate the resulting string
>     with =?charset?Q?....?=, as defined by RFC 2047."
>      (if wrapper
>        (rfc2047-encode-string string)
>        (rfc2045-quoted-printable-encode-string string)))
> 
> I do not know whether that is desired; I don't understand it.

I'll try to explain.

RFC 2045, among other things, defines quoted-printable encoding.

   The Quoted-Printable encoding is intended to represent data that
   largely consists of octets that correspond to printable characters in
   the US-ASCII character set.

RFC 2045 describes a mechanism for denoting textual body parts which
are coded in various character sets, as well as methods for encoding
such body parts as sequences of printable US-ASCII characters.

RFC 2047 defines similar techniques to allow the encoding of non-ASCII
text in various portions of a RFC 822 [2] message header, in a manner
which is unlikely to confuse existing message handling software.

Both techniques are used very often if you live outside of the US.


> It looks like you are talking about functions in Gnus;

These functions are currently implemented in Gnus, but they are
general MIME functions and are needed by Rmail or any other
MIME-related software.


>     Now, there are many other functions and constants which are
>     defined by some RFCs and I have implemented them in such a way:
> 
>     mime/
>       rfc2045.el (13 functions)
>       rfc2047.el (11 functions)
>       rfc2231.el (7 functions)
>       (some other less important files)
> 
> I do not understand what "such a way" means.  What way do you mean?

I propose to create a directory called "mime" in
"$EMACSROOT/lisp/mail" and put all MIME-related functionality in
there.

I further propose to group functions defined by RFCs (Request
For Comment) into corresponding files.  I have partly implemented
RFCs 2045, 2047 and 2231, but other will follow.

I ask you because I recall that you are opposed to creating new files
in the source tree.


> Are you saying you have written files with the same names as certain
> files in Gnus?

Exactly!  Once again, I propose that we move general-purpose MIME
functions out of lisp/gnus into lisp/mail/mime directory.

Are you OK with this?


> If that's what you mean, the simplest way to avoid conflict
> is to rename these functions, then add them to mail-utils.el
> or put them together in some other new file.  Why not?

Yes, we can put all MIME-related functions into mail-utils.el, but it
would be better to put them into a separate file (mime.el) or even a
separate directory (mime) with separate files implementing specific
RFCs, e.g. the file lisp/mail/mime/rfc2045.el contains functions
defined by RFC 2045.

Please choose and I will send a patch.


-- 
Alexander Pohoyda <address@hidden>
PGP Key fingerprint: 7F C9 CC 5A 75 CD 89 72  15 54 5F 62 20 23 C6 44




reply via email to

[Prev in Thread] Current Thread [Next in Thread]