mit-scheme.git
24 years agoAdd folder event to signal selection of a message in the front end.
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.

24 years agoChange the way folder modification events are signalled. Now there
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).

24 years agoFirst cut at implementation of summary buffers.
Chris Hanson [Wed, 17 May 2000 20:53:32 +0000 (20:53 +0000)]
First cut at implementation of summary buffers.

24 years agoDefine special buffer properties so that SELECTED-FOLDER and
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.

24 years agoImplement MESSAGE-TIME.
Chris Hanson [Wed, 17 May 2000 20:52:21 +0000 (20:52 +0000)]
Implement MESSAGE-TIME.

24 years agoDefine special buffer properties so that SELECTED-FOLDER and
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.

24 years agoAdd PROPERTIES slot to all core objects, for use exclusively by the
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.

24 years agoSeveral changes that make IMAIL come up much faster with large
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.

24 years agoFix typo.
Chris Hanson [Wed, 17 May 2000 18:37:29 +0000 (18:37 +0000)]
Fix typo.

24 years agoEliminate compiler warning.
Chris Hanson [Wed, 17 May 2000 17:54:47 +0000 (17:54 +0000)]
Eliminate compiler warning.

24 years agoEliminate code to read RMAIL inbox.
Chris Hanson [Wed, 17 May 2000 17:54:08 +0000 (17:54 +0000)]
Eliminate code to read RMAIL inbox.

24 years agoImplement M-x imail-get-new-mail.
Chris Hanson [Wed, 17 May 2000 17:52:42 +0000 (17:52 +0000)]
Implement M-x imail-get-new-mail.

24 years agoImplement 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.

24 years agoImplement PROBE-FOLDER.
Chris Hanson [Wed, 17 May 2000 17:30:59 +0000 (17:30 +0000)]
Implement PROBE-FOLDER.

24 years agoSet buffer default directory to something sensible.
Chris Hanson [Wed, 17 May 2000 17:20:14 +0000 (17:20 +0000)]
Set buffer default directory to something sensible.

24 years agoGenerate predicate for file folders.
Chris Hanson [Wed, 17 May 2000 17:18:19 +0000 (17:18 +0000)]
Generate predicate for file folders.

24 years agoChange definition of imail-kept-headers so that it specifies the order
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.

24 years agoSet buffer not modified bit.
Chris Hanson [Wed, 17 May 2000 17:06:53 +0000 (17:06 +0000)]
Set buffer not modified bit.

24 years agoChange FIRST-UNSEEN-MESSAGE to return #F if there are no unseen
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.

24 years agoChange FIRST-UNSEEN-MESSAGE to return #F if there are no unseen
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.

24 years agoNote regarding generation of status messages during I/O.
Chris Hanson [Wed, 17 May 2000 16:25:06 +0000 (16:25 +0000)]
Note regarding generation of status messages during I/O.

24 years agoFix bug: expunging of IMAP messages wasn't renumbering the remaining
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.

24 years agoChange method used to fetch message contents so that it uses UID FETCH
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.

24 years agoImplement MESSAGE-ATTACHED? and MESSAGE-DETACHED?, to abstract the
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.

24 years agoEliminate COPY-MESSAGE, which no longer worked.
Chris Hanson [Wed, 17 May 2000 15:03:49 +0000 (15:03 +0000)]
Eliminate COPY-MESSAGE, which no longer worked.

24 years agoFix bug: SELECTED-MESSAGE must not choose another message at random if
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.

24 years agoFix two bugs associated with expunging of messages. This now seems to
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.

24 years agoReimplement growing and shrinking of messages vector.
Chris Hanson [Tue, 16 May 2000 22:07:38 +0000 (22:07 +0000)]
Reimplement growing and shrinking of messages vector.

24 years agoSet imail buffer directory to home directory for IMAP folders.
Chris Hanson [Tue, 16 May 2000 22:00:54 +0000 (22:00 +0000)]
Set imail buffer directory to home directory for IMAP folders.

24 years agoFix infinite recursion.
Chris Hanson [Tue, 16 May 2000 18:59:42 +0000 (18:59 +0000)]
Fix infinite recursion.

24 years agoFix compilation errors.
Chris Hanson [Tue, 16 May 2000 18:55:41 +0000 (18:55 +0000)]
Fix compilation errors.

24 years agoGeneralize STRING->LINES and LINES->STRING.
Chris Hanson [Tue, 16 May 2000 15:15:14 +0000 (15:15 +0000)]
Generalize STRING->LINES and LINES->STRING.

24 years agoDo network/scheme line-ending translation automatically when reading
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.

24 years agoFix bug: M-x vc-version-other-window must default the version if the
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.

24 years agoDefine SET-STRING-MAXIMUM-LENGTH!.
Chris Hanson [Tue, 16 May 2000 14:44:39 +0000 (14:44 +0000)]
Define SET-STRING-MAXIMUM-LENGTH!.

