+2000-04-26 Florian Weimer <fw@deneb.cygnus.argh.org>
+
+ * mm-bodies.el (mm-encode-body): Remove reference to
+ mm-default-charset in comment.
+
+2000-04-24 00:56:00 Björn Torkelsson <torkel@hpc2n.umu.se>
+
+ * rfc2047.el (rfc2047-encode-message-header): Fixing typo.
+
+2000-04-26 12:27:41 Shenghuo ZHU <zsh@cs.rochester.edu>
+
+ * gnus-draft.el (gnus-draft-send): Move gnus-draft-setup inside of
+ let.
+
+2000-04-26 12:26:10 Pavel Janik ml. <Pavel.Janik@inet.cz>
+
+ * gnus-draft.el (gnus-draft-setup): Fix comments.
+
+2000-04-26 10:06:12 Shenghuo ZHU <zsh@cs.rochester.edu>
+
+ * nnmbox.el (nnmbox-create-mbox): Use nnmbox-file-coding-system,
+ if nnmbox-file-coding-system-for-write is nil.
+
2000-04-26 02:17:44 Shenghuo ZHU <zsh@cs.rochester.edu>
* gnus-msg.el (gnus-configure-posting-styles): Just remove the
(defun gnus-draft-send (article &optional group interactive)
"Send message ARTICLE."
- (gnus-draft-setup-for-sending article (or group "nndraft:queue"))
(let ((message-syntax-checks (if interactive nil
'dont-check-for-anything-just-trust-me))
(message-inhibit-body-encoding (or (not group)
message-inhibit-body-encoding))
(message-send-hook (and group (not (equal group "nndraft:queue"))
message-send-hook))
- (message-setup-hook nil)
+ (message-setup-hook (and group (not (equal group "nndraft:queue"))
+ message-setup-hook))
type method)
+ (gnus-draft-setup-for-sending article (or group "nndraft:queue"))
;; We read the meta-information that says how and where
;; this message is to be sent.
(save-restriction
(erase-buffer)
(if (not (gnus-request-restore-buffer article group))
(error "Couldn't restore the article")
- ;; Insert the separator.
(funcall gnus-draft-decoding-function)
+ ;; Insert the separator.
(goto-char (point-min))
(search-forward "\n\n")
(forward-char -1)
If no encoding was done, nil is returned."
(if (not (featurep 'mule))
;; In the non-Mule case, we search for non-ASCII chars and
- ;; return the value of `mm-default-charset' if any are found.
+ ;; return the value of `mail-parse-charset' if any are found.
(save-excursion
(goto-char (point-min))
(if (re-search-forward "[^\x0-\x7f]" nil t)
(require 'mm-bodies)
(require 'mm-encode)
(require 'mm-decode)
+(eval-when-compile 'cl)
(eval-and-compile
(autoload 'message-make-message-id "message")
'list
(mm-delete-duplicates
(nconc
- (mapcar (lambda (m) (cdr m))
- mailcap-mime-extensions)
+ (mapcar 'cdr mailcap-mime-extensions)
(apply
'nconc
(mapcar
(defun nnmbox-create-mbox ()
(when (not (file-exists-p nnmbox-mbox-file))
(let ((nnmail-file-coding-system
- nnmbox-file-coding-system-for-write))
+ (or nnmbox-file-coding-system-for-write
+ nnmbox-file-coding-system)))
(nnmail-write-region 1 1 nnmbox-mbox-file t 'nomesg))))
(defun nnmbox-read-mbox ()
(t)))
(goto-char (point-max)))))
(when mail-parse-charset
- (encode-coding-region
+ (mm-encode-coding-region
(point-min) (point-max) mail-parse-charset))))
(defun rfc2047-encodable-p (&optional header)
;;; Commentary:
+;; Note: Now mail.yahoo.com provides POP3 service, the webmail
+;; fetching is not going to be supported.
+
;; Note: You need to have `url' and `w3' installed for this backend to
;; work. `w3' must be 4.0pre46+one-line-cookie patch or standalone
;; `url'.
+2000-04-26 Florian Weimer <fw@deneb.cygnus.argh.org>
+
+ * message.texi (Various Message Variables): Document
+ message-default-charset.
+
+ * emacs-mime.texi (Charset Translation): New section.
+
2000-04-26 02:30:06 Shenghuo ZHU <zsh@cs.rochester.edu>
* gnus.texi (Posting Styles): Addition.
* Simple MML Example:: An example MML document.
* MML Definition:: All valid MML elements.
* Advanced MML Example:: Another example MML document.
+* Charset Translation:: How charsets are mapped from @sc{mule} to MIME.
* Conversion:: Going from @sc{mime} to MML and vice versa.
@end menu
--=-=-=--
@end example
+@node Charset Translation
+@section Charset Translation
+@cindex charsets
+
+During translation from MML to @sc{mime}, for each @sc{mime} part which
+has been composed inside Emacs, an appropriate charset has to be chosen.
+
+@vindex mail-parse-charset
+If you are running a non-@sc{mule} Emacs, this process is simple: If the
+part contains any non-ASCII (8-bit) characters, the @sc{mime} charset
+given by @code{mail-parse-charset} (a symbol) is used. (Never set this
+variable directly, though. If you want to change the default charset,
+please consult the documentation of the package which you use to process
+@sc{mime} messages.
+@xref{Various Message Variables, , Various Message Variables, message,
+ Message Manual}, for example.)
+If there are only ASCII characters, the @sc{mime} charset US-ASCII is
+used, of course.
+
+@cindex MULE
+@cindex UTF-8
+@cindex Unicode
+@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 @sc{mime}
+charsets by consulting the variable @code{mm-mime-mule-charset-alist}.
+If this results in a single @sc{mime} charset, this is used to encode
+the part. But if the resulting list of @sc{mime} charsets contains more
+than one element, two things can happen: If it is possible to encode the
+part via UTF-8, this charset is used. (For this, Emacs must support
+the @code{utf-8} coding system, and the part must consist entirely of
+characters which have Unicode counterparts.) If UTF-8 is not available
+for some reason, the part is split into several ones, so that each one
+can be encoded with a single @sc{mime} charset. The part can only be
+split at line boundaries, though---if more than one @sc{mime} charset is
+required to encode a single line, it is not possible to encode the part.
@node Conversion
@section Conversion
@end lisp
@item webmail
-www.hotmail.com, mail.yahoo.com, www.netaddress.com, www.my-deja.com
-\e$(B$J$I$N%&%'%V%a!<%k%5!<%P!<$+$i%a!<%k$r<hF@$7$^$9!#\e(B
+www.hotmail.com, webmail.netscape.com, www.netaddress.com,
+www.my-deja.com \e$(B$J$I$N%&%'%V%a!<%k%5!<%P!<$+$i%a!<%k$r<hF@$7$^$9!#\e(B
-\e$(BCm\e(B: \e$(B%&%'%V%a!<%k$O\e(B w3 (url) \e$(B%Q%C%1!<%8$N%P!<%8%g%s\e(B "WWW 4.0pre.46
-1999/10/01" \e$(B$KBg$-$/0MB8$7$^$9!#$=$l0JA0$N$b$N$O$*$=$i$/F0:n$7$J$$$G$7$g\e(B
-\e$(B$&!#\e(B
+\e$(BCm\e(B: \e$(B8=:_\e(B mail.yahoo.com \e$(B$O\e(B POP3 \e$(B%5!<%S%9$rDs6!$7$F$$$^$9$N$G!"\e(B@sc{pop}
+\e$(B%a!<%k%=!<%9$r;H$&$N$,NI$$$N$G$O$J$$$G$7$g$&$+!#\e(B
+
+\e$(BCm\e(B: \e$(B%&%'%V%a!<%k$O%/%C%-!<$KBg$-$/0MB8$7$^$9!#\e(Burl "4.0pre.46" \e$(B$r;H$&>l9g\e(B
+\e$(B$O\e(B "one-line-cookie" \e$(B%Q%C%A$rEv$F$kI,MW$,$"$j$^$9!#\e(B
\e$(B7Y9p\e(B: \e$(B%a!<%k$,<:$o$l$k$+$b$7$l$^$;$s!#L5J]>Z$G$9!#\e(B
@table @code
@item :subtype
\e$(B%&%'%V%a!<%k%5!<%P!<$N7?$G$9!#=i4|CM$O\e(B @code{hotmail} \e$(B$G$9!#B>$N8uJd$O\e(B
-@code{yahoo}, @code{netaddress}, @code{my-deja} \e$(B$G$9!#\e(B
+@code{netscape}, @code{netaddress}, @code{my-deja} \e$(B$G$9!#\e(B
@item :user
\e$(B%&%'%V%a!<%k%5!<%P!<$NMxMQ<TL>$G$9!#=i4|CM$O%m%0%$%sL>$G$9!#\e(B
\e$(B%&%'%V%a!<%k$N%=!<%9$NNc$G$9\e(B:
@lisp
-(webmail :subtype 'yahoo :user "user-name" :password "secret")
+(webmail :subtype 'hotmail :user "user-name" :password "secret")
@end lisp
@end table
@end lisp
@item webmail
-Get mail from a webmail server, such as www.hotmail.com,
-mail.yahoo.com, www.netaddress.com and www.my-deja.com.
+Get mail from a webmail server, such as www.hotmail.com,
+webmail.netscape.com, www.netaddress.com, www.my-deja.com.
-NOTE: Webmail largely depends on w3 (url) package, whose version of "WWW
-4.0pre.46 1999/10/01" or previous ones may not work.
+NOTE: Now mail.yahoo.com provides POP3 service, so @sc{pop} mail source
+is suggested.
+
+NOTE: Webmail largely depends cookies. A "one-line-cookie" patch is
+required for url "4.0pre.46".
WARNING: Mails may lost. NO WARRANTY.
@table @code
@item :subtype
The type of the webmail server. The default is @code{hotmail}. The
-alternatives are @code{yahoo}, @code{netaddress}, @code{my-deja}.
+alternatives are @code{netscape}, @code{netaddress}, @code{my-deja}.
@item :user
The user name to give to the webmail server. The default is the login
An example webmail source:
@lisp
-(webmail :subtype 'yahoo :user "user-name" :password "secret")
+(webmail :subtype 'hotmail :user "user-name" :password "secret")
@end lisp
@end table
@section \e$B$$$m$$$m$J%a%C%;!<%8JQ?t\e(B
@table @code
+@c @item message-default-charset
+@c @vindex message-default-charset
+@c @cindex charset
+@c Symbol naming a @sc{mime} charset. Non-ASCII characters in messages are
+@c assumed to be encoded using this charset. The default is @code{nil},
+@c which means ask the user. (This variable is used only on non-@sc{mule}
+@c Emacsen.
+@c @xref{Charset Translation, , Charset Translation, emacs-mime,
+@c Emacs MIME Manual}, for details on the @sc{mule}-to-@sc{mime}
+@c translation process.
+@c
@item message-signature-separator
@vindex message-signature-separator
\e$B=pL>J,N%$K9gCW$9$k@55,I=8=$G$9!#=i4|CM$O\e(B @samp{^-- *$} \e$B$G$9!#\e(B
@section Various Message Variables
@table @code
+@item message-default-charset
+@vindex message-default-charset
+@cindex charset
+Symbol naming a @sc{mime} charset. Non-ASCII characters in messages are
+assumed to be encoded using this charset. The default is @code{nil},
+which means ask the user. (This variable is used only on non-@sc{mule}
+Emacsen.
+@xref{Charset Translation, , Charset Translation, emacs-mime,
+ Emacs MIME Manual}, for details on the @sc{mule}-to-@sc{mime}
+translation process.
+
@item message-signature-separator
@vindex message-signature-separator
Regexp matching the signature separator. It is @samp{^-- *$} by