Chris Hanson [Thu, 18 May 2000 04:21:21 +0000 (04:21 +0000)]
Extensive work. First draft of code that uses new folder events to
see what changes are occurring to the folder and reflecting that in
the summary buffer.
Chris Hanson [Thu, 18 May 2000 03:59:43 +0000 (03:59 +0000)]
Add folder event to signal selection of a message in the front end.
Unlike other folder events, this one doesn't update the folder's
modification count, so split of a procedure FOLDER-EVENT to handle
cases like this.
Chris Hanson [Thu, 18 May 2000 03:43:06 +0000 (03:43 +0000)]
Change the way folder modification events are signalled. Now there
are several different types of events, and each type has specific
parameters associated with it. The intent of this change is to allow
the front end to figure out what is happening in the back end and
reflect that to the user.
Also: eliminate MESSAGE-MODIFICATION-COUNT and eliminate a handful of
modification events that were not visible at the folder abstraction
boundary (events are now part of the abstraction boundary, and should
not reflect irrelevant internal state).
Chris Hanson [Wed, 17 May 2000 18:40:09 +0000 (18:40 +0000)]
Several changes that make IMAIL come up much faster with large
folders. First, we pay attention to the UNSEEN value, and delete
UNSEEN when expunges happen to avoid having an invalid value. Second,
we don't load headers for all the messages in advance; just their
UIDs, which is very fast.
This allows the mail reader to fetch just the information for the
first unseen message, which happens very quickly on a fast network
connection.
Chris Hanson [Wed, 17 May 2000 17:04:08 +0000 (17:04 +0000)]
Change FIRST-UNSEEN-MESSAGE to return #F if there are no unseen
messages; previously it returned the last message. Reexamine all of
the uses of FIRST-UNSEEN-MESSAGE and refine the logic there.
Chris Hanson [Wed, 17 May 2000 17:00:54 +0000 (17:00 +0000)]
Change FIRST-UNSEEN-MESSAGE to return #F if there are no unseen
messages; previously it returned the last message. Reexamine all of
the uses of FIRST-UNSEEN-MESSAGE and refine the logic there.
Chris Hanson [Wed, 17 May 2000 15:46:57 +0000 (15:46 +0000)]
Implement MESSAGE-ATTACHED? and MESSAGE-DETACHED?, to abstract the
details of this query. Refine the method used to obtain the selected
message, by saving the message index when a message is detached, and
using that index to choose a new message.
Chris Hanson [Tue, 16 May 2000 15:14:17 +0000 (15:14 +0000)]
Do network/scheme line-ending translation automatically when reading
and writing literals. We shouldn't need to worry about binary data in
mail messages.
Chris Hanson [Mon, 15 May 2000 19:20:58 +0000 (19:20 +0000)]
Rename NEW-FOLDER to CREATE-FOLDER, and change definition so that the
new folder object is _not_ returned. This is more in line with
capabilities of IMAP.
Chris Hanson [Fri, 12 May 2000 18:23:05 +0000 (18:23 +0000)]
Change APPEND-MESSAGE to accept arguments (MESSAGE URL) rather than
(FOLDER MESSAGE) as currently. There's no need to have the folder
open to append a message to it, and this requirement causes problems
for the IMAP back end.
Chris Hanson [Wed, 10 May 2000 20:39:33 +0000 (20:39 +0000)]
Add memoization for user's password. Password is stored in obscured
form so that it won't be stumbled over (is there a better way to do
this?). Add code to detect when the connection is broken.
Chris Hanson [Mon, 8 May 2000 20:38:12 +0000 (20:38 +0000)]
Extensive rewrite so that folders can be reopened. Added interrupt
locking in many critical locations to guarantee atomicity. Cleaned up
code that sets folder and message attributes based on incoming
responses from the server.
Chris Hanson [Mon, 8 May 2000 19:02:58 +0000 (19:02 +0000)]
Eliminate ATTACH-MESSAGE. Change ATTACH-MESSAGE! to set the index as
well as the folder. Change ATTACH-MESSAGE! and DETACH-MESSAGE! to do
MESSAGE-MODIFIED!.