mit-scheme.git
16 years agoExport STRING-IS-MIME-TOKEN? and STRING-IS-MIME-TYPE?, and add
Chris Hanson [Sat, 26 Jul 2008 22:51:29 +0000 (22:51 +0000)]
Export STRING-IS-MIME-TOKEN? and STRING-IS-MIME-TYPE?, and add
substring args to them.

16 years agoAdd HTTP line ending.
Chris Hanson [Sat, 26 Jul 2008 20:35:25 +0000 (20:35 +0000)]
Add HTTP line ending.

16 years agoProvide better error for invalid match index in RE-MATCH-EXTRACT.
Chris Hanson [Sat, 26 Jul 2008 07:10:27 +0000 (07:10 +0000)]
Provide better error for invalid match index in RE-MATCH-EXTRACT.

16 years agoFix CALL-WITH-TRUNCATED-OUTPUT-STRING: return type plain wrong.
Chris Hanson [Sat, 26 Jul 2008 07:02:12 +0000 (07:02 +0000)]
Fix CALL-WITH-TRUNCATED-OUTPUT-STRING: return type plain wrong.

16 years agoFix stupid typo in CALL-WITH-TRUNCATED-OUTPUT-PORT.
Chris Hanson [Sat, 26 Jul 2008 07:01:34 +0000 (07:01 +0000)]
Fix stupid typo in CALL-WITH-TRUNCATED-OUTPUT-PORT.

16 years agoRename 'bytes' I/O to 'octets'.
Chris Hanson [Sat, 26 Jul 2008 05:45:36 +0000 (05:45 +0000)]
Rename 'bytes' I/O to 'octets'.

16 years agoEliminate port operations {READ,WRITE}-{WIDE,EXTERNAL}-SUBSTRING by
Chris Hanson [Sat, 26 Jul 2008 05:12:20 +0000 (05:12 +0000)]
Eliminate port operations {READ,WRITE}-{WIDE,EXTERNAL}-SUBSTRING by
pushing the functionality into the {READ,WRITE}-SUBSTRING operations.

16 years agoFix input transcription problem that was introduced in revision 1.55.
Chris Hanson [Thu, 24 Jul 2008 06:58:08 +0000 (06:58 +0000)]
Fix input transcription problem that was introduced in revision 1.55.

16 years agoEliminate explicit operations on wide and external strings (part 1):
Chris Hanson [Wed, 23 Jul 2008 11:12:34 +0000 (11:12 +0000)]
Eliminate explicit operations on wide and external strings (part 1):
remove INPUT-PORT/READ-{WIDE,EXTERNAL}-SUBSTRING! and
OUTPUT-PORT/WRITE-{WIDE,EXTERNAL}-SUBSTRING.  (Part 2 will push this
multiplexing down into the port operations themselves.)

16 years agoBroaden definitions of XSTRING?, XSTRING-LENGTH, XSTRING-REF, and
Chris Hanson [Wed, 23 Jul 2008 11:10:56 +0000 (11:10 +0000)]
Broaden definitions of XSTRING?, XSTRING-LENGTH, XSTRING-REF, and
XSTRING-SET! to also handle wide strings.  Other xstring operations
aren't updated by this change, but will be soon.

16 years agoRewrite I/O string implementation to eliminate coding on strings --
Chris Hanson [Sat, 19 Jul 2008 01:41:18 +0000 (01:41 +0000)]
Rewrite I/O string implementation to eliminate coding on strings --
input from a string is just the characters in the string.  The old
string I/O is renamed to refer to byte vectors, and a collection of
convenience procedurs that use byte-vector I/O to do UTF-xx coding.
Additionally, rewrite unicode support to use these I/O ports to do
format conversions.

16 years agoEliminate reference to PORT/UNREAD by implementing UNREAD-CHAR
Chris Hanson [Sat, 19 Jul 2008 00:56:19 +0000 (00:56 +0000)]
Eliminate reference to PORT/UNREAD by implementing UNREAD-CHAR
operation.

16 years agoTighten up handling of UNREAD-CHAR: a READ-CHAR followed by any other
Chris Hanson [Fri, 18 Jul 2008 10:20:30 +0000 (10:20 +0000)]
Tighten up handling of UNREAD-CHAR: a READ-CHAR followed by any other
operation on the same port can prevent UNREAD-CHAR from working.

