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.
Chris Hanson [Wed, 23 May 2001 13:46:26 +0000 (13:46 +0000)]
Fix bug in previous change: the object being modified is the
container, not the URL for the container.
Chris Hanson [Wed, 23 May 2001 05:05:29 +0000 (05:05 +0000)]
Generalize implementations of properties and modification events so
that they can be mixed in to arbitrary classes. Simplify property
implementation to use an alist. This saves 4 words of memory, which
is important for message objects.
Create generalized resources, which are the referents of URLs. Use
these as the base for folders, and create a new container type.
Change CREATE-FOLDER, DELETE-FOLDER, RENAME-FOLDER, and APPEND-MESSAGE
to signal appropriate events to the container of the folders being
manipulated. This will allow folder browsers to automatically update
themselves as their contents are changed.
Add hooks to folder and container prompts, which allow the folder
browser to use some of the standard server commands. The browser
can supply the appropriate URL string without prompting.
Don't let M-x imail-copy-folder copy from a folder to itself.
Chris Hanson [Wed, 23 May 2001 04:15:10 +0000 (04:15 +0000)]
Note that RENAME-FOLDER must change the URL the target folder refers
to.
Chris Hanson [Tue, 22 May 2001 16:16:34 +0000 (16:16 +0000)]
Implement WITHOUT-TEXT-CLIPPED.
Chris Hanson [Tue, 22 May 2001 03:18:47 +0000 (03:18 +0000)]
Duh. Can't delete DOS pathname support; that is used by Win32 and
OS/2.
Chris Hanson [Tue, 22 May 2001 03:09:52 +0000 (03:09 +0000)]
Duh. Can't delete DOS pathname support; that is used by Win32 and
OS/2.
Chris Hanson [Tue, 22 May 2001 02:46:47 +0000 (02:46 +0000)]
Fix longstanding bug: must send WM_PAINT after SCREEN_WRITE so that
messages appear on screen even when no input is being read.
Chris Hanson [Tue, 22 May 2001 02:21:10 +0000 (02:21 +0000)]
Fix thinko in previous change.
Chris Hanson [Mon, 21 May 2001 20:48:11 +0000 (20:48 +0000)]
Fix bug: missing alternative in conditional was causing prompt to have
random default value.
Chris Hanson [Fri, 18 May 2001 20:03:09 +0000 (20:03 +0000)]
Change IMAP-URL-SERVER-MAILBOX to accept container URLs and strip the
trailing delimiter off of them.
Chris Hanson [Fri, 18 May 2001 19:21:12 +0000 (19:21 +0000)]
Add package for folder browser.
Chris Hanson [Fri, 18 May 2001 01:04:02 +0000 (01:04 +0000)]
Fix typo in previous change.
Chris Hanson [Fri, 18 May 2001 01:01:47 +0000 (01:01 +0000)]
Change M-x imail-delete-message to accept a prefix argument, which
means to repeat just like imail-delete-forward.
Chris Hanson [Fri, 18 May 2001 00:56:43 +0000 (00:56 +0000)]
In REBUILD-IMAIL-SUMMARY-BUFFER, SELECTED-FOLDER can return #F, but
the code wasn't allowing for that possibility.
Chris Hanson [Fri, 18 May 2001 00:55:32 +0000 (00:55 +0000)]
If ERROR? argument to SELECTED-FOLDER and SELECTED-MESSAGE is false,
don't signal an error even if the associated property isn't bound.
The old behavior has caused too many problems in weird places, and has
no real benefits.
Chris Hanson [Fri, 18 May 2001 00:52:36 +0000 (00:52 +0000)]
Implement RUN-BUFFER-HOOKS to capture code that runs the hooks list.
Fix potential problem by copying the hooks list.
Chris Hanson [Thu, 17 May 2001 05:05:30 +0000 (05:05 +0000)]
Eliminate legacy file URL protocol names. These can only cause
confusion when writing to output files that don't already exist.
Chris Hanson [Thu, 17 May 2001 04:37:55 +0000 (04:37 +0000)]
Eliminate MAKE-PEER-URL in favor of MAKE-CHILD-URL.
Chris Hanson [Thu, 17 May 2001 04:00:04 +0000 (04:00 +0000)]
Split the IMAP URL type into two types: one for IMAP folders, and the
other for IMAP containers. The two are distinguished solely by the
form of their mailbox names: a trailing slash (or null mailbox) means
it's a container, otherwise it's a folder.
Chris Hanson [Tue, 15 May 2001 19:47:02 +0000 (19:47 +0000)]
New operation CONTAINER-URL-CONTENTS.
Reimplemented URL-IS-SELECTABLE? for file folders. New implementation
probes the file to determine if it is a known type.
File-folder completion now only considers files of known type and
directories. It also doesn't consider "." and ".." directories.
Code that mapped IMAP heirarchy delimiters was broken, although this
caused no practical consequences. It has been reimplemented to make
it both correct and simpler.
IMAP-folder completion used to probe subfolders of a folder to
determine if a folder should have a "/" at the end. This was wasteful
of network bandwidth and had no practical consequences, so it has been
changed to not do this.
Chris Hanson [Mon, 14 May 2001 19:27:54 +0000 (19:27 +0000)]
Restructure directory-reading code to clean up the interface a bit.