mit-scheme.git
24 years agoReexamine IMAIL operations and add checks to guarantee that the
Chris Hanson [Mon, 22 May 2000 19:29:43 +0000 (19:29 +0000)]
Reexamine IMAIL operations and add checks to guarantee that the
connection is always opened as needed.

24 years agoAdd code to detect when the connection has been dropped. This test is
Chris Hanson [Mon, 22 May 2000 19:16:47 +0000 (19:16 +0000)]
Add code to detect when the connection has been dropped.  This test is
performed by GUARANTEE-IMAP-CONNECTION-OPEN, and thus will be done at
the beginning of every IMAIL operation.  The code will transparently
close the connection and reopen it.  If a problem occurs during the
processing of the operation, an error will be signalled, as one would
expect.

24 years agoNotes regarding bugs having to do with completion prompting.
Chris Hanson [Mon, 22 May 2000 15:25:43 +0000 (15:25 +0000)]
Notes regarding bugs having to do with completion prompting.

24 years agoFix bug: transmission of literal not counting contents correctly.
Chris Hanson [Mon, 22 May 2000 15:25:20 +0000 (15:25 +0000)]
Fix bug: transmission of literal not counting contents correctly.

24 years agoFix bug: server continuation lines not being parsed correctly.
Chris Hanson [Mon, 22 May 2000 15:24:50 +0000 (15:24 +0000)]
Fix bug: server continuation lines not being parsed correctly.

24 years agoWrite M-x imail-copy-messages.
Chris Hanson [Mon, 22 May 2000 15:08:46 +0000 (15:08 +0000)]
Write M-x imail-copy-messages.

24 years agoFix bug in handling of flags to APPEND command.
Chris Hanson [Mon, 22 May 2000 15:08:12 +0000 (15:08 +0000)]
Fix bug in handling of flags to APPEND command.

24 years agoIgnore any received headers that don't parse correctly.
Chris Hanson [Mon, 22 May 2000 15:07:55 +0000 (15:07 +0000)]
Ignore any received headers that don't parse correctly.

24 years agoFix several bugs in the "received:" header parsing code.
Chris Hanson [Mon, 22 May 2000 14:50:50 +0000 (14:50 +0000)]
Fix several bugs in the "received:" header parsing code.

24 years agoWrite M-x imail-copy-messages.
Chris Hanson [Mon, 22 May 2000 14:50:30 +0000 (14:50 +0000)]
Write M-x imail-copy-messages.

24 years agoFix typo.
Chris Hanson [Mon, 22 May 2000 14:50:02 +0000 (14:50 +0000)]
Fix typo.

24 years agoIn APPEND-MESSAGE, create mailbox if append/copy causes error
Chris Hanson [Mon, 22 May 2000 13:52:41 +0000 (13:52 +0000)]
In APPEND-MESSAGE, create mailbox if append/copy causes error
containing TRYCREATE.

24 years agoImplement IMAIL-COPY-FOLDER, a tool to copy folders to and from an
Chris Hanson [Mon, 22 May 2000 13:36:29 +0000 (13:36 +0000)]
Implement IMAIL-COPY-FOLDER, a tool to copy folders to and from an
IMAIL server.

24 years agoCanonicalize the case of IMAP URLs, where possible without knowing
Chris Hanson [Mon, 22 May 2000 13:30:18 +0000 (13:30 +0000)]
Canonicalize the case of IMAP URLs, where possible without knowing
details of the server.

24 years agoUse explicit mechanism to link variables into the Edwin package, so
Chris Hanson [Mon, 22 May 2000 13:25:38 +0000 (13:25 +0000)]
Use explicit mechanism to link variables into the Edwin package, so
that IMAIL can be reloaded.

24 years agoEliminate FOLDER-VALID?, replacing it with the more sensible
Chris Hanson [Mon, 22 May 2000 04:01:58 +0000 (04:01 +0000)]
Eliminate FOLDER-VALID?, replacing it with the more sensible
URL-EXISTS?.

