Chris Hanson [Tue, 26 Jun 2001 18:52:35 +0000 (18:52 +0000)]
Fix problem with optimizer: needed to add notion of default rules that
are used when a more specific pattern isn't available. Also,
generalize OPTIMIZE-GROUP-EXPRESSION so that it can be used by
VECTOR-APPEND.
Chris Hanson [Tue, 26 Jun 2001 18:51:33 +0000 (18:51 +0000)]
Add missing bindings.
Chris Hanson [Tue, 26 Jun 2001 18:51:22 +0000 (18:51 +0000)]
Initial revision.
Chris Hanson [Tue, 26 Jun 2001 18:03:26 +0000 (18:03 +0000)]
Initial revision.
Chris Hanson [Mon, 18 Jun 2001 04:18:25 +0000 (04:18 +0000)]
Define SCHEME-INDENT-METHOD to simplify definition of indentation.
Chris Hanson [Sat, 16 Jun 2001 04:12:02 +0000 (04:12 +0000)]
Don't attempt to set arbitrary flags unless the server says it's OK.
Chris Hanson [Fri, 15 Jun 2001 21:20:53 +0000 (21:20 +0000)]
Fix bug: regular-expression compiler is breaking the character-set
abstraction.
Chris Hanson [Fri, 15 Jun 2001 20:38:51 +0000 (20:38 +0000)]
Change representation of character sets so that they do not satisfy
STRING?. Unfortunately, this requires a complete recompilation of the
system, since the primitives SUBSTRING-FIND-NEXT-CHAR-IN-SET and
SUBSTRING-FIND-PREVIOUS-CHAR-IN-SET were being hard-coded by the
syntaxer.
Chris Hanson [Fri, 15 Jun 2001 20:36:18 +0000 (20:36 +0000)]
Don't integrate the primitives SUBSTRING-FIND-NEXT-CHAR-IN-SET and
SUBSTRING-FIND-PREVIOUS-CHAR-IN-SET.
Chris Hanson [Tue, 12 Jun 2001 01:05:44 +0000 (01:05 +0000)]
Start the folder-probe thread only when the folder is ONLINE, and stop
the thread when the folder is OFFLINE. Make sure that the buffer is
disassociated from it's folder when the buffer is killed.
Chris Hanson [Tue, 12 Jun 2001 00:58:15 +0000 (00:58 +0000)]
Start the folder-probe thread only when the folder is ONLINE, and stop
the thread when the folder is OFFLINE. Make sure that the buffer is
disassociated from it's folder when the buffer is killed.
Chris Hanson [Tue, 12 Jun 2001 00:47:39 +0000 (00:47 +0000)]
Change OPEN-RESOURCE and CLOSE-RESOURCE so that all of their behavior
is pushed down into the type-dependent modules. (Previously, they had
some type-independent code.) This, plus one explicit call, now means
that the STATUS modification event is now consistently signalled
whenever the connection status changes.
Chris Hanson [Sat, 9 Jun 2001 00:34:58 +0000 (00:34 +0000)]
Forgot to export HANDLE-SUBPROCESS-STATUS-CHANGE to the socket code.
Chris Hanson [Sat, 9 Jun 2001 00:30:38 +0000 (00:30 +0000)]
INPUT-BUFFER/READ-SUBSTRING must use generic arithmetic for indexes
into the substring, because it might be an xstring that is larger than
the fixnum range.
Chris Hanson [Sat, 9 Jun 2001 00:29:48 +0000 (00:29 +0000)]
READ-SUBSTRING! can return less than the requested number of bytes.
Deal with it.
Chris Hanson [Thu, 7 Jun 2001 17:48:19 +0000 (17:48 +0000)]
VC's state is wiped out when the workfile's buffer has it's mode
changed. Use new event EVENT:SET-BUFFER-MAJOR-MODE to reset it at
that time.
Chris Hanson [Thu, 7 Jun 2001 17:45:01 +0000 (17:45 +0000)]
LOAD-FIND-FILE-INITIALIZATION must be re-run when the buffer's
pathname or major mode is changed.
Chris Hanson [Thu, 7 Jun 2001 17:44:21 +0000 (17:44 +0000)]
VC's state is wiped out when the workfile's buffer has it's mode
changed. Use new event EVENT:SET-BUFFER-MAJOR-MODE to reset it at
that time.
Chris Hanson [Thu, 7 Jun 2001 17:43:21 +0000 (17:43 +0000)]
Add new event EVENT:SET-BUFFER-MAJOR-MODE.
Chris Hanson [Tue, 5 Jun 2001 02:46:59 +0000 (02:46 +0000)]
Fix bug: TCP-SERVER-CONNECTION-ACCEPT was blocking on the server
socket, rather than registering it for management by select.
Chris Hanson [Mon, 4 Jun 2001 19:26:33 +0000 (19:26 +0000)]
When reverting buffer, preserve selected resource, marked resources,
and expanded containers. When initializing buffer, select first
resource line.
Chris Hanson [Mon, 4 Jun 2001 19:25:11 +0000 (19:25 +0000)]
Select first unseen message when invoking M-x imail on a folder that
is already online.
Chris Hanson [Mon, 4 Jun 2001 17:42:49 +0000 (17:42 +0000)]
Rename commands to match current Dired usage.
Chris Hanson [Mon, 4 Jun 2001 17:42:30 +0000 (17:42 +0000)]
Simplify usage of COPY-FOLDER.
Chris Hanson [Mon, 4 Jun 2001 17:40:38 +0000 (17:40 +0000)]
More new notes.
Chris Hanson [Mon, 4 Jun 2001 17:40:15 +0000 (17:40 +0000)]
Implement M-x imail-browser-do-copy. Consolidate code used for copy
and rename. Write documentation strings for all commands and for the
major mode.
Chris Hanson [Mon, 4 Jun 2001 17:39:08 +0000 (17:39 +0000)]
Simplify usage of COPY-FOLDER.
Chris Hanson [Mon, 4 Jun 2001 17:38:50 +0000 (17:38 +0000)]
Implement WITH-OPEN-RESOURCE.
Chris Hanson [Mon, 4 Jun 2001 17:12:33 +0000 (17:12 +0000)]
Fix minor wording problem in documentation string.
Chris Hanson [Sun, 3 Jun 2001 06:03:47 +0000 (06:03 +0000)]
Change commands used to enter browser. Now the primary command is M-x
imail-browser-view-container (bound to ^ in all IMAIL buffers), which
browses the container of the resource being viewed in the current
buffer. This command will prompt for a container URL if given a
prefix argument.
Chris Hanson [Sun, 3 Jun 2001 06:00:18 +0000 (06:00 +0000)]
Fix bug: the container URL "imap://localhost/" had an associated
"folder" URL with the same string representation. This confused the
URL interning mechanism, which uses the string rep as the key.
Consequently only one of the URLs existed. Now, the "folder" is
represented by "imap://localhost".
Chris Hanson [Sun, 3 Jun 2001 01:48:32 +0000 (01:48 +0000)]
When processing marked files in a Dired buffer, update screens after
each file is processed so that the mark is appropriately removed.
Chris Hanson [Sun, 3 Jun 2001 01:42:40 +0000 (01:42 +0000)]
Change CLOSE-RESOURCE so that second argument is required rather than
optional.
Chris Hanson [Sun, 3 Jun 2001 01:41:49 +0000 (01:41 +0000)]
Associate a connection with an open IMAP container. Add code to
browser to guarantee that the resource is closed at appropriate times.
Chris Hanson [Sun, 3 Jun 2001 01:23:54 +0000 (01:23 +0000)]
*** empty log message ***
Chris Hanson [Sun, 3 Jun 2001 01:23:45 +0000 (01:23 +0000)]
Change M-x imail-quit to use the new NO-DEFER? argument to
CLOSE-RESOURCE.
Chris Hanson [Sun, 3 Jun 2001 01:22:54 +0000 (01:22 +0000)]
Add optional argument NO-DEFER? to CLOSE-RESOURCE. If this argument
is true, it tells the operation that the resource must be closed
immediately. Otherwise, the operation may defer the closure.
Chris Hanson [Sat, 2 Jun 2001 22:30:07 +0000 (22:30 +0000)]
Add a few notes.
Chris Hanson [Sat, 2 Jun 2001 22:28:49 +0000 (22:28 +0000)]
Add commented-out stubs for commands to do file linking.
Chris Hanson [Sat, 2 Jun 2001 22:25:38 +0000 (22:25 +0000)]
Add logic to GET-X-DISPLAY to test for existence of X primitives, and
to make sure that a display variable exists. This is necessary so
that Edwin will work on a system that doesn't have X support.
Chris Hanson [Sat, 2 Jun 2001 21:57:16 +0000 (21:57 +0000)]
PROMPT-FOR-DIRECTORY should not always perform PATHNAME-AS-DIRECTORY
on its result; if the REQUIRE-MATCH? option isn't given, the result
might not be a directory. For example, Dired uses this prompt, and an
input with a wildcard file part is permissible.
Chris Hanson [Sat, 2 Jun 2001 21:50:06 +0000 (21:50 +0000)]
Update doc string for dired-do-copy to match Emacs.
Chris Hanson [Sat, 2 Jun 2001 16:51:01 +0000 (16:51 +0000)]
Eliminate variable dired-copy-preserve-time which wasn't doing anything.
Chris Hanson [Sat, 2 Jun 2001 15:39:02 +0000 (15:39 +0000)]
New procedures HARD-LINK-FILE and SOFT-LINK-FILE.
Chris Hanson [Sat, 2 Jun 2001 15:33:04 +0000 (15:33 +0000)]
New procedures HARD-LINK-FILE and SOFT-LINK-FILE.
Chris Hanson [Sat, 2 Jun 2001 15:30:43 +0000 (15:30 +0000)]
New procedures HARD-LINK-FILE and SOFT-LINK-FILE.
Chris Hanson [Sat, 2 Jun 2001 05:55:51 +0000 (05:55 +0000)]
Implement marked files for D and R commands (stub for C command needs
to be written). Change name of x command to M-x
imail-browser-do-flagged-delete to correspond to new name given
corresponding Emacs dired command.
Chris Hanson [Sat, 2 Jun 2001 05:50:19 +0000 (05:50 +0000)]
In M-x imail-rename-folder and M-x imail-copy-folder, allow user to
specify a container for the target.
Chris Hanson [Sat, 2 Jun 2001 05:43:12 +0000 (05:43 +0000)]
Add new procedure PROMPT-FOR-URL.
Chris Hanson [Sat, 2 Jun 2001 01:26:39 +0000 (01:26 +0000)]
Add optional HOST argument to OPEN-TCP-SERVER-SOCKET, and new
procedures HOST-ADDRESS-ANY and HOST-ADDRESS-LOOPBACK. This allows
the user to specify the network interface(s) being listened to.
Chris Hanson [Sat, 2 Jun 2001 01:25:00 +0000 (01:25 +0000)]
Provide missing htonl calls.
Chris Hanson [Sat, 2 Jun 2001 01:06:01 +0000 (01:06 +0000)]
Oops, that should have been CREATE-TCP-SERVER-SOCKET.
Chris Hanson [Sat, 2 Jun 2001 01:05:22 +0000 (01:05 +0000)]
Implement new primitives to allow finer control over how TCP server
sockets are configured:
HOST-ADDRESS-ANY
HOST-ADDRESS-LOOPBACK
CREATE_TCP_SERVER_SOCKET
BIND-TCP-SERVER-SOCKET
LISTEN-TCP-SERVER-SOCKET
Chris Hanson [Fri, 1 Jun 2001 02:23:19 +0000 (02:23 +0000)]
Defer closing of connection when it is the last connection open to a
particular server. This prevents a pattern of opening and closing
that occurs when IMAIL starts up (due to probes performed prior to
opening the folder). It also allows the user to do completion in the
folder space without occurring the same penalty. The downside is that
the connection remains open for about a minute after the user "closes"
it, which will be remedied in a future revision.
Chris Hanson [Thu, 31 May 2001 20:34:17 +0000 (20:34 +0000)]
First draft of a mechanism to defer closing of connections. This
suffers from a fault: the background probe-folder thread is re-opening
the connection while it is in the deferred state.
Chris Hanson [Thu, 31 May 2001 19:58:40 +0000 (19:58 +0000)]
Implement START-STANDARD-POLLING-THREAD and
STOP-STANDARD-POLLING-THREAD to capture standard method of using
background thread to poll for output or events.
Chris Hanson [Thu, 31 May 2001 19:57:40 +0000 (19:57 +0000)]
Implement START-STANDARD-POLLING-THREAD and
STOP-STANDARD-POLLING-THREAD to capture standard method of using
background thread to poll for output or events.
Chris Hanson [Thu, 31 May 2001 19:41:53 +0000 (19:41 +0000)]
Add interrupt locking to REGISTER-INFERIOR-THREAD! and
DEREGISTER-INFERIOR-THREAD!. Change DEREGISTER-INFERIOR-THREAD! to
delete the entry from the list of inferior threads.
Chris Hanson [Wed, 30 May 2001 05:47:08 +0000 (05:47 +0000)]
Change how connections are allocated; when looking for a connection
for a folder, we'll now take over an existing compatible connection if
it's not being used by another folder. This will be useful after the
next change, which will cause connections to stay open a short while
after their last reference is dropped; when that happens, there will
be open connections lying around that can usefully be adopted.
Chris Hanson [Tue, 29 May 2001 21:25:33 +0000 (21:25 +0000)]
Don't use LOAD-OPTION to load cref; it probably doesn't exist on the
host system (outside of MIT), and this will cause an error if the user
has MITSCHEME_INF_DIRECTORY set.
Chris Hanson [Tue, 29 May 2001 20:46:28 +0000 (20:46 +0000)]
Eliminate IMAP-FOLDER-N-MESSAGES in favor of FOLDER-LENGTH.
Chris Hanson [Tue, 29 May 2001 20:41:56 +0000 (20:41 +0000)]
Eliminate IMAP-FOLDER-N-MESSAGES in favor of FOLDER-LENGTH.
Chris Hanson [Tue, 29 May 2001 20:36:53 +0000 (20:36 +0000)]
Rename URL-IS-CONTAINER? to URL-CORRESPONDING-CONTAINER. Eliminate
requirement that the result be #F if the resource doesn't exist.
Chris Hanson [Tue, 29 May 2001 20:26:32 +0000 (20:26 +0000)]
Cache information returned by the IMAP LIST command. This should help
to reduce traffic on the wire.
Chris Hanson [Tue, 29 May 2001 20:08:59 +0000 (20:08 +0000)]
Don't use my private "$bscm" environment variable in public code.
Chris Hanson [Tue, 29 May 2001 19:58:28 +0000 (19:58 +0000)]
Don't use LOAD-OPTION to load cref; it probably doesn't exist on the
host system (outside of MIT), and this will cause an error if the user
has MITSCHEME_INF_DIRECTORY set.
Chris Hanson [Tue, 29 May 2001 19:32:39 +0000 (19:32 +0000)]
Change M-x imail so that it only runs M-x imail-get-new-mail if the
folder status is OFFLINE.
Chris Hanson [Tue, 29 May 2001 17:45:37 +0000 (17:45 +0000)]
Restructure IMAP URLs so that each container URL has a corresponding
folder URL. The container URL inherits the components of the folder
URL rather than keeping its own copies. This sharing will be
important when we add caching of the IMAP server's LIST info.
Chris Hanson [Mon, 28 May 2001 03:49:04 +0000 (03:49 +0000)]
In IMAP-MAILBOX-DELIMITER, use the probed root as the table key;
previous strategy make no sense.
Chris Hanson [Mon, 28 May 2001 02:10:08 +0000 (02:10 +0000)]
Fix bug: IMAP-MAILBOX-DELIMITER was calling the LIST command on a
mailbox with a trailing slash; now the slash is omitted.
Chris Hanson [Sun, 27 May 2001 05:05:54 +0000 (05:05 +0000)]
Cache result of URL-IS-CONTAINER?, to prevent going back to network
each time it's needed. This might not actually work, since the
definition of URL-IS-CONTAINER? specifies that the corresponding
mailbox must exist.
Chris Hanson [Sun, 27 May 2001 05:04:24 +0000 (05:04 +0000)]
Delete entries for things that are now implemented.
Chris Hanson [Sun, 27 May 2001 05:01:55 +0000 (05:01 +0000)]
Note problem that connection to IMAP server is being opened and closed
too much.
Chris Hanson [Sat, 26 May 2001 03:09:36 +0000 (03:09 +0000)]
Fix error message of SELECTED-URL so that it makes more sense to the
end user.
Chris Hanson [Sat, 26 May 2001 03:02:29 +0000 (03:02 +0000)]
Eliminate compiler warning.
Chris Hanson [Sat, 26 May 2001 03:01:00 +0000 (03:01 +0000)]
Add first working draft of folder browser.
Chris Hanson [Sat, 26 May 2001 02:51:06 +0000 (02:51 +0000)]
Change IMAIL-DEFAULT-CONTAINER to use selected URL if any. This sets
default correctly in the folder browser when point is inside an
expanded subfolder.
Chris Hanson [Sat, 26 May 2001 02:13:40 +0000 (02:13 +0000)]
Implement SELECTED-CONTAINER-URL.
Chris Hanson [Sat, 26 May 2001 02:12:50 +0000 (02:12 +0000)]
Change external representation of URL to use content name rather than
presentation name.
Chris Hanson [Sat, 26 May 2001 01:55:10 +0000 (01:55 +0000)]
Fix indentation.
Chris Hanson [Fri, 25 May 2001 18:16:56 +0000 (18:16 +0000)]
Cache CONTAINER-URL of every URL when it is created, so that the
heirarchy can be quickly traversed.
Rename URL-IS-SELECTABLE? as FOLDER-URL-IS-SELECTABLE?.
Implement new operation URL-IS-CONTAINER? which returns the
equivalent container URL of a URL (which may be a folder URL).
Chris Hanson [Fri, 25 May 2001 02:45:51 +0000 (02:45 +0000)]
Change noun "child", used to refer to something in a container, to
"content".
Chris Hanson [Thu, 24 May 2001 19:18:57 +0000 (19:18 +0000)]
Generalize WITH-READ-ONLY-DEFEATED to accept anything that ->BUFFER
can resolve to a buffer.
Chris Hanson [Thu, 24 May 2001 19:12:41 +0000 (19:12 +0000)]
Don't echo server's mailbox name to the user.
Chris Hanson [Thu, 24 May 2001 19:07:15 +0000 (19:07 +0000)]
Include full key bindings in mode help.
Chris Hanson [Thu, 24 May 2001 19:03:52 +0000 (19:03 +0000)]
Fix CONTAINER-URL-CONTENTS to return container URLs when appropriate.
Chris Hanson [Thu, 24 May 2001 18:57:53 +0000 (18:57 +0000)]
Fix bug in previous change: was using procedures that returned marks
when I expected indexes.
Chris Hanson [Thu, 24 May 2001 17:51:14 +0000 (17:51 +0000)]
Add some more resource->URL reflectors.
Chris Hanson [Thu, 24 May 2001 17:46:51 +0000 (17:46 +0000)]
Simplify meaning of CONTAINER-URL; it no longer does anything special
for IMAP URLs. Define new operation CONTAINER-URL-FOR-PROMPT that has
the behavior that CONTAINER-URL used to.
Implement new operation URL-CHILD-NAME which is now the complement to
CONTAINER-URL. These operations now return compatible halves of the
URL, which may be recombined using MAKE-CHILD-URL to obtain the
original URL.
Change implementation of URL-PRESENTATION-NAME; it now just calls
URL-CHILD-NAME, stripping a slash off the end if present.
Clarify definition of URL-BASE-NAME.
Revert CONTAINER-CONTENTS back to CONTAINER-URL-CONTENTS. Maybe
tomorrow I'll change my mind again.
Chris Hanson [Thu, 24 May 2001 03:43:17 +0000 (03:43 +0000)]
Regularize the names of the procedures that manage the selected
container and selected URL. Move these and SELECT-FOLDER to the same
page.
Chris Hanson [Thu, 24 May 2001 03:41:28 +0000 (03:41 +0000)]
Change GET-MEMOIZED-RESOURCE to accept an optional argument specifying
that it is an error if there is no associated resource.
Chris Hanson [Thu, 24 May 2001 01:19:47 +0000 (01:19 +0000)]
Rename the following server operations, then add methods to them to
support containers as well as folders:
create-folder => create-resource
delete-folder => delete-resource
rename-folder => rename-resource
Chris Hanson [Thu, 24 May 2001 01:18:45 +0000 (01:18 +0000)]
Rename the following server operations, then add methods to them to
support containers as well as folders:
create-folder => create-resource
delete-folder => delete-resource
rename-folder => rename-resource
Chris Hanson [Thu, 24 May 2001 01:14:07 +0000 (01:14 +0000)]
Rename the following server operations, then add methods to them to
support containers as well as folders:
create-folder => create-resource
delete-folder => delete-resource
rename-folder => rename-resource
Chris Hanson [Thu, 24 May 2001 01:01:11 +0000 (01:01 +0000)]
Add a handful of methods to allow containers to be used in place of
container URLs in operations where it seems useful.
Chris Hanson [Thu, 24 May 2001 00:26:32 +0000 (00:26 +0000)]
Don't use history value as default for source of M-x
imail-rename-folder and M-x imail-copy-folder.
Chris Hanson [Thu, 24 May 2001 00:20:07 +0000 (00:20 +0000)]
Fix a few minor bugs from the recent changes.
Chris Hanson [Wed, 23 May 2001 23:23:48 +0000 (23:23 +0000)]
Generalize folder operations:
open-folder => open-resource
close-folder => close-resource
save-folder => save-resource
Add methods to each of these renamed operations so that they can
handle containers.
Chris Hanson [Wed, 23 May 2001 21:30:02 +0000 (21:30 +0000)]
Eliminate CONTAINER-URL-CONTENTS in favor of CONTAINER-CONTENTS.
Chris Hanson [Wed, 23 May 2001 21:20:28 +0000 (21:20 +0000)]
Rename URL-CONTAINER to CONTAINER-URL to better reflect its meaning.