Chris Hanson [Thu, 5 Jul 2001 18:51:23 +0000 (18:51 +0000)]
Fix typo.
Chris Hanson [Mon, 2 Jul 2001 19:21:57 +0000 (19:21 +0000)]
Don't lift Scheme expressions up to the top of the procedure; evaluate
them in place. Eliminate DEFAULT in favor of new VALUES.
Chris Hanson [Mon, 2 Jul 2001 18:47:51 +0000 (18:47 +0000)]
Fix bug: pretty printer was getting SIGSEGV when printing very deeply
nested named let.
Chris Hanson [Mon, 2 Jul 2001 18:21:01 +0000 (18:21 +0000)]
Completely reorganize the language preprocessors, so that they are no
longer monolithic procedures. Also lay the code out differently so
that it is broken into two major segments: the preprocessor and the
code generator.
Chris Hanson [Mon, 2 Jul 2001 18:18:38 +0000 (18:18 +0000)]
Fix bug: unfinished change to BACKTRACK-TO.
Chris Hanson [Mon, 2 Jul 2001 12:14:35 +0000 (12:14 +0000)]
Replace WITH-CURRENT-POINTER and NO-POINTERS with new procedure
CALL-WITH-UNKNOWN-POINTER. Change all references from "pointers" to
"pointer", since it's better to think of this as a single pointer.
(The delayed backtracking feature is an implementation detail, so it
shouldn't be reflected in the name.) Rename NEW-BACKTRACK-POINTER to
BACKTRACK-TO. Rename CURRENT-POINTER to POINTER-REFERENCE.
Chris Hanson [Mon, 2 Jul 2001 05:08:22 +0000 (05:08 +0000)]
Rework handling of the pointers. There were some subtle bugs in the
implementation that could have caused incorrect code generation. This
code looks good but is still a bit confusing; I may not have it right
yet. This code isn't yet tested.
Chris Hanson [Mon, 2 Jul 2001 01:55:25 +0000 (01:55 +0000)]
Implement new primitive X-SET-DEFAULT-FONT.
Chris Hanson [Mon, 2 Jul 2001 01:45:36 +0000 (01:45 +0000)]
Add new command M-x set-default-font.
Chris Hanson [Mon, 2 Jul 2001 01:20:32 +0000 (01:20 +0000)]
Restructure crypto, gdbm, and curses tests to depend on existence of
appropriate header files as well as the library files. The presence
of the library file is no guarantee that we have the headers.
Chris Hanson [Sat, 30 Jun 2001 06:05:35 +0000 (06:05 +0000)]
Add ability to specify macros that are symbols rather than forms.
These expand to fixed parser sequences.
Chris Hanson [Sat, 30 Jun 2001 03:23:59 +0000 (03:23 +0000)]
Add WITH-POINTER to both parser and matcher languages. Also implement
macros for both languages.
Chris Hanson [Sat, 30 Jun 2001 03:21:23 +0000 (03:21 +0000)]
Make sure that line number is properly updated.
Chris Hanson [Fri, 29 Jun 2001 05:23:24 +0000 (05:23 +0000)]
* Track the line number of the current buffer position, so that error
messages can refer to the line. Change representation of buffer
pointers to include the line number. Add operation to generate a
string that shows the line number and character number of either a
given pointer or the current position.
* Eliminate DECREMENT-PARSER-BUFFER-POINTER, which was unused and
makes implementing the line number more difficult.
* Add -NO-ADVANCE versions of procedures that match single characters.
* Change terminology: the index of the current character in the buffer
is called a "position". The word "pointer" is reserved to refer to
pointer objects that are handed to the users, which themselves refer
to positions.
Chris Hanson [Fri, 29 Jun 2001 05:19:24 +0000 (05:19 +0000)]
* Track the line number of the current buffer position, so that error
messages can refer to the line. Change representation of buffer
pointers to include the line number. Add operation to generate a
string that shows the line number and character number of either a
given pointer or the current position.
* Eliminate DECREMENT-PARSER-BUFFER-POINTER, which was unused and
makes implementing the line number more difficult.
* Add -NO-ADVANCE versions of procedures that match single characters.
* Change terminology: the index of the current character in the buffer
is called a "position". The word "pointer" is reserved to refer to
pointer objects that are handed to the users, which themselves refer
to positions.
Chris Hanson [Fri, 29 Jun 2001 05:18:19 +0000 (05:18 +0000)]
* Track the line number of the current buffer position, so that error
messages can refer to the line. Change representation of buffer
pointers to include the line number. Add operation to generate a
string that shows the line number and character number of either a
given pointer or the current position.
* Eliminate DECREMENT-PARSER-BUFFER-POINTER, which was unused and
makes implementing the line number more difficult.
* Add -NO-ADVANCE versions of procedures that match single characters.
* Change terminology: the index of the current character in the buffer
is called a "position". The word "pointer" is reserved to refer to
pointer objects that are handed to the users, which themselves refer
to positions.
Chris Hanson [Fri, 29 Jun 2001 05:17:21 +0000 (05:17 +0000)]
* Track the line number of the current buffer position, so that error
messages can refer to the line. Change representation of buffer
pointers to include the line number. Add operation to generate a
string that shows the line number and character number of either a
given pointer or the current position.
* Eliminate DECREMENT-PARSER-BUFFER-POINTER, which was unused and
makes implementing the line number more difficult.
* Add -NO-ADVANCE versions of procedures that match single characters.
* Change terminology: the index of the current character in the buffer
is called a "position". The word "pointer" is reserved to refer to
pointer objects that are handed to the users, which themselves refer
to positions.
Chris Hanson [Wed, 27 Jun 2001 02:00:08 +0000 (02:00 +0000)]
Eliminate compiler warnings.
Chris Hanson [Wed, 27 Jun 2001 01:53:53 +0000 (01:53 +0000)]
Fix code-generation bug in MATCH element.
Chris Hanson [Tue, 26 Jun 2001 23:46:41 +0000 (23:46 +0000)]
Fix a couple of code-generation bugs.
Chris Hanson [Tue, 26 Jun 2001 23:46:20 +0000 (23:46 +0000)]
Add some more optimizers.
Chris Hanson [Tue, 26 Jun 2001 21:29:41 +0000 (21:29 +0000)]
Fix two compiler warnings.
Chris Hanson [Tue, 26 Jun 2001 21:28:54 +0000 (21:28 +0000)]
Fix two compiler warnings.
Chris Hanson [Tue, 26 Jun 2001 21:16:46 +0000 (21:16 +0000)]
Lots of hair to allow explicit character-set specifications to be
compiled at load time rather than at run time.
Chris Hanson [Tue, 26 Jun 2001 21:02:09 +0000 (21:02 +0000)]
Lots of hair to allow explicit character-set specifications to be
compiled at load time rather than at run time.
Chris Hanson [Tue, 26 Jun 2001 19:01:31 +0000 (19:01 +0000)]
Change name of language-shifting expression to SEXP.
Chris Hanson [Tue, 26 Jun 2001 18:53:20 +0000 (18:53 +0000)]
Must attempt to parse number before attempting identifier. Otherwise,
the number's sign might be parsed as an identifier.
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.