24 years agoGeneralize MOVE-RELATIVE to accept a raw command argument rather than
Chris Hanson [Mon, 22 May 2000 04:01:06 +0000 (04:01 +0000)]
Generalize MOVE-RELATIVE to accept a raw command argument rather than
a delta, and to do something sensible if there's no prefix argument.

24 years agoIn flag-modification commands, don't advance to next message unless a
Chris Hanson [Mon, 22 May 2000 03:55:22 +0000 (03:55 +0000)]
In flag-modification commands, don't advance to next message unless a
prefix argument is given.

24 years agoIMAIL-GET-DEFAULT-URL must never signal an error.
Chris Hanson [Mon, 22 May 2000 03:49:11 +0000 (03:49 +0000)]
IMAIL-GET-DEFAULT-URL must never signal an error.

24 years agoEliminate FOLDER-VALID?, replacing it with the more sensible
Chris Hanson [Mon, 22 May 2000 03:44:22 +0000 (03:44 +0000)]
Eliminate FOLDER-VALID?, replacing it with the more sensible
URL-EXISTS?.

24 years agoSuppress the IMAP port if it is the standard port.
Chris Hanson [Mon, 22 May 2000 03:43:39 +0000 (03:43 +0000)]
Suppress the IMAP port if it is the standard port.

24 years agoEliminate FOLDER-VALID?, replacing it with the more sensible
Chris Hanson [Mon, 22 May 2000 03:37:00 +0000 (03:37 +0000)]
Eliminate FOLDER-VALID?, replacing it with the more sensible
URL-EXISTS?.

24 years agoProvide inserted default strings to all URL prompts.
Chris Hanson [Mon, 22 May 2000 03:32:17 +0000 (03:32 +0000)]
Provide inserted default strings to all URL prompts.

24 years agoRestructure the URL completion code to clean it up a bit. Change the
Chris Hanson [Mon, 22 May 2000 03:01:30 +0000 (03:01 +0000)]
Restructure the URL completion code to clean it up a bit.  Change the
completer so that it doesn't do completion on URL protocols.  Instead,
if there isn't a protocol prefix on the string, it assumes the
protocol of the default URL, and completes the string relative to that
URL.

24 years agoImplement URL completion, and reimplement URL parsing to do sensible
Chris Hanson [Mon, 22 May 2000 02:17:58 +0000 (02:17 +0000)]
Implement URL completion, and reimplement URL parsing to do sensible
defaulting.  This implementation appears to work but has several minor
problems.

24 years agoFix typo and also type error.
Chris Hanson [Sun, 21 May 2000 00:03:32 +0000 (00:03 +0000)]
Fix typo and also type error.

24 years agoExport procedures for deconstructing LIST responses.
Chris Hanson [Sun, 21 May 2000 00:03:05 +0000 (00:03 +0000)]
Export procedures for deconstructing LIST responses.

24 years agoSupply missing STRING-GREATEST-COMMON-PREFIX, needed by completion code.
Chris Hanson [Sat, 20 May 2000 20:08:37 +0000 (20:08 +0000)]
Supply missing STRING-GREATEST-COMMON-PREFIX, needed by completion code.

24 years agoPathname completion filters now accept a pathname rather than a
Chris Hanson [Sat, 20 May 2000 19:39:20 +0000 (19:39 +0000)]
Pathname completion filters now accept a pathname rather than a
string.

24 years agoChange URL completion so that completion stops after completing a
Chris Hanson [Sat, 20 May 2000 19:37:03 +0000 (19:37 +0000)]
Change URL completion so that completion stops after completing a
protocol name, rather than continuing to complete the body.

24 years agoFix braino in pathname completion. Previous design would have
Chris Hanson [Sat, 20 May 2000 19:36:28 +0000 (19:36 +0000)]
Fix braino in pathname completion.  Previous design would have
recursively read every subdirectory of the given directory attempting
to enumerate files to present to the filter.  This design descends
exactly one level at a time, as it should.

24 years agoSplit off broken-pipe detection code. This has little effect now but
Chris Hanson [Sat, 20 May 2000 19:09:58 +0000 (19:09 +0000)]
Split off broken-pipe detection code.  This has little effect now but
will be useful later when I improve the error recovery.

