Chris Hanson [Thu, 18 May 2000 05:18:01 +0000 (05:18 +0000)]
Fix a few bugs from the recent changes.
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 20:53:32 +0000 (20:53 +0000)]
First cut at implementation of summary buffers.
Chris Hanson [Wed, 17 May 2000 20:52:59 +0000 (20:52 +0000)]
Define special buffer properties so that SELECTED-FOLDER and
SELECTED-MESSAGE can work properly in buffers other than the folder
buffer.
Chris Hanson [Wed, 17 May 2000 20:52:21 +0000 (20:52 +0000)]
Implement MESSAGE-TIME.
Chris Hanson [Wed, 17 May 2000 19:24:09 +0000 (19:24 +0000)]
Define special buffer properties so that SELECTED-FOLDER and
SELECTED-MESSAGE can work properly in buffers other than the folder
buffer.
Chris Hanson [Wed, 17 May 2000 19:11:16 +0000 (19:11 +0000)]
Add PROPERTIES slot to all core objects, for use exclusively by the
front end.
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 18:37:29 +0000 (18:37 +0000)]
Fix typo.
Chris Hanson [Wed, 17 May 2000 17:54:47 +0000 (17:54 +0000)]
Eliminate compiler warning.
Chris Hanson [Wed, 17 May 2000 17:54:08 +0000 (17:54 +0000)]
Eliminate code to read RMAIL inbox.
Chris Hanson [Wed, 17 May 2000 17:52:42 +0000 (17:52 +0000)]
Implement M-x imail-get-new-mail.
Chris Hanson [Wed, 17 May 2000 17:31:26 +0000 (17:31 +0000)]
Implement M-x imail-get-new-mail.
Chris Hanson [Wed, 17 May 2000 17:30:59 +0000 (17:30 +0000)]
Implement PROBE-FOLDER.
Chris Hanson [Wed, 17 May 2000 17:20:14 +0000 (17:20 +0000)]
Set buffer default directory to something sensible.
Chris Hanson [Wed, 17 May 2000 17:18:19 +0000 (17:18 +0000)]
Generate predicate for file folders.
Chris Hanson [Wed, 17 May 2000 17:15:22 +0000 (17:15 +0000)]
Change definition of imail-kept-headers so that it specifies the order
of the headers as well.
Chris Hanson [Wed, 17 May 2000 17:06:53 +0000 (17:06 +0000)]
Set buffer not modified bit.
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 16:25:06 +0000 (16:25 +0000)]
Note regarding generation of status messages during I/O.
Chris Hanson [Wed, 17 May 2000 16:23:29 +0000 (16:23 +0000)]
Fix bug: expunging of IMAP messages wasn't renumbering the remaining
messages.
Chris Hanson [Wed, 17 May 2000 16:15:49 +0000 (16:15 +0000)]
Change method used to fetch message contents so that it uses UID FETCH
rather than FETCH.
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 [Wed, 17 May 2000 15:03:49 +0000 (15:03 +0000)]
Eliminate COPY-MESSAGE, which no longer worked.
Chris Hanson [Wed, 17 May 2000 13:41:08 +0000 (13:41 +0000)]
Fix bug: SELECTED-MESSAGE must not choose another message at random if
the buffer's message isn't valid.
Chris Hanson [Wed, 17 May 2000 13:33:04 +0000 (13:33 +0000)]
Fix two bugs associated with expunging of messages. This now seems to
work right.
Chris Hanson [Tue, 16 May 2000 22:07:38 +0000 (22:07 +0000)]
Reimplement growing and shrinking of messages vector.
Chris Hanson [Tue, 16 May 2000 22:00:54 +0000 (22:00 +0000)]
Set imail buffer directory to home directory for IMAP folders.
Chris Hanson [Tue, 16 May 2000 18:59:42 +0000 (18:59 +0000)]
Fix infinite recursion.
Chris Hanson [Tue, 16 May 2000 18:55:41 +0000 (18:55 +0000)]
Fix compilation errors.
Chris Hanson [Tue, 16 May 2000 15:15:14 +0000 (15:15 +0000)]
Generalize STRING->LINES and LINES->STRING.
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 [Tue, 16 May 2000 15:12:07 +0000 (15:12 +0000)]
Fix bug: M-x vc-version-other-window must default the version if the
user doesn't specify it.
Chris Hanson [Tue, 16 May 2000 14:44:39 +0000 (14:44 +0000)]
Define SET-STRING-MAXIMUM-LENGTH!.
Chris Hanson [Tue, 16 May 2000 04:14:42 +0000 (04:14 +0000)]
Implement MESSAGE-INTERNAL-TIME.
Chris Hanson [Tue, 16 May 2000 03:58:40 +0000 (03:58 +0000)]
Change INTERNALDATE FETCH response to return the time as universal
time.
Chris Hanson [Tue, 16 May 2000 03:37:00 +0000 (03:37 +0000)]
Signal "unimplemented" error if AVAILABLE-FOLDER-NAMES called on IMAP URL.
Chris Hanson [Tue, 16 May 2000 03:34:42 +0000 (03:34 +0000)]
Implement IMAP SEARCH-FOLDER operation.
Chris Hanson [Tue, 16 May 2000 03:13:43 +0000 (03:13 +0000)]
Implement all of the IMAP server operations except for
AVAILABLE-FOLDER-NAMES.
Chris Hanson [Tue, 16 May 2000 02:16:49 +0000 (02:16 +0000)]
Change implementation of IMAP URLs so that they are fully instantiated
at all times. This greatly simplifies comparison and caching.
Chris Hanson [Tue, 16 May 2000 01:46:42 +0000 (01:46 +0000)]
Rewrite IMAP URL parser to eliminate unused authentication component,
and to clarify the allowed partial forms.
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 [Mon, 15 May 2000 19:17:19 +0000 (19:17 +0000)]
Eliminate MOVE-FOLDER in favor of more-restricted RENAME-FOLDER. This
is a closer match to the capabilities of IMAP.
Chris Hanson [Mon, 15 May 2000 19:11:52 +0000 (19:11 +0000)]
Eliminate COPY-FOLDER.
Chris Hanson [Mon, 15 May 2000 19:08:47 +0000 (19:08 +0000)]
Eliminate message properties.
Chris Hanson [Mon, 15 May 2000 19:01:57 +0000 (19:01 +0000)]
Eliminate message properties.
Chris Hanson [Mon, 15 May 2000 18:19:46 +0000 (18:19 +0000)]
Add code to extract timestamp from unix from line.
Chris Hanson [Mon, 15 May 2000 18:15:36 +0000 (18:15 +0000)]
Add ability to specify the time zone in which a ctime() string is to
be interpreted.
Chris Hanson [Mon, 15 May 2000 18:14:45 +0000 (18:14 +0000)]
Add ability to specify the time zone in which a ctime() string is to
be interpreted.
Chris Hanson [Mon, 15 May 2000 17:51:25 +0000 (17:51 +0000)]
Use runtime system's built-in support for ISO C ctime() strings.
Chris Hanson [Mon, 15 May 2000 17:47:54 +0000 (17:47 +0000)]
Add support for parsing "Received" headers. Break out some
lower-level parsing code.
Chris Hanson [Mon, 15 May 2000 17:39:28 +0000 (17:39 +0000)]
Allow arbitrary whitespace in passed-in time strings.
Chris Hanson [Mon, 15 May 2000 16:45:57 +0000 (16:45 +0000)]
Changes to clarify IMAP COPY operation. Suggest using UID FETCH.
Mode-line enhancements.
Chris Hanson [Mon, 15 May 2000 12:54:18 +0000 (12:54 +0000)]
Fix typo in comment.
Chris Hanson [Sun, 14 May 2000 03:34:40 +0000 (03:34 +0000)]
Add note about need to move compressed-file I/O to the runtime system.
Chris Hanson [Sun, 14 May 2000 03:31:11 +0000 (03:31 +0000)]
Eliminate usage of FALSE and TRUE.
Chris Hanson [Sun, 14 May 2000 03:30:32 +0000 (03:30 +0000)]
Don't store subprocesses in a simple list -- use a GC finalizer so
that their resources are cleaned up if the subprocess objects are
dropped.
Chris Hanson [Fri, 12 May 2000 18:33:44 +0000 (18:33 +0000)]
Don't show special mode-line string if selected message is detached.
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 [Fri, 12 May 2000 18:00:56 +0000 (18:00 +0000)]
Eliminate unused parts of IMAP URL.
Chris Hanson [Fri, 12 May 2000 17:56:46 +0000 (17:56 +0000)]
Replace FOLDER-PRESENTATION-NAME with URL-PRESENTATION-NAME.
Chris Hanson [Thu, 11 May 2000 14:46:36 +0000 (14:46 +0000)]
Reorganize into major sections. Add several more items.
Chris Hanson [Thu, 11 May 2000 02:06:30 +0000 (02:06 +0000)]
Reorder items into rough prioritization.
Chris Hanson [Thu, 11 May 2000 02:04:34 +0000 (02:04 +0000)]
Add more suggestions.
Chris Hanson [Thu, 11 May 2000 00:48:06 +0000 (00:48 +0000)]
Move to-do notes to new file "todo.txt".
Chris Hanson [Wed, 10 May 2000 21:24:46 +0000 (21:24 +0000)]
Add code to do NOOP after FETCH if the desired results from the FETCH
aren't received.
Chris Hanson [Wed, 10 May 2000 20:45:58 +0000 (20:45 +0000)]
Fix overlong page.
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 [Wed, 10 May 2000 17:39:47 +0000 (17:39 +0000)]
Completely discard folder when imail buffer is killed.
Chris Hanson [Wed, 10 May 2000 17:27:55 +0000 (17:27 +0000)]
Implement DISCARD-FOLDER-CACHE for file folders.
Chris Hanson [Wed, 10 May 2000 17:23:29 +0000 (17:23 +0000)]
Fix off-by-one error.
Chris Hanson [Wed, 10 May 2000 17:05:24 +0000 (17:05 +0000)]
Fix bug: URLs weren't being properly memoized when created from
components rather than being translated from a string.
Chris Hanson [Wed, 10 May 2000 17:03:27 +0000 (17:03 +0000)]
Fix bug: URLs weren't being properly memoized when created from
components rather than being translated from a string.
Chris Hanson [Wed, 10 May 2000 17:01:34 +0000 (17:01 +0000)]
Add trace facility to allow watching the messages passing between the
client and server.
Chris Hanson [Wed, 10 May 2000 16:53:19 +0000 (16:53 +0000)]
Don't set message flags unless they have changed.
Chris Hanson [Mon, 8 May 2000 20:48:59 +0000 (20:48 +0000)]
In SET-IMAP-FOLDER-LENGTH!, when there are no messages in a folder, it
can be treated using the same strategy as when the folder is
synchronized.
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 20:32:50 +0000 (20:32 +0000)]
Fix typo.
Chris Hanson [Mon, 8 May 2000 20:07:27 +0000 (20:07 +0000)]
Fix typo in previous change.
Chris Hanson [Mon, 8 May 2000 19:55:55 +0000 (19:55 +0000)]
Fix thinko.
Chris Hanson [Mon, 8 May 2000 19:07:54 +0000 (19:07 +0000)]
Eliminate MAKE-ATTACHED-MESSAGE.
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!.
Chris Hanson [Mon, 8 May 2000 18:54:51 +0000 (18:54 +0000)]
Fix pagination.
Chris Hanson [Mon, 8 May 2000 18:54:05 +0000 (18:54 +0000)]
ATTACH-MESSAGE! must clear the message index.
Chris Hanson [Mon, 8 May 2000 18:51:48 +0000 (18:51 +0000)]
Rename DETACH-MESSAGE to DETACH-MESSAGE!.
Chris Hanson [Mon, 8 May 2000 18:50:38 +0000 (18:50 +0000)]
Define ATTACH-MESSAGE!.
Chris Hanson [Mon, 8 May 2000 17:55:56 +0000 (17:55 +0000)]
Use new command-suffix mechanism to delay mode-line updates to end of
command.
Chris Hanson [Mon, 8 May 2000 17:53:11 +0000 (17:53 +0000)]
Change command-suffix mechanism to allow suffixes to take arguments,
which are matched against by MAYBE-ADD-COMMAND-SUFFIX!.
Chris Hanson [Mon, 8 May 2000 17:34:51 +0000 (17:34 +0000)]
Add ability to specify "command suffixes" -- thunks that are executed
when the current command ends.
Chris Hanson [Mon, 8 May 2000 15:46:20 +0000 (15:46 +0000)]
Change handling of SELECTED-MESSAGE to ignore message if it is
detached or from the wrong folder, instead selecting default message
from current folder.
Chris Hanson [Mon, 8 May 2000 15:30:49 +0000 (15:30 +0000)]
Change handling of FIRST-UNSEEN-MESSAGE; ignore IMAP's UNSEEN response
as it is insufficiently constrained to be useful.
Chris Hanson [Mon, 8 May 2000 15:04:44 +0000 (15:04 +0000)]
Define IMAP:RESPONSE:FETCH-ATTRIBUTE-KEYWORDS.
Chris Hanson [Mon, 8 May 2000 15:04:01 +0000 (15:04 +0000)]
Rework handling of FETCH commands: any attributes that we care about
are now transparently stored directly into the appropriate message.
This allows for unsolicited FETCH responses from the server.
Chris Hanson [Mon, 8 May 2000 14:59:06 +0000 (14:59 +0000)]
Change LINES->HEADER-FIELDS to stop at a blank line, and to use memory
more efficiently.
Chris Hanson [Mon, 8 May 2000 14:53:09 +0000 (14:53 +0000)]
Implement NETWORK-STRING->LINES.
Chris Hanson [Mon, 8 May 2000 14:02:46 +0000 (14:02 +0000)]
Fix bug: FETCH response did not contain the message index as it is
supposed to.
Chris Hanson [Mon, 8 May 2000 13:56:40 +0000 (13:56 +0000)]
Fix bug: FETCH response did not contain the message index as it is
supposed to.