Subject: change coming to address lists

From: Mark Crispin <[email-masked]>
Date: Fri, 19 Mar 1993 00:51:30 -0800 (PST)

A change is forthcoming to address lists in IMAP, and the corresponding
structures in c-client, to provide a more useful representation of the
envelope data for Pine.  This change is largely upwards-compatible, but it may
trip up some unprepared software.  My ms and MailManager applications were.

Because of its possible consequences, these changes will not appear until
version 3.0 of the IMAP toolkit, so 2.4 is frozen as it stands now.  I don't
plan on releasing 3.0 of the IMAP toolkit until after the next release of Pine
is released.

The change makes it possible for an address structure to have a NIL host name
and mailbox name.  This is being used to support group syntax.  An address
structure with a non-NIL mailbox name but a NIL host name indicates the start
of a group; one with both NIL indicates the end of a group.  For example, the
address list:
	To: Friends: Bob@FOO, Lisa@Bar;, Romans: Julius@CAESAR;, Joe@GARP
will now be structured in IMAP as:
	((NIL NIL Friends NIL)
	 (NIL NIL Bob FOO)
	 (NIL NIL Lisa Bar)
	 (NIL NIL NIL NIL)
	 (NIL NIL Romans NIL)
	 (NIL NIL Julius CAESAR)
	 (NIL NIL NIL NIL)
	 (NIL NIL Joe GARP))
Previously, it was:
	((NIL NIL Bob FOO)
	 (NIL NIL Lisa Bar)
	 (NIL NIL Julius CAESAR)
	 (NIL NIL Joe GARP))
that is, the group information was ignored.

More changes of this sort are likely in the near future to introduce netnews
newsgroups.  c-client software which religiously use c-client's routines will
upgrade automatically on a relink.  [ms and MailManager didn't, but they do
now!]

Implementors of c-client based software should look for cases where their
program outputs data from an ADDRESS structure (as opposed to calling the
routines in c-client).  IMAP implementors should look for cases where they
assume the mailbox or host name are non-NIL.

-- Mark --