16 years agoEliminate cold-load call to SYMBOL->STRING.
Chris Hanson [Fri, 18 Jul 2008 10:18:00 +0000 (10:18 +0000)]
Eliminate cold-load call to SYMBOL->STRING.

16 years agoForce errors for coding operations when the given port doesn't support
Chris Hanson [Fri, 18 Jul 2008 10:16:54 +0000 (10:16 +0000)]
Force errors for coding operations when the given port doesn't support
them.

16 years agoChange terminology slight to emphasize that sources manipulate bytes
Chris Hanson [Mon, 14 Jul 2008 08:23:04 +0000 (08:23 +0000)]
Change terminology slight to emphasize that sources manipulate bytes
rather than characters.

16 years agoChange handling of PEEK-CHAR and UNREAD-CHAR so that it's done in the
Chris Hanson [Fri, 11 Jul 2008 05:26:43 +0000 (05:26 +0000)]
Change handling of PEEK-CHAR and UNREAD-CHAR so that it's done in the
generic I/O port operations.  This is easy to handle by simple hacking
of the byte-buffer indexes, and provides better semantics when the
port coding is changed on the fly.

This breaks transcripting, which must also be migrated to the generic
operations.

Add PEEK-CHAR and UNREAD-CHAR operations to ports that don't inherit
the generic operations.

16 years agoFix typo: ASCII -> US-ASCII. Eliminate unused loop binding.
Chris Hanson [Tue, 8 Jul 2008 10:36:17 +0000 (10:36 +0000)]
Fix typo: ASCII -> US-ASCII.  Eliminate unused loop binding.

16 years agoAdd a few char sets used in many RFCs.
Chris Hanson [Tue, 8 Jul 2008 06:14:43 +0000 (06:14 +0000)]
Add a few char sets used in many RFCs.

16 years agoUpdate (EDWIN IMAIL FRONT-END) package to reflect removal of Edwin
Taylor R. Campbell [Mon, 7 Jul 2008 01:36:24 +0000 (01:36 +0000)]
Update (EDWIN IMAIL FRONT-END) package to reflect removal of Edwin
variable IMAIL-PASS-PHRASE-RETENTION-TIME.

16 years agoRemove now unused Edwin variable IMAIL-PASS-PHRASE-RETENTION-TIME.
Taylor R. Campbell [Mon, 7 Jul 2008 01:35:44 +0000 (01:35 +0000)]
Remove now unused Edwin variable IMAIL-PASS-PHRASE-RETENTION-TIME.
This has been subsumed by PASS-PHRASE-RETENTION-TIME in Edwin proper
since the passphrase cache was moved there.

16 years agoEliminate problem where RMAIL and IMAIL are both trying to insert
Chris Hanson [Thu, 3 Jul 2008 20:08:15 +0000 (20:08 +0000)]
Eliminate problem where RMAIL and IMAIL are both trying to insert
internal headers at the beginning of the message, and then assuming
their own headers are first.  IMAIL now strips out all of its internal
headers when a message is read, regardless of their position, and
appends new ones to the end of the headers block when the message is
written.

16 years agoCheck for end of input from server in SMTP-READ-LINE, and deliver a
Taylor R. Campbell [Fri, 20 Jun 2008 06:10:13 +0000 (06:10 +0000)]
Check for end of input from server in SMTP-READ-LINE, and deliver a
sensible error message in that case.