24 years agoImplement MESSAGE-INTERNAL-TIME.
Chris Hanson [Tue, 16 May 2000 04:14:42 +0000 (04:14 +0000)]
Implement MESSAGE-INTERNAL-TIME.

24 years agoChange INTERNALDATE FETCH response to return the time as universal
Chris Hanson [Tue, 16 May 2000 03:58:40 +0000 (03:58 +0000)]
Change INTERNALDATE FETCH response to return the time as universal
time.

24 years agoSignal "unimplemented" error if AVAILABLE-FOLDER-NAMES called on IMAP URL.
Chris Hanson [Tue, 16 May 2000 03:37:00 +0000 (03:37 +0000)]
Signal "unimplemented" error if AVAILABLE-FOLDER-NAMES called on IMAP URL.

24 years agoImplement IMAP SEARCH-FOLDER operation.
Chris Hanson [Tue, 16 May 2000 03:34:42 +0000 (03:34 +0000)]
Implement IMAP SEARCH-FOLDER operation.

24 years agoImplement all of the IMAP server operations except for
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.

24 years agoChange implementation of IMAP URLs so that they are fully instantiated
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.

24 years agoRewrite IMAP URL parser to eliminate unused authentication component,
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.

24 years agoRename NEW-FOLDER to CREATE-FOLDER, and change definition so that the
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.

24 years agoEliminate MOVE-FOLDER in favor of more-restricted RENAME-FOLDER. This
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.

24 years agoEliminate COPY-FOLDER.
Chris Hanson [Mon, 15 May 2000 19:11:52 +0000 (19:11 +0000)]
Eliminate COPY-FOLDER.

24 years agoEliminate message properties.
Chris Hanson [Mon, 15 May 2000 19:08:47 +0000 (19:08 +0000)]
Eliminate message properties.

24 years agoEliminate message properties.
Chris Hanson [Mon, 15 May 2000 19:01:57 +0000 (19:01 +0000)]
Eliminate message properties.

24 years agoAdd code to extract timestamp from unix from line.
Chris Hanson [Mon, 15 May 2000 18:19:46 +0000 (18:19 +0000)]
Add code to extract timestamp from unix from line.

24 years agoAdd ability to specify the time zone in which a ctime() string is to
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.

24 years agoAdd ability to specify the time zone in which a ctime() string is to
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.

24 years agoUse runtime system's built-in support for ISO C ctime() strings.
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.

24 years agoAdd support for parsing "Received" headers. Break out some
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.

24 years agoAllow arbitrary whitespace in passed-in time strings.
Chris Hanson [Mon, 15 May 2000 17:39:28 +0000 (17:39 +0000)]
Allow arbitrary whitespace in passed-in time strings.

24 years agoChanges to clarify IMAP COPY operation. Suggest using UID FETCH.
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.

24 years agoFix typo in comment.
Chris Hanson [Mon, 15 May 2000 12:54:18 +0000 (12:54 +0000)]
Fix typo in comment.

24 years agoAdd note about need to move compressed-file I/O to the runtime system.
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.

24 years agoEliminate usage of FALSE and TRUE.
Chris Hanson [Sun, 14 May 2000 03:31:11 +0000 (03:31 +0000)]
Eliminate usage of FALSE and TRUE.

24 years agoDon't store subprocesses in a simple list -- use a GC finalizer so
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.

24 years agoDon't show special mode-line string if selected message is detached.
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.

24 years agoChange APPEND-MESSAGE to accept arguments (MESSAGE URL) rather than
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.

24 years agoEliminate unused parts of IMAP URL.
Chris Hanson [Fri, 12 May 2000 18:00:56 +0000 (18:00 +0000)]
Eliminate unused parts of IMAP URL.

24 years agoReplace FOLDER-PRESENTATION-NAME with URL-PRESENTATION-NAME.
Chris Hanson [Fri, 12 May 2000 17:56:46 +0000 (17:56 +0000)]
Replace FOLDER-PRESENTATION-NAME with URL-PRESENTATION-NAME.

24 years agoReorganize into major sections. Add several more items.
Chris Hanson [Thu, 11 May 2000 14:46:36 +0000 (14:46 +0000)]
Reorganize into major sections.  Add several more items.

24 years agoReorder items into rough prioritization.
Chris Hanson [Thu, 11 May 2000 02:06:30 +0000 (02:06 +0000)]
Reorder items into rough prioritization.

24 years agoAdd more suggestions.
Chris Hanson [Thu, 11 May 2000 02:04:34 +0000 (02:04 +0000)]
Add more suggestions.

24 years agoMove to-do notes to new file "todo.txt".
Chris Hanson [Thu, 11 May 2000 00:48:06 +0000 (00:48 +0000)]
Move to-do notes to new file "todo.txt".

24 years agoAdd code to do NOOP after FETCH if the desired results from the FETCH
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.

