Chris Hanson [Sat, 8 Mar 2008 18:46:41 +0000 (18:46 +0000)]
Can't use UCODE-PRIMITIVE in this file; it breaks the initial build.
Chris Hanson [Sat, 8 Mar 2008 17:43:12 +0000 (17:43 +0000)]
Prioritize .so files over .bin files -- we were loading .bin files
when .so files were available. (Thanks to Don Allen for catching
this.)
Taylor R. Campbell [Fri, 29 Feb 2008 16:06:34 +0000 (16:06 +0000)]
Unsyntax conditionals with the primitive NOT procedure, not the global
binding of NOT.
Chris Hanson [Thu, 21 Feb 2008 03:54:11 +0000 (03:54 +0000)]
Regenerate tables with proper 0x prefix.
Chris Hanson [Thu, 21 Feb 2008 03:52:10 +0000 (03:52 +0000)]
Doh... Forgot to add missing 0x prefix to hex constants.
Chris Hanson [Fri, 15 Feb 2008 05:06:01 +0000 (05:06 +0000)]
Eliminate now-unused exports.
Taylor R. Campbell [Fri, 15 Feb 2008 04:19:00 +0000 (04:19 +0000)]
When calling %MAYBE-TOGGLE-THREAD-TIMER from WAIT-FOR-IO, disregard
the value of TIMER-INTERVAL, since we are waiting only until I/O or
the next timer event.
Taylor R. Campbell [Thu, 14 Feb 2008 09:51:36 +0000 (09:51 +0000)]
Export MHASH-HMAC-UPDATE from (RUNTIME CRYPTO).
Taylor R. Campbell [Thu, 14 Feb 2008 08:20:22 +0000 (08:20 +0000)]
Iron out two remaining little bugs in the recent flurry of changes
surrounding errors during compiled invocation setup from primitives.
Chris Hanson [Thu, 14 Feb 2008 06:48:45 +0000 (06:48 +0000)]
Fix errors in output for rewriting example.
Chris Hanson [Thu, 14 Feb 2008 06:47:37 +0000 (06:47 +0000)]
Undo previous change that removed primitive apply optimizations. (It
turns out that my analysis was incomplete and further changes would
have been required.) Fix the problem with the apply hacks by
introducing a new exception code PRIM_APPLY_ERROR, which provides an
alternate path for signaling an error to the interpreter, _without_
backing out of the primitive (since we've already made all the
necessary changes to the stack).
Chris Hanson [Thu, 14 Feb 2008 03:34:11 +0000 (03:34 +0000)]
Fix various places where variables defined with DEFINE-PRIMITIVES were
assumed have primitive-procedure values.
Chris Hanson [Thu, 14 Feb 2008 02:35:05 +0000 (02:35 +0000)]
On Taylor's suggestion, change DEFINE-PRIMITIVES so that it generates
compound procedures rather than just binding the variables to the
primitive-procedure objects. This allows us to drop the new macros
needed by fixart, eliminating the need to patch older compilers to
compile this code.
Chris Hanson [Thu, 14 Feb 2008 02:12:52 +0000 (02:12 +0000)]
Don't insert top-level bindings of procedures into code, assuming that
they are primitives. Use explicit references to primitives.
Chris Hanson [Thu, 14 Feb 2008 00:45:17 +0000 (00:45 +0000)]
Fix a few bad instances of (ACCESS ...).
Chris Hanson [Wed, 13 Feb 2008 23:36:15 +0000 (23:36 +0000)]
Don't write (ACCESS <foo> ()).
Chris Hanson [Wed, 13 Feb 2008 23:30:18 +0000 (23:30 +0000)]
Add SYSTEM-GLOBAL-ENVIRONMENT to global constants; this will suppress
warnings about (ACCESS <foo> SYSTEM-GLOBAL-ENVIRONMENT).
Chris Hanson [Wed, 13 Feb 2008 23:26:23 +0000 (23:26 +0000)]
Fix fatal error: FASDUMP wasn't cleaning up correctly when signalling
an error.
Chris Hanson [Wed, 13 Feb 2008 14:26:47 +0000 (14:26 +0000)]
Add an error check to MAKE-COMBINATION for an operator that's a
non-primitive procedure. This is the most likely screw case from the
recent change in the handling of primitive integrations.
Chris Hanson [Wed, 13 Feb 2008 14:25:33 +0000 (14:25 +0000)]
Rewrite some more variable references as explicit primitive constants.
This includes one instance, in MAKE-MACRO-REFERENCE-TRAP-EXPRESSION,
that was causing a fatal error.
Chris Hanson [Wed, 13 Feb 2008 06:21:07 +0000 (06:21 +0000)]
Redo the previous change: it was causing VERY BAD things to happen.
This one should be considerably safer.
Chris Hanson [Wed, 13 Feb 2008 04:28:27 +0000 (04:28 +0000)]
Eliminate three special cases (compiled_with_interrupt_mask,
compiled_with_stack_marker, and apply_compiled_from_primitive) that
were adding hairy edge cases to gain a small amount of efficiency.
Chris Hanson [Tue, 12 Feb 2008 19:10:13 +0000 (19:10 +0000)]
Fix bug: setup_compiled_invocation_from_primitive wasn't calling
PRIMITIVE_ABORT when it should have been.
Chris Hanson [Tue, 12 Feb 2008 19:09:44 +0000 (19:09 +0000)]
Fix bug: setup_compiled_invocation_from_primitive wasn't calling
PRIMITIVE_ABORT when it should have been.
Taylor R. Campbell [Tue, 12 Feb 2008 00:37:54 +0000 (00:37 +0000)]
Fix bug in last commit. %MESSAGE-ORDER-KEY yields a pair of the key
and index already, so MESSAGE-ORDER-KEY doesn't need to add the index.
Taylor R. Campbell [Tue, 12 Feb 2008 00:16:57 +0000 (00:16 +0000)]
One more stab at it: turns out that what I thought APPLY wanted to do
is actually what WITH-INTERRUPT-MASK and WITH-STACK-MARKER also want
to do, instead of aborting the primitive. So we can, after all, use
`setup_compiled_invocation_from_primitive' in
`apply_compiled_from_primitive'.
Taylor R. Campbell [Mon, 11 Feb 2008 23:59:24 +0000 (23:59 +0000)]
Fix think-o in previous commit -- wetware pattern matcher failed in
`apply_compiled_from_primitive', which obviously can't use the new
`setup_compiled_invocation_from_primitive' because the latter does a
primitive abort if an error happens, whereas APPLY just wants to
return.
Taylor R. Campbell [Mon, 11 Feb 2008 22:49:10 +0000 (22:49 +0000)]
Meter the progress of summary buffer generation.
Taylor R. Campbell [Mon, 11 Feb 2008 22:48:02 +0000 (22:48 +0000)]
Cache the keys by which messages are ordered in a hash table, so that
we need not repeatedly fetch and parse header fields and such for the
same messages. (The cache may be optionally disabled by passing a
switch to MAKE-FOLDER-ORDER if it is concluded superfluous.)
Taylor R. Campbell [Mon, 11 Feb 2008 22:45:43 +0000 (22:45 +0000)]
Implement incremental processing of IMAP responses, so that long lists
of large responses, such as all the header fields in a large folder,
will not be queued up to exhaust the heap space. Exploit this when
preloading folder outlines, and don't fetch the header fields when
only the size is needed. (Preloading folder outlines no longer even
fetches the size -- but to do this right requires a lot more work and
would probably make preloading the outlines slower anyway, and I can
live with slightly more network-intensive summary buffer generation
for folders never before summarized.) Store messages' header fields
and envelopes only weakly in memory to conserve space.
Taylor R. Campbell [Mon, 11 Feb 2008 21:07:21 +0000 (21:07 +0000)]
Simplify code to invoke compiled procedures from primitives. Fix bug
in APPLY that would cause the stack to be munged when errors or
interrupts occur during the invocation setup.
Taylor R. Campbell [Mon, 11 Feb 2008 07:52:06 +0000 (07:52 +0000)]
Actually do avoid the race condition.
Chris Hanson [Mon, 11 Feb 2008 07:23:21 +0000 (07:23 +0000)]
Fix bug: it's necessary to close the I/O channels of a subprocess when
it has finished running. Otherwise we can end up blocked on one of
those channels, with no way to unblock.
Taylor R. Campbell [Sun, 10 Feb 2008 21:35:46 +0000 (21:35 +0000)]
Avoid a race condition with the GC daemon in LOOKUP-UNCOMPRESSED-FILE.
Taylor R. Campbell [Sun, 10 Feb 2008 10:44:13 +0000 (10:44 +0000)]
Implement SMTP AUTH LOGIN and AUTH PLAIN extensions for authentication
when sending mail by SMTP. New Edwin variable MAIL-AUTHENTICATION
controls whether to authenticate; set it to #T to enable authentication
by default. New Edwin variable SMTP-USER-NAME can be set to specify a
user name.
Still to do: CRAM-MD5 (shouldn't be hard, but I don't need it now),
and automatic detection of necessity of authentication. Is there an
SMTP reply code to tell us that we must authenticate?
Taylor R. Campbell [Sun, 10 Feb 2008 10:06:51 +0000 (10:06 +0000)]
Move support for temporarily stored pass-phrases into Edwin from
IMAIL's front end.
Chris Hanson [Sun, 10 Feb 2008 06:14:19 +0000 (06:14 +0000)]
Change lots of global primitives to be defined as compound procedures.
The compiler will still open-code them appropriately when the appear
in the operator position. However, this change means that
non-operator references to these primitives avoid passing a primitive
object around, which improves performance when the object is
eventually called.
Chris Hanson [Sun, 10 Feb 2008 06:12:08 +0000 (06:12 +0000)]
Add LAMBDA-TAG:UNNAMED, needed for cold load.
Chris Hanson [Sun, 10 Feb 2008 05:02:21 +0000 (05:02 +0000)]
Add FIXNUM? to list of primitives.
Chris Hanson [Sun, 10 Feb 2008 04:42:43 +0000 (04:42 +0000)]
Change handling of global primitives; they are now integrated only
when they appear in operator position.
Taylor R. Campbell [Sat, 9 Feb 2008 10:29:03 +0000 (10:29 +0000)]
Make SAVE-RESOURCE on file folders gracefully handle failure to write
the file. Previously killing an IMAIL file folder buffer for a
read-only file would create an *error* buffer and fail to kill the
IMAIL buffer!
(Perhaps it would be better to add a new value to FOLDER-SYNC-STATUS,
to indicate that the persistant storage is immutable. But putting an
error handler here is useful anyway, because the state of the world
may change between the call to FOLDER-SYNC-STATUS and the actual write
to the disk.)
Chris Hanson [Sat, 2 Feb 2008 18:21:30 +0000 (18:21 +0000)]
Conditionally defined OS/2 packages.
Chris Hanson [Sat, 2 Feb 2008 18:20:59 +0000 (18:20 +0000)]
When initializing packages, ignore missing packages.
Chris Hanson [Sat, 2 Feb 2008 18:20:19 +0000 (18:20 +0000)]
Give FIND-PACKAGE an optional argument for controlling error behavior.
Chris Hanson [Sat, 2 Feb 2008 17:59:59 +0000 (17:59 +0000)]
Now that linking works, change WRITE-NOTIFICATION-LINE to be an alias
for WITH-NOTIFICATION, as originally planned.
Chris Hanson [Sat, 2 Feb 2008 17:57:37 +0000 (17:57 +0000)]
Simpler fix for variable-linking problem: clobber the source trap with
the target cache, so that both traps share the same cache.
Chris Hanson [Sat, 2 Feb 2008 17:26:28 +0000 (17:26 +0000)]
Fix bug: a relatively rare circumstance was causing linked variables
to become unlinked. Specifically:
1. Load compiled code that creates a cache to variable A.
2. Link variable B to variable C.
3. Link variable B to variable A.
After step (3), variable C was no longer linked to variable B,
although B and A were still linked. The problem is that step (3)
overwrites the cache in B with the cache in A, but C is unchanged.
This has been fixed by leaving a forwarding link in the "old" cache
and snapping the link on reference. Any outstanding copies of the
"old" cache, such as that in C, are updated to point to the "new"
cache the next time they're referenced.
Chris Hanson [Sat, 2 Feb 2008 06:54:01 +0000 (06:54 +0000)]
Make sure there's only one instance of a name in each package.
Chris Hanson [Sat, 2 Feb 2008 06:53:37 +0000 (06:53 +0000)]
Work around bug in variable linking mechanism.
Chris Hanson [Sat, 2 Feb 2008 06:51:48 +0000 (06:51 +0000)]
Eliminate unused variable.
Chris Hanson [Sat, 2 Feb 2008 06:01:59 +0000 (06:01 +0000)]
Doh.
Chris Hanson [Sat, 2 Feb 2008 06:00:14 +0000 (06:00 +0000)]
Fix typo.
Chris Hanson [Sat, 2 Feb 2008 05:48:57 +0000 (05:48 +0000)]
Fix some bugs in the previous change.
Chris Hanson [Sat, 2 Feb 2008 05:35:33 +0000 (05:35 +0000)]
Change WITH-NOTIFICATION so that the port it passes to the MESSAGE is
smart about newlines and writes the prefix correctly. Also, make the
THUNK optional, and consequently WRITE-NOTIFICATION-LINE is an alias
for WITH-NOTIFICATION.
Chris Hanson [Sat, 2 Feb 2008 04:28:49 +0000 (04:28 +0000)]
Eliminate cross-file dependency on gstate structure. Generic I/O port
now provides abstraction for managing additional state elements.
Chris Hanson [Sat, 2 Feb 2008 03:44:52 +0000 (03:44 +0000)]
Export GUARANTEE-THUNK.
Chris Hanson [Sat, 2 Feb 2008 02:08:48 +0000 (02:08 +0000)]
Fix comment.
Chris Hanson [Sat, 2 Feb 2008 02:07:58 +0000 (02:07 +0000)]
Eliminate direct use of make-gstate in file I/O ports.
Chris Hanson [Sat, 2 Feb 2008 02:02:53 +0000 (02:02 +0000)]
Eliminate direct use of make-gstate in string I/O ports, by extending
MAKE-GENERIC-I/O-PORT to take extra arguments.
Chris Hanson [Sat, 2 Feb 2008 01:48:56 +0000 (01:48 +0000)]
Rename and export MAKE-NON-CHANNEL-PORT-{SOURCE,SINK}.
Chris Hanson [Sat, 2 Feb 2008 01:19:13 +0000 (01:19 +0000)]
Implement PORT-TYPE/PARENT.
Chris Hanson [Thu, 31 Jan 2008 03:49:49 +0000 (03:49 +0000)]
Update current copyright year.
Chris Hanson [Thu, 31 Jan 2008 02:53:58 +0000 (02:53 +0000)]
Update to match Debian directory.
Chris Hanson [Thu, 31 Jan 2008 02:18:57 +0000 (02:18 +0000)]
Fix xscheme-prompt-for-expression-exit with patch from debian
Bug#375858.
Chris Hanson [Thu, 31 Jan 2008 00:54:36 +0000 (00:54 +0000)]
Update for some of the srfi-1 procedures.
Chris Hanson [Wed, 30 Jan 2008 20:06:12 +0000 (20:06 +0000)]
Update copyright for 2008.
Chris Hanson [Wed, 30 Jan 2008 14:33:12 +0000 (14:33 +0000)]
Optimize handling of #F events, so that they are added to the event
queue only when necessary.
Chris Hanson [Wed, 30 Jan 2008 08:02:20 +0000 (08:02 +0000)]
Fix bug in previous change. Repaginate.
Chris Hanson [Wed, 30 Jan 2008 07:50:32 +0000 (07:50 +0000)]
In INFERIOR-THREAD-OUTPUT!, signal one thread event, then no more
until after this batch of output is accepted. The previous behavior
was causing significant delays when the inferior thread generated a
lot of output.
Chris Hanson [Wed, 30 Jan 2008 07:45:17 +0000 (07:45 +0000)]
Make sure %MAYBE-TOGGLE-THREAD-TIMER is called at every point where it
might be needed.
Chris Hanson [Tue, 29 Jan 2008 06:09:55 +0000 (06:09 +0000)]
Update RC-code tables for version 4.6. Implement Scheme program to
generate the tables automatically.
Chris Hanson [Tue, 29 Jan 2008 03:12:25 +0000 (03:12 +0000)]
Eliminate mixed fix/flo cases in binary operations. These do the
wrong thing for multiply, so we might as well let the Scheme code
handle it.
Chris Hanson [Tue, 29 Jan 2008 02:27:47 +0000 (02:27 +0000)]
Change GCC restriction to be versioned.
Chris Hanson [Tue, 29 Jan 2008 02:26:33 +0000 (02:26 +0000)]
Oops, older GCC used different "guard" macro name.
Chris Hanson [Tue, 29 Jan 2008 02:21:46 +0000 (02:21 +0000)]
Add "guard" to prevent use of <stdbool.h> in old versions of GCC.
Although we don't load that file, it is indirectly loaded by some
other include files.
Chris Hanson [Tue, 29 Jan 2008 02:01:56 +0000 (02:01 +0000)]
Eliminate incorrect reference to HAVE__BOOL.
Chris Hanson [Tue, 29 Jan 2008 02:01:37 +0000 (02:01 +0000)]
Eliminate compilation error.
Chris Hanson [Mon, 28 Jan 2008 04:26:49 +0000 (04:26 +0000)]
Change WEAK-LIST->LIST and LIST->WEAK-LIST to use iterative
algorithms.
Chris Hanson [Sun, 27 Jan 2008 02:25:37 +0000 (02:25 +0000)]
When parsing local variables, convert editor errors into failures.
Chris Hanson [Sat, 26 Jan 2008 00:20:07 +0000 (00:20 +0000)]
Add definition of MAKE-TOP-LEVEL-ENVIRONMENT.
Chris Hanson [Tue, 22 Jan 2008 22:46:08 +0000 (22:46 +0000)]
Don't hand non-positive values to REAL-TIMER-SET!. (Thanks Taylor!)
Chris Hanson [Tue, 15 Jan 2008 04:39:27 +0000 (04:39 +0000)]
Base URI of READ-RDF/TURTLE-FILE should never have a file type.
Chris Hanson [Mon, 14 Jan 2008 03:14:10 +0000 (03:14 +0000)]
Tweak handling of the thread timer so that it is set only when needed.
This saves power by avoiding unnecessary interrupts, and additionally
saves computation.
Chris Hanson [Wed, 9 Jan 2008 19:23:43 +0000 (19:23 +0000)]
Fix bug: VC-CONTROL-DIRECTORIES must handle shadowing of inherited
control directories. In other words, if directory A has a .bzr
subdirectory, and A/B has a .svn directory, then files in A/B/C
should ignore the .bzr directory in A.
Chris Hanson [Mon, 7 Jan 2008 14:31:04 +0000 (14:31 +0000)]
Modify handling of EVALUATE-IN-INFERIOR-REPL and RUN-LIGHT so that
they adapt when SCHEME-ENVIRONMENT is set to a procedure.
Chris Hanson [Thu, 3 Jan 2008 00:30:47 +0000 (00:30 +0000)]
Don't allocate tables based on the values of POSIX configuration
variables. These values may be undefined, or unreasonably large.
Instead, allocate small tables and grow them as needed.
Chris Hanson [Thu, 20 Dec 2007 02:49:18 +0000 (02:49 +0000)]
Rework last change to allow full type-specific mode-line status
rendering. Tweak bzr mode-line to be a little clearer.
Chris Hanson [Thu, 20 Dec 2007 01:24:29 +0000 (01:24 +0000)]
Optimize performance of bzr-controlled buffers. It turns out that
"bzr log" is very slow (several seconds on a Core Duo), even with
"--limit=1". So disable display of the revision in the mode line, and
reduce the number of places that need to know the revision. Also,
cache the output of "bzr ls", which is also slow-ish.
Chris Hanson [Tue, 18 Dec 2007 03:59:33 +0000 (03:59 +0000)]
Fix brokenness in previous change: can't pass "." for PATH argument to
"bzr ls --non-recursive". Instead pass no PATH arg and it does the
right thing. Also: don't forget to quote the filename before passing
it to RE-STRING-SEARCH-FORWARD.
Chris Hanson [Sun, 16 Dec 2007 01:10:38 +0000 (01:10 +0000)]
Pass "--non-recursive" when calling "bzr ls", since we don't care
about files in sub-directories.
Chris Hanson [Mon, 10 Dec 2007 04:24:57 +0000 (04:24 +0000)]
Use notification mechanism for SHOW-TIME.
Chris Hanson [Sun, 9 Dec 2007 06:12:14 +0000 (06:12 +0000)]
Be more specific that column tracking works only for ASCII graphic
characters.
Chris Hanson [Sun, 9 Dec 2007 06:09:32 +0000 (06:09 +0000)]
Improve line breaking to have a more accurate idea where the break
should go.
Chris Hanson [Sun, 9 Dec 2007 05:53:04 +0000 (05:53 +0000)]
Change indentation style to put open paren inline, contents indented,
and close paren unindented. Change indentation increment from 2 to 4.
Generate optional trailing ";" in bnodes and "." in subgraphs. Don't
automatically indent multiple objects; instead try to break lines
where needed. Add space after an unquoted literal, to prevent
confusion should it be followed by ".".
Chris Hanson [Sun, 9 Dec 2007 05:45:39 +0000 (05:45 +0000)]
Simplify column tracking: track columns as long as only simple
characters are used, independent of the port coding.
Chris Hanson [Sun, 9 Dec 2007 05:09:28 +0000 (05:09 +0000)]
Implement WRITE-RDF/TURTLE-SUBGRAPH.
Chris Hanson [Sun, 9 Dec 2007 05:02:51 +0000 (05:02 +0000)]
Change WRITE-RDF/TURTLE-TRIPLES so that it doesn't indent before
initial output and doesn't generate a trailing newline. Change
WRITE-RDF/TURTLE-TRIPLES and WRITE-RDF/TURTLE-TRIPLE to preserve their
initial indentation.
Chris Hanson [Sun, 9 Dec 2007 04:50:54 +0000 (04:50 +0000)]
Provide abstraction for balanced grouping syntax.
Chris Hanson [Sun, 9 Dec 2007 04:42:03 +0000 (04:42 +0000)]
Favor use of SRFI-1 procedures.
Chris Hanson [Sat, 8 Dec 2007 18:19:14 +0000 (18:19 +0000)]
Replace MAC_ARCH hack with more general mechanism to preserve CFLAGS
when using GCC.