16 years agoWhen attaching MIME info records to the buffer, respect nested MIME
Taylor R. Campbell [Fri, 20 Jun 2008 02:32:11 +0000 (02:32 +0000)]
When attaching MIME info records to the buffer, respect nested MIME
entities so that for each point in the buffer only the most specific
MIME entity is attached.  It would be nice if there were a variant of
REGION-PUT! that layered text properties `under' existing ones, but
since there isn't, we make do by scanning the text for the property
changes and associating records for parents wherever their children
had not been attached.

16 years agoUse the name LIAR/C to find the subsystem's version, not just LIAR.
Taylor R. Campbell [Wed, 18 Jun 2008 06:31:49 +0000 (06:31 +0000)]
Use the name LIAR/C to find the subsystem's version, not just LIAR.

16 years agoDon't inline sin, cos, or tan: Intel instruction has limit on operand.
Chris Hanson [Mon, 9 Jun 2008 01:39:29 +0000 (01:39 +0000)]
Don't inline sin, cos, or tan: Intel instruction has limit on operand.
Comment out and document disabled inlining rules.  Remove obsolete
alternative instruction sequences.

16 years agoEliminate use of kinit/aklog so this script can be run outside of
Chris Hanson [Tue, 20 May 2008 05:03:06 +0000 (05:03 +0000)]
Eliminate use of kinit/aklog so this script can be run outside of
cron.

16 years agoUse BODY.PEEK[...] rather than BODY[...] when fetching body parts to
Taylor R. Campbell [Mon, 19 May 2008 05:21:19 +0000 (05:21 +0000)]
Use BODY.PEEK[...] rather than BODY[...] when fetching body parts to
fill folders' caches, to avoid effects on \Seen flags.

16 years agoFix typo: the word `transact' has two `a's in it. Remarkably, I
Taylor R. Campbell [Mon, 19 May 2008 05:18:21 +0000 (05:18 +0000)]
Fix typo: the word `transact' has two `a's in it.  Remarkably, I
managed to mistype it in both the definition and use of TRANSCT-SMTP,
which must be why no one noticed.

16 years agoDon't cache messages' envelopes in folder outlines after all. None of
Taylor R. Campbell [Mon, 19 May 2008 05:06:26 +0000 (05:06 +0000)]
Don't cache messages' envelopes in folder outlines after all.  None of
IMAIL uses the envelopes (why not?), and they tickle a problem with a
certain (buggy) IMAP server.

16 years agoElaborate upon an important detail of the comment above
Taylor R. Campbell [Mon, 19 May 2008 00:00:12 +0000 (00:00 +0000)]
Elaborate upon an important detail of the comment above
CACHE-FOLDER-CONTENTS concerning its relation to
PRELOAD-FOLDER-OUTLINES.

16 years agoEnhance preloading of folder outlines for IMAP folders, and implement
Taylor R. Campbell [Sun, 18 May 2008 23:58:38 +0000 (23:58 +0000)]
Enhance preloading of folder outlines for IMAP folders, and implement
caching of entire folders' contents.

PRELOAD-FOLDER-OUTLINES on IMAP folders will now be much cleverer
(read: not stupid) about what items to fetch for what messages, so that
we fetch only what we need from each message.  This means that summary
buffer generation will now spend much less time (i.e. as much time as
it did six months ago) fetching message items.

New generic procedure CACHE-FOLDER-CONTENTS works similarly to
PRELOAD-FOLDER-OUTLINES, but also fetches requested body parts of
messages.

New Edwin command IMAIL-CACHE uses CACHE-FOLDER-CONTENTS to fill the
cache of the selected folder.  The front end's generic procedure
WALK-MIME-MESSAGE-PART is now a little more general, so that it can be
used to work together with with CACHE-FOLDER-CONTENTS.

16 years agoFix typo in READ-QUOTED-TO-PORT: READ-CHAR-NO-EOF wants an input port,
Taylor R. Campbell [Sun, 18 May 2008 22:46:36 +0000 (22:46 +0000)]
Fix typo in READ-QUOTED-TO-PORT: READ-CHAR-NO-EOF wants an input port,
not a character.

16 years agoAllow service numbers in news server proxy entries.
Taylor R. Campbell [Sat, 17 May 2008 02:18:27 +0000 (02:18 +0000)]
Allow service numbers in news server proxy entries.