24 years agoFix overlong page.
Chris Hanson [Wed, 10 May 2000 20:45:58 +0000 (20:45 +0000)]
Fix overlong page.

24 years agoAdd memoization for user's password. Password is stored in obscured
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.

24 years agoCompletely discard folder when imail buffer is killed.
Chris Hanson [Wed, 10 May 2000 17:39:47 +0000 (17:39 +0000)]
Completely discard folder when imail buffer is killed.

24 years agoImplement DISCARD-FOLDER-CACHE for file folders.
Chris Hanson [Wed, 10 May 2000 17:27:55 +0000 (17:27 +0000)]
Implement DISCARD-FOLDER-CACHE for file folders.

24 years agoFix off-by-one error.
Chris Hanson [Wed, 10 May 2000 17:23:29 +0000 (17:23 +0000)]
Fix off-by-one error.

24 years agoFix bug: URLs weren't being properly memoized when created from
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.

24 years agoFix bug: URLs weren't being properly memoized when created from
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.

24 years agoAdd trace facility to allow watching the messages passing between the
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.

24 years agoDon't set message flags unless they have changed.
Chris Hanson [Wed, 10 May 2000 16:53:19 +0000 (16:53 +0000)]
Don't set message flags unless they have changed.

24 years agoIn SET-IMAP-FOLDER-LENGTH!, when there are no messages in a folder, it
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.

24 years agoExtensive rewrite so that folders can be reopened. Added interrupt
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.

24 years agoFix typo.
Chris Hanson [Mon, 8 May 2000 20:32:50 +0000 (20:32 +0000)]
Fix typo.

24 years agoFix typo in previous change.
Chris Hanson [Mon, 8 May 2000 20:07:27 +0000 (20:07 +0000)]
Fix typo in previous change.

24 years agoFix thinko.
Chris Hanson [Mon, 8 May 2000 19:55:55 +0000 (19:55 +0000)]
Fix thinko.

24 years agoEliminate MAKE-ATTACHED-MESSAGE.
Chris Hanson [Mon, 8 May 2000 19:07:54 +0000 (19:07 +0000)]
Eliminate MAKE-ATTACHED-MESSAGE.

24 years agoEliminate ATTACH-MESSAGE. Change ATTACH-MESSAGE! to set the index as
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!.

24 years agoFix pagination.
Chris Hanson [Mon, 8 May 2000 18:54:51 +0000 (18:54 +0000)]
Fix pagination.

24 years agoATTACH-MESSAGE! must clear the message index.
Chris Hanson [Mon, 8 May 2000 18:54:05 +0000 (18:54 +0000)]
ATTACH-MESSAGE! must clear the message index.

24 years agoRename DETACH-MESSAGE to DETACH-MESSAGE!.
Chris Hanson [Mon, 8 May 2000 18:51:48 +0000 (18:51 +0000)]
Rename DETACH-MESSAGE to DETACH-MESSAGE!.

24 years agoDefine ATTACH-MESSAGE!.
Chris Hanson [Mon, 8 May 2000 18:50:38 +0000 (18:50 +0000)]
Define ATTACH-MESSAGE!.

24 years agoUse new command-suffix mechanism to delay mode-line updates to end of
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.

24 years agoChange command-suffix mechanism to allow suffixes to take arguments,
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!.

24 years agoAdd ability to specify "command suffixes" -- thunks that are executed
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.

24 years agoChange handling of SELECTED-MESSAGE to ignore message if it is
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.

24 years agoChange handling of FIRST-UNSEEN-MESSAGE; ignore IMAP's UNSEEN response
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.

24 years agoDefine IMAP:RESPONSE:FETCH-ATTRIBUTE-KEYWORDS.
Chris Hanson [Mon, 8 May 2000 15:04:44 +0000 (15:04 +0000)]
Define IMAP:RESPONSE:FETCH-ATTRIBUTE-KEYWORDS.

24 years agoRework handling of FETCH commands: any attributes that we care about
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.

24 years agoChange LINES->HEADER-FIELDS to stop at a blank line, and to use memory
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.

24 years agoImplement NETWORK-STRING->LINES.
Chris Hanson [Mon, 8 May 2000 14:53:09 +0000 (14:53 +0000)]
Implement NETWORK-STRING->LINES.

24 years agoFix bug: FETCH response did not contain the message index as it is
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.

24 years agoFix bug: FETCH response did not contain the message index as it is
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.

24 years agoInitial registration.
Chris Hanson [Mon, 8 May 2000 13:49:06 +0000 (13:49 +0000)]
Initial registration.

24 years agoMore intelligent handling of untagged responses, based on closer
Chris Hanson [Mon, 8 May 2000 04:31:01 +0000 (04:31 +0000)]
More intelligent handling of untagged responses, based on closer
reading of specification.  Add support for BADCHARSET and UIDNEXT
response codes.