24 years agoChange syscall name and error tables to lower case. These strings are
Chris Hanson [Sat, 20 May 2000 18:59:16 +0000 (18:59 +0000)]
Change syscall name and error tables to lower case.  These strings are
converted into symbols without case modification, and must be in the
correct case for the runtime system.

24 years agoFirst draft of URL completion mechanism. IMAP method not yet
Chris Hanson [Sat, 20 May 2000 03:24:31 +0000 (03:24 +0000)]
First draft of URL completion mechanism.  IMAP method not yet
implemented.

24 years agoReminder to move pathname-completion code into the runtime system.
Chris Hanson [Sat, 20 May 2000 03:23:32 +0000 (03:23 +0000)]
Reminder to move pathname-completion code into the runtime system.

24 years agoFirst draft of URL completion mechanism. IMAP method not yet
Chris Hanson [Sat, 20 May 2000 03:22:52 +0000 (03:22 +0000)]
First draft of URL completion mechanism.  IMAP method not yet
implemented.

24 years agoExport edwin commands, modes, and variables.
Chris Hanson [Fri, 19 May 2000 21:37:48 +0000 (21:37 +0000)]
Export edwin commands, modes, and variables.

24 years agoSummary-buffer navigation now fixed.
Chris Hanson [Fri, 19 May 2000 21:28:43 +0000 (21:28 +0000)]
Summary-buffer navigation now fixed.

24 years agoDefine MOVE-RELATIVE-ANY.
Chris Hanson [Fri, 19 May 2000 21:25:31 +0000 (21:25 +0000)]
Define MOVE-RELATIVE-ANY.

24 years agoChange flag-marking commands to accept a prefix argument to repeat with.
Chris Hanson [Fri, 19 May 2000 21:24:12 +0000 (21:24 +0000)]
Change flag-marking commands to accept a prefix argument to repeat with.

24 years agoM-x imail-expunge should not use the navigator abstraction.
Chris Hanson [Fri, 19 May 2000 21:12:14 +0000 (21:12 +0000)]
M-x imail-expunge should not use the navigator abstraction.

24 years agoFix bug: SELECT-MESSAGE event can be called with no message.
Chris Hanson [Fri, 19 May 2000 21:10:20 +0000 (21:10 +0000)]
Fix bug: SELECT-MESSAGE event can be called with no message.

24 years agoAssorted design changes.
Chris Hanson [Fri, 19 May 2000 21:03:53 +0000 (21:03 +0000)]
Assorted design changes.

24 years agoChange SET-MESSAGE-FLAGS! so that a folder event is generated when the
Chris Hanson [Fri, 19 May 2000 21:02:20 +0000 (21:02 +0000)]
Change SET-MESSAGE-FLAGS! so that a folder event is generated when the
flags are stored, rather than when the the storage request is
initiated.  IMAP can sometimes set the flags when no request has been
initiated.

24 years agoBind M-x imail-summary-by-flags to C-M-f rather than C-M-l.
Chris Hanson [Fri, 19 May 2000 20:57:56 +0000 (20:57 +0000)]
Bind M-x imail-summary-by-flags to C-M-f rather than C-M-l.

24 years agoUse new navigator abstraction to allow the summary buffer to share
Chris Hanson [Fri, 19 May 2000 20:57:29 +0000 (20:57 +0000)]
Use new navigator abstraction to allow the summary buffer to share
nearly all of the IMAIL mode commands.  Fix various bugs, both in
summary mode and in the navigator abstraction.

24 years agoUse UID STORE rather than STORE.
Chris Hanson [Fri, 19 May 2000 20:08:25 +0000 (20:08 +0000)]
Use UID STORE rather than STORE.

24 years agoFix thinko.
Chris Hanson [Fri, 19 May 2000 20:03:12 +0000 (20:03 +0000)]
Fix thinko.

24 years agoImplement navigation abstraction to allow the summary buffer to
Chris Hanson [Fri, 19 May 2000 18:21:01 +0000 (18:21 +0000)]
Implement navigation abstraction to allow the summary buffer to
properly share commands with the folder buffer.