16 years agoImplement mail-yank-prefix (closes Bug#22946).
Chris Hanson [Mon, 5 May 2008 04:42:08 +0000 (04:42 +0000)]
Implement mail-yank-prefix (closes Bug#22946).

16 years agoAdd workaround for AppArmor rule that blocks use of low memory
Chris Hanson [Sun, 4 May 2008 07:13:37 +0000 (07:13 +0000)]
Add workaround for AppArmor rule that blocks use of low memory
addresses.  This is causing trouble on Ubuntu 8.04.

16 years agoChange mode in BIND-MODE only if the port is still open.
Taylor R. Campbell [Fri, 2 May 2008 03:20:36 +0000 (03:20 +0000)]
Change mode in BIND-MODE only if the port is still open.

16 years agoHandle NaN objects specially when comparing them against rational
Chris Hanson [Fri, 25 Apr 2008 01:20:24 +0000 (01:20 +0000)]
Handle NaN objects specially when comparing them against rational
numbers.  We should probably do something similar for infinities.

16 years agoEliminate special cases for flonums in generic predicates. These were
Chris Hanson [Fri, 25 Apr 2008 01:19:04 +0000 (01:19 +0000)]
Eliminate special cases for flonums in generic predicates.  These were
doing the wrong thing for NaNs.

16 years agoReword missing-support error message to clarify its meaning.
Chris Hanson [Tue, 11 Mar 2008 04:00:52 +0000 (04:00 +0000)]
Reword missing-support error message to clarify its meaning.

16 years agoEliminate type-size errors and warnings; some NO_CHANNEL and
Chris Hanson [Sun, 9 Mar 2008 20:24:33 +0000 (20:24 +0000)]
Eliminate type-size errors and warnings; some NO_CHANNEL and
NO_PROCESS were long types, while the corresponding Tchannel and
Tprocess were int types.  Now all are int types.

16 years agoCan't use UCODE-PRIMITIVE in this file; it breaks the initial build.
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.

16 years agoPrioritize .so files over .bin files -- we were loading .bin files
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.)

16 years agoUnsyntax conditionals with the primitive NOT procedure, not the global
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.

16 years agoRegenerate tables with proper 0x prefix.
Chris Hanson [Thu, 21 Feb 2008 03:54:11 +0000 (03:54 +0000)]
Regenerate tables with proper 0x prefix.

16 years agoDoh... Forgot to add missing 0x prefix to hex constants.
Chris Hanson [Thu, 21 Feb 2008 03:52:10 +0000 (03:52 +0000)]
Doh... Forgot to add missing 0x prefix to hex constants.

16 years agoEliminate now-unused exports.
Chris Hanson [Fri, 15 Feb 2008 05:06:01 +0000 (05:06 +0000)]
Eliminate now-unused exports.

16 years agoWhen calling %MAYBE-TOGGLE-THREAD-TIMER from WAIT-FOR-IO, disregard
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.

16 years agoExport MHASH-HMAC-UPDATE from (RUNTIME CRYPTO).
Taylor R. Campbell [Thu, 14 Feb 2008 09:51:36 +0000 (09:51 +0000)]
Export MHASH-HMAC-UPDATE from (RUNTIME CRYPTO).

16 years agoIron out two remaining little bugs in the recent flurry of changes
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.

16 years agoFix errors in output for rewriting example.
Chris Hanson [Thu, 14 Feb 2008 06:48:45 +0000 (06:48 +0000)]
Fix errors in output for rewriting example.

16 years agoUndo previous change that removed primitive apply optimizations. (It
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).

16 years agoFix various places where variables defined with DEFINE-PRIMITIVES were
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.

16 years agoOn Taylor's suggestion, change DEFINE-PRIMITIVES so that it generates
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.

16 years agoDon't insert top-level bindings of procedures into code, assuming that
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.

16 years agoFix a few bad instances of (ACCESS ...).
Chris Hanson [Thu, 14 Feb 2008 00:45:17 +0000 (00:45 +0000)]
Fix a few bad instances of (ACCESS ...).

16 years agoDon't write (ACCESS <foo> ()).
Chris Hanson [Wed, 13 Feb 2008 23:36:15 +0000 (23:36 +0000)]
Don't write (ACCESS <foo> ()).

16 years agoAdd SYSTEM-GLOBAL-ENVIRONMENT to global constants; this will suppress
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).

16 years agoFix fatal error: FASDUMP wasn't cleaning up correctly when signalling
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.

16 years agoAdd an error check to MAKE-COMBINATION for an operator that's a
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.

16 years agoRewrite some more variable references as explicit primitive constants.
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.

16 years agoRedo the previous change: it was causing VERY BAD things to happen.
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.

16 years agoEliminate three special cases (compiled_with_interrupt_mask,
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.

16 years agoFix bug: setup_compiled_invocation_from_primitive wasn't calling
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.

16 years agoFix bug: setup_compiled_invocation_from_primitive wasn't calling
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.

16 years agoFix bug in last commit. %MESSAGE-ORDER-KEY yields a pair of the key
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.

16 years agoOne more stab at it: turns out that what I thought APPLY wanted to do
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'.

16 years agoFix think-o in previous commit -- wetware pattern matcher failed in
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.

16 years agoMeter the progress of summary buffer generation.
Taylor R. Campbell [Mon, 11 Feb 2008 22:49:10 +0000 (22:49 +0000)]
Meter the progress of summary buffer generation.

16 years agoCache the keys by which messages are ordered in a hash table, so that
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.)

