Mercurial > hg > xemacs-beta
changeset 2768:feeb145e30f4
[xemacs-hg @ 2005-05-10 17:35:57 by aidan]
Warn that sendmail-user-agent sucks, on first use, but stick to using it.
author | aidan |
---|---|
date | Tue, 10 May 2005 17:36:05 +0000 |
parents | 61af3ea9da02 |
children | 640e02d61e7f |
files | lisp/ChangeLog lisp/menubar-items.el lisp/simple.el man/ChangeLog man/xemacs/sending.texi |
diffstat | 5 files changed, 104 insertions(+), 7 deletions(-) [+] |
line wrap: on
line diff
--- a/lisp/ChangeLog Tue May 10 17:21:54 2005 +0000 +++ b/lisp/ChangeLog Tue May 10 17:36:05 2005 +0000 @@ -1,3 +1,18 @@ +2005-05-10 Aidan Kehoe <kehoea@parhasard.net> + + * menubar-items.el (default-menubar): + * simple.el: + * simple.el (mail-user-agent): + * simple.el (vm-user-agent): + * simple.el ('vm-user-agent): New. + * simple.el (xemacs-default-composefunc): New. + * simple.el (xemacs-default-sendfunc): New. + * simple.el ('xemacs-default-mail-user-agent): New. + Update the docstring for mail-user-agent to mention VM; default to + sendmail-user-agent, but on first use, give a huge warning that it + is underfeatured and not likely to get better in the medium term, + and the user should choose another mail client. + 2005-05-10 Aidan Kehoe <kehoea@parhasard.net> * x-init.el (x-initialize-keyboard): Give info about any unbound
--- a/lisp/menubar-items.el Tue May 10 17:21:54 2005 +0000 +++ b/lisp/menubar-items.el Tue May 10 17:36:05 2005 +0000 @@ -886,7 +886,12 @@ :active (boundp 'ps-print-color-p)]) ("%_Internet" ("%_Compose Mail With" - ["Default Emacs Mailer" + ["VM mail package" + (customize-set-variable 'mail-user-agent 'vm-user-agent) + :style radio + :selected (eq mail-user-agent 'vm-user-agent) + :active (get 'vm-user-agent 'composefunc)] + ["Bare-bones Emacs Mailer" (customize-set-variable 'mail-user-agent 'sendmail-user-agent) :style radio :selected (eq mail-user-agent 'sendmail-user-agent)]
--- a/lisp/simple.el Tue May 10 17:21:54 2005 +0000 +++ b/lisp/simple.el Tue May 10 17:36:05 2005 +0000 @@ -3306,16 +3306,20 @@ ;; BEGIN SYNCHED WITH FSF 21.2. -(defcustom mail-user-agent 'sendmail-user-agent +(defcustom mail-user-agent 'xemacs-default-mail-user-agent "*Your preference for a mail composition package. Various Emacs Lisp packages (e.g. Reporter) require you to compose an outgoing email message. This variable lets you specify which mail-sending package you prefer. -Valid values include: - - `sendmail-user-agent' -- use the default Emacs Mail package. - See Info node `(emacs)Sending Mail'. +Valid values may include: + + `vm-user-agent' -- use Kyle Jones' VM, as documented in the `(vm)' + Info node. Compatible with `sendmail-user-agent' + and can handle attachments and non-ASCII content, + which the former can't. + `sendmail-user-agent' -- use the default, bare-bones, Emacs Mail + package. See Info node `(xemacs)Sending Mail'. `mh-e-user-agent' -- use the Emacs interface to the MH mail system. See Info node `(mh-e)'. `message-user-agent' -- use the Gnus Message package. @@ -3324,12 +3328,22 @@ paraphernalia, particularly the Gcc: header for archiving. +If you examine the value of this variable before setting it or composing a +mail, it will have another value, `xemacs-default-mail-user-agent'--this is to +allow XEmacs to suggest that you use another email client instead of +`sendmail-user-agent'. The latter, while part of the base XEmacs Lisp code, +and very lightweight, doesn't support MIME, a considerable disadvantage +today. + Additional valid symbols may be available; check with the author of your package for details. The function should return non-nil if it succeeds. See also `read-mail-command' concerning reading mail." - :type '(radio (function-item :tag "Default Emacs mail" + :type '(radio (function-item :tag "VM mail package" + :format "%t\n" + vm-user-agent) + (function-item :tag "Bare-bones Emacs mail" :format "%t\n" sendmail-user-agent) (function-item :tag "Emacs interface to MH" @@ -3379,9 +3393,58 @@ (put symbol 'abortfunc (or abortfunc 'kill-buffer)) (put symbol 'hookvar (or hookvar 'mail-send-hook))) +(define-mail-user-agent 'vm-user-agent + 'vm-compose-mail + 'vm-mail-send-and-exit) + (define-mail-user-agent 'sendmail-user-agent 'sendmail-user-agent-compose 'mail-send-and-exit) +;; Recent GNU sendmail.el does have MIME support, but it's buggy (as of +;; 2005-05-01.) For example, if you FCC to a file more than once with +;; different coding systems, your non-ASCII data will get +;; trashed. quoted-printable encoding isn't done by default, attachments +;; just add a line: +;; +;; ===File /path/to/file/here================= +;; +;; the file's contents, +;; +;; =========================================== +;; +;; and hope for the best. Not code we want to use, IMO. + +(defun xemacs-default-composefunc (&rest args) + "Warn that the default mail-reading package is heinously underfeatured; +compose a mail using it, all the same. " + (warn " + +Defaulting to the GNU Emacs-derived `sendmail.el' mail client. This facility, +while part of base XEmacs, is heinously underfeatured, and not going to get +better in the medium term. We include it so that bug reports work without +packages; we suggest that you choose and/or install one of the other mail +clients from packages if you're doing something other than M-x +report-xemacs-bug , or even if you are reporting bugs regularly. + +To choose a package from those installed, click on \"Options\" -> +\"Internet\" -> \"Compose Mail With ...\" and decide on one from the +list. Gnus and VM are full-featured and have active user communities. + +To disable this warning and stick with the old behavior, you can explicitly +initialize `mail-user-agent' to 'sendmail-user-agent . ") + (setq mail-user-agent 'sendmail-user-agent) + (apply (get 'sendmail-user-agent 'composefunc) args)) + + +(defun xemacs-default-sendfunc (&rest args) + "Set `mail-user-agent' to `sendmail-user-agent'; call the send function +associated with that package, passing it the supplied arguments. " + (setq mail-user-agent 'sendmail-user-agent) + (apply (get 'sendmail-user-agent 'sendfunc) args)) + +(define-mail-user-agent 'xemacs-default-mail-user-agent + 'xemacs-default-composefunc 'xemacs-default-sendfunc) + (define-mail-user-agent 'message-user-agent 'message-mail 'message-send-and-exit 'message-kill-buffer 'message-send-hook)
--- a/man/ChangeLog Tue May 10 17:21:54 2005 +0000 +++ b/man/ChangeLog Tue May 10 17:36:05 2005 +0000 @@ -1,3 +1,9 @@ +2005-05-10 Aidan Kehoe <kehoea@parhasard.net> + + * xemacs/sending.texi (Sending Mail):Document that sendmail.el is + underfeatured and not getting better anytime soon; suggest using + another mailer. + 2005-05-05 Aidan Kehoe <kehoea@parhasard.net> * xemacs/building.texi (Lisp Modes):
--- a/man/xemacs/sending.texi Tue May 10 17:21:54 2005 +0000 +++ b/man/xemacs/sending.texi Tue May 10 17:36:05 2005 +0000 @@ -40,6 +40,14 @@ @kbd{C-u C-x m} is another way to switch back to a message in progress: it will search for an existing, unsent mail message buffer and select it. +Beware that this email client was inherited from GNU Emacs and is very +underfeatured; its support for MIME attachments and writing non-ASCII +content to files without trashing data is weak to nonexistent. There +exist excellent, full-featured email clients in @xref{Packages}, notably +VM @pxref{(vm)} and Gnus @pxref{(gnus)}---the XEmacs developers +recommend that you choose one of them, and at most use this mail client +for reporting simple bugs, the reason we include it. + @menu * Format: Mail Format. Format of the mail being composed. * Headers: Mail Headers. Details of allowed mail header fields.