24 years agoUse MOVE-RELATIVE for deletion and undeletion commands.
Chris Hanson [Fri, 19 May 2000 18:06:18 +0000 (18:06 +0000)]
Use MOVE-RELATIVE for deletion and undeletion commands.

24 years agoDefine generic BURST-COMMA-LIST-STRING.
Chris Hanson [Fri, 19 May 2000 17:52:40 +0000 (17:52 +0000)]
Define generic BURST-COMMA-LIST-STRING.

24 years agoShare flag-prompting code to summary buffer commands.
Chris Hanson [Fri, 19 May 2000 17:50:30 +0000 (17:50 +0000)]
Share flag-prompting code to summary buffer commands.

24 years agoDowngrade one suggestion to a feature.
Chris Hanson [Fri, 19 May 2000 17:29:50 +0000 (17:29 +0000)]
Downgrade one suggestion to a feature.

24 years agoUpdate for changes. Add note about command to copy entire folders.
Chris Hanson [Fri, 19 May 2000 17:29:03 +0000 (17:29 +0000)]
Update for changes.  Add note about command to copy entire folders.

24 years agoMore usability improvements.
Chris Hanson [Fri, 19 May 2000 17:26:24 +0000 (17:26 +0000)]
More usability improvements.

24 years agoShow several markers for common message flags, rather than just D for
Chris Hanson [Fri, 19 May 2000 17:04:31 +0000 (17:04 +0000)]
Show several markers for common message flags, rather than just D for
deleted.  Add space for a generic marker a la Dired.

24 years agoAdd range checking to the group delete and replace operations.
Chris Hanson [Fri, 19 May 2000 16:55:22 +0000 (16:55 +0000)]
Add range checking to the group delete and replace operations.

24 years agoVarious new ideas.
Chris Hanson [Fri, 19 May 2000 16:33:10 +0000 (16:33 +0000)]
Various new ideas.

24 years agoEliminate "edited" flag.
Chris Hanson [Fri, 19 May 2000 16:32:51 +0000 (16:32 +0000)]
Eliminate "edited" flag.

24 years agoNotes regarding presentation of standard flags in the summary buffer.
Chris Hanson [Fri, 19 May 2000 13:33:08 +0000 (13:33 +0000)]
Notes regarding presentation of standard flags in the summary buffer.

24 years agoNote bug with navigating partial summary buffers. Note that
Chris Hanson [Fri, 19 May 2000 05:04:43 +0000 (05:04 +0000)]
Note bug with navigating partial summary buffers.  Note that
%APPEND-MESSAGE must create the folder if it doesn't already exist.

24 years agoA number of usability improvements.
Chris Hanson [Fri, 19 May 2000 05:03:44 +0000 (05:03 +0000)]
A number of usability improvements.

24 years agoFix bug: SEARCH-FOLDER is supposed to return indices, but the IMAP
Chris Hanson [Fri, 19 May 2000 05:02:51 +0000 (05:02 +0000)]
Fix bug: SEARCH-FOLDER is supposed to return indices, but the IMAP
method was returning message objects.

24 years agoFix bug: IMAP SEARCH response is allowed to be empty; I was signalling
Chris Hanson [Fri, 19 May 2000 05:02:01 +0000 (05:02 +0000)]
Fix bug: IMAP SEARCH response is allowed to be empty; I was signalling
error in that case.

24 years agoNote regarding suboptimal password caching.
Chris Hanson [Fri, 19 May 2000 04:16:47 +0000 (04:16 +0000)]
Note regarding suboptimal password caching.

24 years agoRedesign handling of IMAP connections so that there can be multiple
Chris Hanson [Fri, 19 May 2000 04:16:16 +0000 (04:16 +0000)]
Redesign handling of IMAP connections so that there can be multiple
mailboxes simultaneously open on the same server.  Also provide
mechanism for getting connections for server operations such as CREATE
and DELETE.  Flush BIND-AUTHENTICATOR; just define a UI element to
generate a password.

24 years agoImplement MESSAGE->STRING.
Chris Hanson [Fri, 19 May 2000 03:20:46 +0000 (03:20 +0000)]
Implement MESSAGE->STRING.