16 years agoImplement incremental processing of IMAP responses, so that long lists
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.

16 years agoSimplify code to invoke compiled procedures from primitives. Fix bug
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.

16 years agoActually do avoid the race condition.
Taylor R. Campbell [Mon, 11 Feb 2008 07:52:06 +0000 (07:52 +0000)]
Actually do avoid the race condition.

16 years agoFix bug: it's necessary to close the I/O channels of a subprocess when
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.

16 years agoAvoid a race condition with the GC daemon in LOOKUP-UNCOMPRESSED-FILE.
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.

16 years agoImplement SMTP AUTH LOGIN and AUTH PLAIN extensions for authentication
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?

16 years agoMove support for temporarily stored pass-phrases into Edwin from
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.

16 years agoChange lots of global primitives to be defined as compound procedures.
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.

16 years agoAdd LAMBDA-TAG:UNNAMED, needed for cold load.
Chris Hanson [Sun, 10 Feb 2008 06:12:08 +0000 (06:12 +0000)]
Add LAMBDA-TAG:UNNAMED, needed for cold load.

16 years agoAdd FIXNUM? to list of primitives.
Chris Hanson [Sun, 10 Feb 2008 05:02:21 +0000 (05:02 +0000)]
Add FIXNUM? to list of primitives.

16 years agoChange handling of global primitives; they are now integrated only
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.

16 years agoMake SAVE-RESOURCE on file folders gracefully handle failure to write
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.)

16 years agoConditionally defined OS/2 packages.
Chris Hanson [Sat, 2 Feb 2008 18:21:30 +0000 (18:21 +0000)]
Conditionally defined OS/2 packages.

16 years agoWhen initializing packages, ignore missing packages.
Chris Hanson [Sat, 2 Feb 2008 18:20:59 +0000 (18:20 +0000)]
When initializing packages, ignore missing packages.

16 years agoGive FIND-PACKAGE an optional argument for controlling error behavior.
Chris Hanson [Sat, 2 Feb 2008 18:20:19 +0000 (18:20 +0000)]
Give FIND-PACKAGE an optional argument for controlling error behavior.

16 years agoNow that linking works, change WRITE-NOTIFICATION-LINE to be an alias
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.

16 years agoSimpler fix for variable-linking problem: clobber the source trap with
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.

16 years agoFix bug: a relatively rare circumstance was causing linked variables
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.

16 years agoMake sure there's only one instance of a name in each package.
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.

16 years agoWork around bug in variable linking mechanism.
Chris Hanson [Sat, 2 Feb 2008 06:53:37 +0000 (06:53 +0000)]
Work around bug in variable linking mechanism.

16 years agoEliminate unused variable.
Chris Hanson [Sat, 2 Feb 2008 06:51:48 +0000 (06:51 +0000)]
Eliminate unused variable.

16 years agoDoh.
Chris Hanson [Sat, 2 Feb 2008 06:01:59 +0000 (06:01 +0000)]
Doh.

16 years agoFix typo.
Chris Hanson [Sat, 2 Feb 2008 06:00:14 +0000 (06:00 +0000)]
Fix typo.

16 years agoFix some bugs in the previous change.
Chris Hanson [Sat, 2 Feb 2008 05:48:57 +0000 (05:48 +0000)]
Fix some bugs in the previous change.

16 years agoChange WITH-NOTIFICATION so that the port it passes to the MESSAGE is
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.

16 years agoEliminate cross-file dependency on gstate structure. Generic I/O port
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.

16 years agoExport GUARANTEE-THUNK.
Chris Hanson [Sat, 2 Feb 2008 03:44:52 +0000 (03:44 +0000)]
Export GUARANTEE-THUNK.

16 years agoFix comment.
Chris Hanson [Sat, 2 Feb 2008 02:08:48 +0000 (02:08 +0000)]
Fix comment.

16 years agoEliminate direct use of make-gstate in file I/O ports.
Chris Hanson [Sat, 2 Feb 2008 02:07:58 +0000 (02:07 +0000)]
Eliminate direct use of make-gstate in file I/O ports.

16 years agoEliminate direct use of make-gstate in string I/O ports, by extending
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.