Article View: gnu.emacs.bug
Article #1018bug in define-mail-alias
From: mjab
Date: Thu, 29 Sep 1988 18:15
Date: Thu, 29 Sep 1988 18:15
97 lines
3615 bytes
3615 bytes
Date: Wed, 21 Sep 88 18:34:20 EDT
From: rms@wheaties.ai.mit.edu (Richard Stallman)
The evidence available to me seems to say that spaces do separate
recipient names in mail aliases. So I won't change Emacs unless I get
clear evidence that they are not *supposed* to do so. Sorry.
....
Date: Fri, 23 Sep 88 17:11:02 EDT
From: rms@wheaties.ai.mit.edu (Richard Stallman)
Please take a look at rfc822.
It is not clear to me that rfc822 is the spec for the alias command.
Here is a little more information on why I think the current
behavior of emacs when building aliases is in error. While
rfc822 is not directly a spec for the alias command, it is a spec
for internet mail addresses. The purpose of aliases is to allow
me to use a short mnemonic name for one or more internet mail
aliases. It follows that if I say
alias friends valid-list-of-mail-addresses
I should be able to type
TO: friends
or
CC: friends
to have mail sent to the list of valid addresses. Since valid
internet addresses often contain whitespace (as specified in
rfc822), the emacs function define-mail-alias should respect the
whitespace in a valid addresse and not insert commas which turn a
single valid address into several invalid ones.
The following is the relevant excerpt from rfc822. Note that
address -> mailbox -> phrase route-addr -> phrase <[route] addr-spec>
It is the "phrase" which is being seen by emacs as addresses when
it should not be.
Standard for ARPA Internet Text Messages
6. ADDRESS SPECIFICATION
6.1. SYNTAX
address = mailbox ; one addressee
/ group ; named list
group = phrase ":" [#mailbox] ";"
mailbox = addr-spec ; simple address
/ phrase route-addr ; name & addr-spec
route-addr = "<" [route] addr-spec ">"
route = 1#("@" domain) ":" ; path-relative
addr-spec = local-part "@" domain ; global address
local-part = word *("." word) ; uninterpreted
; case-preserved
domain = sub-domain *("." sub-domain)
sub-domain = domain-ref / domain-literal
domain-ref = atom ; symbolic reference
Here, again, is my proposed definition for this function:
(defun define-mail-alias (name definition)
"Define NAME as a mail-alias that translates to DEFINITION."
(interactive "sDefine mail alias: \nsDefine %s as mail alias for: ")
;; Read the defaults first, if we have not done so.
(if (eq mail-aliases t)
(progn
(setq mail-aliases nil)
(if (file-exists-p "~/.mailrc")
(build-mail-aliases))))
;removed code wich mistakenly inserted commas -mjab Wed Sep 14 1988
(setq mail-aliases (cons (cons name definition) mail-aliases)))
=============================================
Michael J. A. Berrry
Internet: mjab@think.com
uucp: {harvard, ihnp4, seismo}!think!mjab
=============================================
Technical Details
Message-ID:
<8809291815.AA10511@medusa.think.com>Path:
arc1-ca.pugleaf.net!utzoo!utgpu!water!watmath!uunet!tut.cis.ohio-state.edu!THINK.COM!mjabReferences:
<8809232111.AA00920@sugar-bombs.ai.mit.edu>Show Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!utzoo!utgpu!water!watmath!uunet!tut.cis.ohio-state.edu!THINK.COM!mjab From: mjab@THINK.COM Newsgroups: gnu.emacs.bug Subject: bug in define-mail-alias Message-ID: <8809291815.AA10511@medusa.think.com> Date: 29 Sep 88 18:15:19 GMT References: <8809232111.AA00920@sugar-bombs.ai.mit.edu> Sender: daemon@tut.cis.ohio-state.edu Distribution: gnu Organization: GNUs Not Usenet Lines: 97