24 years agoFix bug: READ-PFLAG was only reading flags that started with "\\".
Chris Hanson [Fri, 19 May 2000 02:43:49 +0000 (02:43 +0000)]
Fix bug: READ-PFLAG was only reading flags that started with "\\".

24 years agoReimplement low-level IMAP tracing code to be a complete transcript
Chris Hanson [Fri, 19 May 2000 02:42:58 +0000 (02:42 +0000)]
Reimplement low-level IMAP tracing code to be a complete transcript
mechanism.

24 years agoReimplement low-level IMAP tracing code to be a complete transcript
Chris Hanson [Fri, 19 May 2000 02:31:12 +0000 (02:31 +0000)]
Reimplement low-level IMAP tracing code to be a complete transcript
mechanism.

24 years agoImplement commands to create and delete folders. Put in special hack
Chris Hanson [Thu, 18 May 2000 22:11:16 +0000 (22:11 +0000)]
Implement commands to create and delete folders.  Put in special hack
to prepend "inbox." to folder names when using Cyrus.

24 years agoFlesh out the help text for IMAIL Summary mode. Tweak the column
Chris Hanson [Thu, 18 May 2000 21:27:59 +0000 (21:27 +0000)]
Flesh out the help text for IMAIL Summary mode.  Tweak the column
headings slightly.  Add imail-summary-mode-hook.

24 years agoAdd header line to summary buffer to indicate each column's meaning.
Chris Hanson [Thu, 18 May 2000 21:09:37 +0000 (21:09 +0000)]
Add header line to summary buffer to indicate each column's meaning.

24 years agoAdd indication of message's length to summary buffer.
Chris Hanson [Thu, 18 May 2000 20:55:05 +0000 (20:55 +0000)]
Add indication of message's length to summary buffer.

24 years agoImplement MESSAGE-LENGTH.
Chris Hanson [Thu, 18 May 2000 19:59:37 +0000 (19:59 +0000)]
Implement MESSAGE-LENGTH.

24 years agoAdd progress meter when reading very long message bodies.
Chris Hanson [Thu, 18 May 2000 19:53:30 +0000 (19:53 +0000)]
Add progress meter when reading very long message bodies.

24 years agoAdd hook for progress indicator to code that reads literals.
Chris Hanson [Thu, 18 May 2000 19:29:10 +0000 (19:29 +0000)]
Add hook for progress indicator to code that reads literals.

24 years agoChange background NOOP idea from bug fix to feature.
Chris Hanson [Thu, 18 May 2000 18:57:45 +0000 (18:57 +0000)]
Change background NOOP idea from bug fix to feature.

24 years agoNeed commands to create, delete, and rename folders.
Chris Hanson [Thu, 18 May 2000 18:56:58 +0000 (18:56 +0000)]
Need commands to create, delete, and rename folders.

24 years agoSummary browser now done. Need progress meter for long messages.
Chris Hanson [Thu, 18 May 2000 17:16:58 +0000 (17:16 +0000)]
Summary browser now done.  Need progress meter for long messages.

24 years agoAdditional round of debugging and expansion. This version seems to
Chris Hanson [Thu, 18 May 2000 17:16:28 +0000 (17:16 +0000)]
Additional round of debugging and expansion.  This version seems to
work pretty well.

24 years agoFix thinko.
Chris Hanson [Thu, 18 May 2000 17:14:18 +0000 (17:14 +0000)]
Fix thinko.

24 years agoChange message-deletion commands to take a repeat argument.
Chris Hanson [Thu, 18 May 2000 15:35:29 +0000 (15:35 +0000)]
Change message-deletion commands to take a repeat argument.

24 years agoResults of first round of serious debugging. The summary feature now
Chris Hanson [Thu, 18 May 2000 05:19:00 +0000 (05:19 +0000)]
Results of first round of serious debugging.  The summary feature now
appears to work almost right.  Some additional work remains.

24 years agoFix a few bugs from the recent changes.
Chris Hanson [Thu, 18 May 2000 05:18:01 +0000 (05:18 +0000)]
Fix a few bugs from the recent changes.

24 years agoExtensive work. First draft of code that uses new folder events to
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.

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.