mit-scheme.git
15 years agoFix mistake in previous commit: STD_FD_SYSTEM_CALL needs to record
Taylor R. Campbell [Wed, 15 Apr 2009 13:09:20 +0000 (13:09 +0000)]
Fix mistake in previous commit: STD_FD_SYSTEM_CALL needs to record
that we are not out of files if the system call succeeds so that the
loop detection in UX_prim_check_fd_errno actually works.

15 years agoNew function UX_prim_check_fd_errno to to be used after a system call
Taylor R. Campbell [Wed, 15 Apr 2009 13:00:32 +0000 (13:00 +0000)]
New function UX_prim_check_fd_errno to to be used after a system call
that creates file descriptors fails.  If errno is EMFILE or ENFILE,
this requests a garbage collection in case any unreferenced file
descriptors can be closed.  Change OS_make_pipe to call this if
pipe(2) fails.

New macro STD_FD_SYSTEM_CALL is like STD_UINT_SYSTEM_CALL but uses
UX_prim_check_fd_errno rather than UX_prim_check_errno.  Change
OS_open_*_file and OS_open_*_socket to use STD_FD_SYSTEM_CALL to call
open(2) and socket(2).

Change STD_*_SYSTEM_CALL to use do/while rather than braces for
compound statements and to call UX_prim_check_errno rather than
copying it in-line.

15 years agoIf open(2) fails with EMFILE or ENFILE, trigger a garbage collection
Taylor R. Campbell [Wed, 15 Apr 2009 03:02:48 +0000 (03:02 +0000)]
If open(2) fails with EMFILE or ENFILE, trigger a garbage collection
to attempt to free up file descriptors, but avoid looping in this
state if there really are too many open file descriptors still
referenced.

15 years agoUse COMPILER:NOISY? to toggle whether to echo liarc-cc and liarc-ld
Taylor R. Campbell [Sat, 4 Apr 2009 18:41:23 +0000 (18:41 +0000)]
Use COMPILER:NOISY? to toggle whether to echo liarc-cc and liarc-ld
output.  Eliminate non-exported COMPILER:INVOKE-VERBOSE? variable
whose purpose has been hereby subsumed.

15 years agoAdd (GLOBAL-DEFINITIONS "../sf/sf") to compiler.pkg.
Taylor R. Campbell [Sun, 22 Mar 2009 16:12:41 +0000 (16:12 +0000)]
Add (GLOBAL-DEFINITIONS "../sf/sf") to compiler.pkg.

15 years agoSimplify invocations of the stat-like system calls and deliver
Taylor R. Campbell [Sat, 21 Mar 2009 22:10:28 +0000 (22:10 +0000)]
Simplify invocations of the stat-like system calls and deliver
pending interrupts on EINTR.

15 years agoCall fsync_range more carefully. It differs between NetBSD and AIX,
Taylor R. Campbell [Sat, 21 Mar 2009 21:23:22 +0000 (21:23 +0000)]
Call fsync_range more carefully.  It differs between NetBSD and AIX,
and FDISKSYNC was added after fsync_range to NetBSD.  Someone else
will need to test the AIX code (ha).

15 years agoChange CHANNEL-SYNCHRONIZE so that it is a no-op on files not backed
Taylor R. Campbell [Sat, 21 Mar 2009 19:34:27 +0000 (19:34 +0000)]
Change CHANNEL-SYNCHRONIZE so that it is a no-op on files not backed
by permanent storage.

15 years agoNew output port operation SYNCHRONIZE-OUTPUT requests all data output
Taylor R. Campbell [Sat, 21 Mar 2009 16:50:26 +0000 (16:50 +0000)]
New output port operation SYNCHRONIZE-OUTPUT requests all data output
to be forced to permanent storage.  Implement this for generic I/O
ports using the CHANNEL-SYNCHRONIZE primitive.  Call this in Edwin
after writing regions to files on disk.

15 years agoSignal a better error in PORT-POSITION and SET-PORT-POSITION! if the
Taylor R. Campbell [Sat, 21 Mar 2009 16:28:35 +0000 (16:28 +0000)]
Signal a better error in PORT-POSITION and SET-PORT-POSITION! if the
port does not support these operations.

15 years agoPeriodically synchronize only the tty's x and y sizes. Initialize
Taylor R. Campbell [Sat, 21 Mar 2009 08:06:00 +0000 (08:06 +0000)]
Periodically synchronize only the tty's x and y sizes.  Initialize
the command strings only once; they are unlikely to change, and used
in signal handlers.

15 years agoChange UX_reinitialize_tty so that it only sets a flag which code
Taylor R. Campbell [Sat, 21 Mar 2009 07:34:36 +0000 (07:34 +0000)]
Change UX_reinitialize_tty so that it only sets a flag which code
will later check.  UX_reinitialize_tty is called in a signal handler,
so it shouldn't do anything interesting, such as invoking termcap
library routines.

15 years agoFix same typo in OPEN-EXCLUSIVE-BINARY-OUTPUT-FILE.
Taylor R. Campbell [Sat, 21 Mar 2009 07:14:23 +0000 (07:14 +0000)]
Fix same typo in OPEN-EXCLUSIVE-BINARY-OUTPUT-FILE.

15 years agoFix typo in definition of OPEN-EXCLUSIVE-OUTPUT-FILE.
Taylor R. Campbell [Sat, 21 Mar 2009 07:13:43 +0000 (07:13 +0000)]
Fix typo in definition of OPEN-EXCLUSIVE-OUTPUT-FILE.

15 years agoNew primitives for fsync and exclusive output files.
Taylor R. Campbell [Sat, 21 Mar 2009 07:09:09 +0000 (07:09 +0000)]
New primitives for fsync and exclusive output files.

The primitive procedure CHANNEL-SYNCHRONIZE attempts to guarantee
that any data associated with the channel are written to permanent
storage.  Passing channels not backed by files in permanent storage
is currently an error, but perhaps should be a no-op instead.  This
procedure does what the fsync system call ought to do, which on most
operating systems it does not necessarily do; this procedure attempts
various different methods from different operating systems to ensure
that data are written to disk and that any disk caches for them are
forced to physical media.

New procedures OPEN-EXCLUSIVE-OUTPUT-FILE and CALL-WITH-*, WITH-*
variants, and binary output file variants, create files at pathnames
that currently have no links, or signal errors if they do.  Errors on
opening files now establish restarts to replace pathnames.

These new primitives are implemented only on Unix; Windows and OS/2
implementations are missing.

15 years ago(GARBAGE-COLLECT) Fix quotes in the documentation string. Set
Taylor R. Campbell [Sat, 21 Mar 2009 06:27:27 +0000 (06:27 +0000)]
(GARBAGE-COLLECT) Fix quotes in the documentation string.  Set
heap_reserved only if the argument is valid, and if so also set
heap_alloc_limit.

15 years agoUpcase the switch `on' in `#pragma STDC FENV_ACCESS ON'. Fixes
Taylor R. Campbell [Sat, 14 Mar 2009 19:52:18 +0000 (19:52 +0000)]
Upcase the switch `on' in `#pragma STDC FENV_ACCESS ON'.  Fixes
Savannah bug #25867.

15 years agoCheck, or ignore by casting to void, the values returned by system
Taylor R. Campbell [Tue, 10 Mar 2009 05:13:24 +0000 (05:13 +0000)]
Check, or ignore by casting to void, the values returned by system
calls in OS_make_subprocess, and kill the child if they fail.  To
change the working directory, the parent really ought to open the
directory to check for errors before calling fchdir(2) in the child,
but this will do for now.

15 years agoIn OS_process_clock and OS_real_time_clock, don't signal errors, and
Taylor R. Campbell [Mon, 9 Mar 2009 21:35:52 +0000 (21:35 +0000)]
In OS_process_clock and OS_real_time_clock, don't signal errors, and
handle interrupted system calls more robustly.  This prevents the
symptom exhibited by Savannah bug #17452 (which is probably really a
bug in the Linux kernel).

15 years agoIn batch mode, suppress loading notifications for `--load' arguments.
Taylor R. Campbell [Mon, 9 Mar 2009 03:46:22 +0000 (03:46 +0000)]
In batch mode, suppress loading notifications for `--load' arguments.

15 years agoUse $< and $@ rather than $* because GNU make and BSD make have
Taylor R. Campbell [Sun, 8 Mar 2009 21:47:00 +0000 (21:47 +0000)]
Use $< and $@ rather than $* because GNU make and BSD make have
different interpretations of $* but seem to agree on $< and $@ for
the ways we use them.  POSIX agrees too.

15 years agoAvoid consing in the secondary GC daemon DISCARD-DEBUGGING-INFO!.
Taylor R. Campbell [Sun, 8 Mar 2009 02:25:06 +0000 (02:25 +0000)]
Avoid consing in the secondary GC daemon DISCARD-DEBUGGING-INFO!.
Fix whitespace mistakes in previous changes.

15 years agoIn the STD_*_SYSTEM_CALL macros, if the system call returns EINTR,
Taylor R. Campbell [Sun, 8 Mar 2009 00:02:09 +0000 (00:02 +0000)]
In the STD_*_SYSTEM_CALL macros, if the system call returns EINTR,
deliver pending Scheme interrupts.  This prevents most system calls
from indefinitely blocking all Scheme threads and keyboard
interruptions.

15 years agoInfo files are now stored in the `info/' subdirectory of the Edwin
Taylor R. Campbell [Sat, 7 Mar 2009 22:03:38 +0000 (22:03 +0000)]
Info files are now stored in the `info/' subdirectory of the Edwin
system library directory.  Reflect this in EDWIN-INFO-DIRECTORY.

15 years agoSuffix a colon to the value of the TERMCAP environment variable.
Taylor R. Campbell [Thu, 5 Mar 2009 20:09:21 +0000 (20:09 +0000)]
Suffix a colon to the value of the TERMCAP environment variable.

15 years agoRe-enable open-coding of FLONUM-ASIN and FLONUM-ACOS on i386, and
Taylor R. Campbell [Tue, 24 Feb 2009 23:09:56 +0000 (23:09 +0000)]
Re-enable open-coding of FLONUM-ASIN and FLONUM-ACOS on i386, and
implement FLONUM-EXP using F2XM1 for the fractional part and FSCALE for
the integral part of the argument.  This about trebles the speed of
these primitives in compiled code, without giving answers substantially
different from what the microcode computes.

When open-coding of FLONUM-EXP was disabled in 1992, a comment was
added to the effect that some i387 implementations had bugs in their
F2XM1 instructions.  I imagine that these bugs have been fixed in more
recent hardware, and that few users care about seventeen-year-old i387
units.  If this is a problem we can always disable it again.

15 years agoIn FIXNUM-LSH, if the count exceeds the Scheme datum width in absolute
Taylor R. Campbell [Mon, 23 Feb 2009 22:40:12 +0000 (22:40 +0000)]
In FIXNUM-LSH, if the count exceeds the Scheme datum width in absolute
value, return zero.  Intel's brain-damaged shift instructions on the
i386 and later (but not the 8086 -- go figure) ignore all but the
low-order five bits of the count.

15 years agoAnnotate compiled-code binary files with sets of bound and free names.
Chris Hanson [Mon, 23 Feb 2009 02:02:44 +0000 (02:02 +0000)]
Annotate compiled-code binary files with sets of bound and free names.
This allows the loader to incorporate a "module system".

15 years agoImplement primitive to read linkage-section info.
Chris Hanson [Sun, 22 Feb 2009 09:00:47 +0000 (09:00 +0000)]
Implement primitive to read linkage-section info.

15 years agoFix last change so that non-empty blank nodes are not errors.
Taylor R. Campbell [Fri, 20 Feb 2009 13:34:17 +0000 (13:34 +0000)]
Fix last change so that non-empty blank nodes are not errors.
Remove out-of-date comment.

15 years agoType check args to scode procedures.
Chris Hanson [Thu, 19 Feb 2009 05:27:40 +0000 (05:27 +0000)]
Type check args to scode procedures.

15 years agoFix parsing and unparsing XML-RPC's `dateTime.iso8601' format, which
Taylor R. Campbell [Wed, 18 Feb 2009 07:57:41 +0000 (07:57 +0000)]
Fix parsing and unparsing XML-RPC's `dateTime.iso8601' format, which
might be a confused, bastard hybrid of ISO 8601's extended and basic
formats without time zones, depending on how strictly one reads the
`specification'.  Accept liberally, generate conservatively, &c.
Yechhh.

15 years agoName the lisppaste message pop-up buffer `*lisppaste*', not
Taylor R. Campbell [Wed, 18 Feb 2009 07:46:59 +0000 (07:46 +0000)]
Name the lisppaste message pop-up buffer `*lisppaste*', not
`*lisppaste-error*', since the message is not necessarily of an
error.

15 years agoEliminate spurious semicolon in EXIT_CRITICAL_SECTION.
Taylor R. Campbell [Mon, 16 Feb 2009 15:18:11 +0000 (15:18 +0000)]
Eliminate spurious semicolon in EXIT_CRITICAL_SECTION.

15 years agoUse generic arithmetic for external string indices.
Taylor R. Campbell [Wed, 11 Feb 2009 02:42:38 +0000 (02:42 +0000)]
Use generic arithmetic for external string indices.

15 years agoAdd `.so' to the list of file extensions ignored by completion.
Taylor R. Campbell [Thu, 5 Feb 2009 02:09:14 +0000 (02:09 +0000)]
Add `.so' to the list of file extensions ignored by completion.

15 years agoAdded POSITION operation back to string output ports. My earlier implementation...
Arthur Gleckler [Wed, 4 Feb 2009 16:00:45 +0000 (16:00 +0000)]
Added POSITION operation back to string output ports.  My earlier implementation had been removed.

15 years agoWhen signalling an error for primitive invocations with incorrect
Taylor R. Campbell [Tue, 3 Feb 2009 03:33:44 +0000 (03:33 +0000)]
When signalling an error for primitive invocations with incorrect
numbers of arguments, omit the arity from the irritants, since we no
longer have it.

15 years agoParse malformed multipart parts as application/octet-stream, not by
Taylor R. Campbell [Tue, 3 Feb 2009 01:42:10 +0000 (01:42 +0000)]
Parse malformed multipart parts as application/octet-stream, not by
exploding.

15 years agoThere is no (EDWIN IMAIL MIME) package. imail-mime.scm is in the
Taylor R. Campbell [Tue, 3 Feb 2009 01:33:16 +0000 (01:33 +0000)]
There is no (EDWIN IMAIL MIME) package.  imail-mime.scm is in the
(EDWIN IMAIL) package.

15 years agoAsk STRING? before calling STRING-LENGTH when parsing tokenized
Taylor R. Campbell [Tue, 3 Feb 2009 01:16:52 +0000 (01:16 +0000)]
Ask STRING? before calling STRING-LENGTH when parsing tokenized
header fields.

15 years agoFix more mistaken references to top-level variables for primitives.
Taylor R. Campbell [Mon, 2 Feb 2009 20:09:20 +0000 (20:09 +0000)]
Fix more mistaken references to top-level variables for primitives.

15 years agoUse SCODE/PRIMITIVE-PROCEDURE?, not PRIMITIVE-PROCEDURE?, before
Taylor R. Campbell [Mon, 2 Feb 2009 20:06:33 +0000 (20:06 +0000)]
Use SCODE/PRIMITIVE-PROCEDURE?, not PRIMITIVE-PROCEDURE?, before
calling PRIMITIVE-PROCEDURE-NAME or PRIMITIVE-PROCEDURE-ARITY in the
compiler.  The SCODE/ variant excludes the compiled error procedure
`primitive', which is actually a string employed as a token, not a
primitive proper.

15 years agoFix another CONS -> (UCODE-PRIMITIVE CONS).
Taylor R. Campbell [Mon, 2 Feb 2009 19:42:46 +0000 (19:42 +0000)]
Fix another CONS -> (UCODE-PRIMITIVE CONS).

15 years agoUse the CONS primitive, not the value of the top-level variable named
Taylor R. Campbell [Mon, 2 Feb 2009 16:02:17 +0000 (16:02 +0000)]
Use the CONS primitive, not the value of the top-level variable named
CONS, to detect error combinations.  Use PRIMITIVE-ARITY-CORRECT?
during RTL generation to check primitive arities, so that error
combinations are handled correctly.

15 years agoWhen testing for combinations of NOT and GENERAL-CAR-CDR, refer to
Taylor R. Campbell [Mon, 2 Feb 2009 15:33:38 +0000 (15:33 +0000)]
When testing for combinations of NOT and GENERAL-CAR-CDR, refer to
the primitives, not to the values of the top-level variables by those
names.

15 years agoExpand the list of declarations known to be handled by the compiler.
Taylor R. Campbell [Mon, 2 Feb 2009 15:03:21 +0000 (15:03 +0000)]
Expand the list of declarations known to be handled by the compiler.

15 years ago(FIX:> 0 (STRING-LENGTH LINE)) is always false. No wonder leading
Taylor R. Campbell [Thu, 15 Jan 2009 16:32:17 +0000 (16:32 +0000)]
(FIX:> 0 (STRING-LENGTH LINE)) is always false.  No wonder leading
dots on lines were being eaten.

15 years agoIf a message's header claims a structure that is not reflected in the
Taylor R. Campbell [Wed, 24 Dec 2008 01:40:12 +0000 (01:40 +0000)]
If a message's header claims a structure that is not reflected in the
body, and the IMAP server reports the body structure derived from the
message's header but returns NIL for a part when it fails to parse the
body, treat that part part as empty.

15 years agoAdd the name #\formfeed to #\U+0C.
Taylor R. Campbell [Fri, 12 Dec 2008 20:22:03 +0000 (20:22 +0000)]
Add the name #\formfeed to #\U+0C.

15 years agoPass the history to MAKE-KEYWORD-VALUE-ITEM.
Taylor R. Campbell [Sat, 6 Dec 2008 23:00:31 +0000 (23:00 +0000)]
Pass the history to MAKE-KEYWORD-VALUE-ITEM.

15 years agoStore histories with keyword value items so that passing them to
Taylor R. Campbell [Sat, 6 Dec 2008 19:42:15 +0000 (19:42 +0000)]
Store histories with keyword value items so that passing them to
ILLEGAL-EXPRESSION-ITEM will report errors with useful messages.

15 years agoExclude \Recent flags from STORE and APPEND commands and from IMAP
Taylor R. Campbell [Tue, 2 Dec 2008 22:19:34 +0000 (22:19 +0000)]
Exclude \Recent flags from STORE and APPEND commands and from IMAP
messages' permanent flags for filing to other folders.  Include all
other flags, even if the server will not store them permanently.  The
PERMANENTFLAGS list is no longer used for any purpose.

15 years agoUnstackify the components of rectangular numbers in the right order.
Taylor R. Campbell [Wed, 12 Nov 2008 03:14:33 +0000 (03:14 +0000)]
Unstackify the components of rectangular numbers in the right order.

16 years agoDon't follow semicolon by space in parameter lists.
Chris Hanson [Wed, 29 Oct 2008 02:19:24 +0000 (02:19 +0000)]
Don't follow semicolon by space in parameter lists.

16 years agoAllow XML I/O on ports that don't support coding.
Chris Hanson [Sun, 26 Oct 2008 23:35:24 +0000 (23:35 +0000)]
Allow XML I/O on ports that don't support coding.

16 years agoAdd FRESH-LINE operation.
Chris Hanson [Sun, 26 Oct 2008 23:30:38 +0000 (23:30 +0000)]
Add FRESH-LINE operation.

16 years agoOn input, allow any combination of ISO 8601 basic and extended
Chris Hanson [Sun, 26 Oct 2008 20:14:34 +0000 (20:14 +0000)]
On input, allow any combination of ISO 8601 basic and extended
formats.  This compensates for broken xml-rpc "spec".

16 years agoNew variable DEFAULT-MIME-TEXT-CHARSET to support specifying charsets
Taylor R. Campbell [Thu, 23 Oct 2008 19:07:03 +0000 (19:07 +0000)]
New variable DEFAULT-MIME-TEXT-CHARSET to support specifying charsets
other than ISO-8859-1 in MIME text attachments.  The existing
behaviour is preserved; set this variable to the symbol PROMPT to
change it.  This is not carefully conceived, but I need it this hour!

16 years agoRemove spurious parameter in STRINGIFY-DATA/TRADITIONAL, as a vestige
Taylor R. Campbell [Sun, 19 Oct 2008 01:56:01 +0000 (01:56 +0000)]
Remove spurious parameter in STRINGIFY-DATA/TRADITIONAL, as a vestige
of earlier changes.  This bug had no effect except when explicitly
setting *USE-STACKIFY?* to true, which nothing in the system does at
the moment.

16 years agoMinor improvements.
Taylor R. Campbell [Sat, 18 Oct 2008 21:20:25 +0000 (21:20 +0000)]
Minor improvements.

16 years agoAllow white space in empty blank node.
Chris Hanson [Sun, 12 Oct 2008 06:31:05 +0000 (06:31 +0000)]
Allow white space in empty blank node.

16 years agoChange REMOVE-DOT-SEGMENTS so it affects only absolute paths.
Chris Hanson [Sat, 11 Oct 2008 06:45:59 +0000 (06:45 +0000)]
Change REMOVE-DOT-SEGMENTS so it affects only absolute paths.

16 years agoDelete misleading section title.
Chris Hanson [Sat, 11 Oct 2008 02:48:03 +0000 (02:48 +0000)]
Delete misleading section title.

16 years agoBind #\c-m-r to isearch-backward-regexp to match Emacs.
Chris Hanson [Sat, 11 Oct 2008 02:46:21 +0000 (02:46 +0000)]
Bind #\c-m-r to isearch-backward-regexp to match Emacs.

16 years agoAlways run REMOVE-DOT-SEGMENTS when creating absolute URIs, no matter
Chris Hanson [Sat, 11 Oct 2008 00:38:51 +0000 (00:38 +0000)]
Always run REMOVE-DOT-SEGMENTS when creating absolute URIs, no matter
what the path.  Previously this was only done by MERGE-URIS.

16 years agoMake sure absolute URIs are correctly resolved.
Chris Hanson [Sat, 11 Oct 2008 00:31:48 +0000 (00:31 +0000)]
Make sure absolute URIs are correctly resolved.

16 years agoExpand mail aliases in "resent-XXX" headers.
Chris Hanson [Fri, 10 Oct 2008 23:59:16 +0000 (23:59 +0000)]
Expand mail aliases in "resent-XXX" headers.

16 years agoExplicitly specify the band to use when cross compiling. The recent
Chris Hanson [Wed, 8 Oct 2008 07:14:15 +0000 (07:14 +0000)]
Explicitly specify the band to use when cross compiling.  The recent
change of the default band violated the assumptions used here.

16 years agoUpdate my email address.
Chris Hanson [Fri, 3 Oct 2008 00:21:04 +0000 (00:21 +0000)]
Update my email address.

16 years agoUse HTTP headers in XML-RPC requests, not RFC 2822 headers.
Taylor R. Campbell [Thu, 2 Oct 2008 17:58:05 +0000 (17:58 +0000)]
Use HTTP headers in XML-RPC requests, not RFC 2822 headers.

16 years agoImplement procedures to control flonum rounding mode.
Chris Hanson [Mon, 29 Sep 2008 05:41:51 +0000 (05:41 +0000)]
Implement procedures to control flonum rounding mode.

16 years agoChange SET-FLOAT-ROUNDING-MODE to signal an error on failure.
Chris Hanson [Sun, 28 Sep 2008 21:53:10 +0000 (21:53 +0000)]
Change SET-FLOAT-ROUNDING-MODE to signal an error on failure.
Eliminate several compiler warnings.

16 years agoImplement primitives to control the floating-point rounding mode.
Chris Hanson [Sat, 27 Sep 2008 03:59:13 +0000 (03:59 +0000)]
Implement primitives to control the floating-point rounding mode.

16 years agoGreatly simplify configuration choices:
Chris Hanson [Fri, 26 Sep 2008 08:30:23 +0000 (08:30 +0000)]
Greatly simplify configuration choices:

* The distinction between "large" and "small" memory sizes has been
  eliminated; nowadays this makes little sense, since our old notion
  of "large" is tiny compared to modern programs.  The "--large"
  option is now accepted but ignored.  The old MITSCHEME_LARGE_xxx and
  MITSCHEME_SMALL_xxx environment variables are ignored, replaced by
  two new vars MITSCHEME_HEAP_SIZE and MITSCHEME_STACK_SIZE.  (There's
  no var for constant size since it's rarely necessary to specify it.)

* The default heap size is set at 4 megawords, much larger than our
  previous "large" size, and adequate for general use.

* We use the "all.com" band by default.  The "--compiler" and
  "--edwin" options are now accepted but ignored.  The env vars
  MITSCHEME_COMPILER_BAND, MITSCHEME_EDWIN_BAND, and
  MITSCHEME_ALL_BAND are now ignored.

16 years agoDiscard the deleted flag when filing messages.
Taylor R. Campbell [Thu, 25 Sep 2008 15:16:09 +0000 (15:16 +0000)]
Discard the deleted flag when filing messages.

16 years agoOops -- forgot to commit changes to imail-imap.scm for preloading.
Taylor R. Campbell [Thu, 25 Sep 2008 15:00:35 +0000 (15:00 +0000)]
Oops -- forgot to commit changes to imail-imap.scm for preloading.

16 years agoSort by ordered message index before summarizing search results.
Taylor R. Campbell [Thu, 25 Sep 2008 15:00:01 +0000 (15:00 +0000)]
Sort by ordered message index before summarizing search results.

16 years agoWhen expunging messages, preload only deleted messages' outlines.
Taylor R. Campbell [Thu, 25 Sep 2008 14:58:06 +0000 (14:58 +0000)]
When expunging messages, preload only deleted messages' outlines.

16 years agoUpdate KNOWN-STATUS-CODES.
Chris Hanson [Thu, 25 Sep 2008 05:04:09 +0000 (05:04 +0000)]
Update KNOWN-STATUS-CODES.

16 years agoAllow LWS in a few more places on input.
Chris Hanson [Wed, 24 Sep 2008 22:56:15 +0000 (22:56 +0000)]
Allow LWS in a few more places on input.

16 years agoFix implementation of ISO 8601 date/time:
Chris Hanson [Wed, 24 Sep 2008 08:50:48 +0000 (08:50 +0000)]
Fix implementation of ISO 8601 date/time:

* When writing time zone, use "Z" for UTC, drop minutes when they are
  zero, and otherwise insert ":" between hours and minutes.  Omitting
  the ":", as was previously done, is not compliant.

* When parsing, there are two formats: basic and extended.  With basic
  format, there are no "-" or ":" separators allowed, and with
  extended format, they are all required.  Previously the parser
  allowed each of the date, time, and zone to independently be in
  either format.  Now the parser requires all three to be in the same
  format.

* The parser now handles fractional seconds correctly, rounding up if
  the fraction is >= 1/2.  It is also careful to use exact arithmetic
  for fractions.

* The parser now additionally accepts "," as a fraction indicator, as
  required by the standard.

* The parser now implements fractional hours and fractional minutes.

* The parser now accepts time zones over the full range of +/-24
  hours; previously it was restricted to +/-12 hours (except the
  minute could be non-zero at +12 or -12, which made no sense).

* The parser now computes time zones with non-zero minutes correctly:

old formula: (+ (* SIGN HOUR) (/ MINUTE 60))
new formula: (* SIGN (+ HOUR (/ MINUTE 60)))

* The parser has two kluges to accomodate incorrectly-formed strings
  that were once generated by this code: (1) the space character can
  be used in place of "T" as a date/time separator; and (2) the ":"
  may be omitted from the time zone in extended format.

16 years agoEliminate ISO8601-SEPARATE-WITH-T?; according to the standard, the T
Chris Hanson [Wed, 24 Sep 2008 05:57:00 +0000 (05:57 +0000)]
Eliminate ISO8601-SEPARATE-WITH-T?; according to the standard, the T
is required and using space is incorrect.

16 years agoAdd optional ERROR? arg to XML-ELEMENT-CHILD and FIND-XML-ATTR.
Chris Hanson [Wed, 24 Sep 2008 00:44:50 +0000 (00:44 +0000)]
Add optional ERROR? arg to XML-ELEMENT-CHILD and FIND-XML-ATTR.

16 years agoImplement XML-ELEMENT-CHILD and XML-ELEMENT-CHILDREN.
Chris Hanson [Wed, 24 Sep 2008 00:40:36 +0000 (00:40 +0000)]
Implement XML-ELEMENT-CHILD and XML-ELEMENT-CHILDREN.

16 years agoChange FIND-XML-ATTR to accept a string name as well.
Chris Hanson [Wed, 24 Sep 2008 00:26:39 +0000 (00:26 +0000)]
Change FIND-XML-ATTR to accept a string name as well.

16 years agoChange XML-ATTRS to accept strings as attribute names.
Chris Hanson [Wed, 24 Sep 2008 00:07:04 +0000 (00:07 +0000)]
Change XML-ATTRS to accept strings as attribute names.

16 years agoChange MAKE-XML-NAME so that URI arg is optional.
Chris Hanson [Wed, 24 Sep 2008 00:05:50 +0000 (00:05 +0000)]
Change MAKE-XML-NAME so that URI arg is optional.

16 years agoAdd basic support for converting between CamelCase and lisp syntax.
Chris Hanson [Tue, 23 Sep 2008 23:59:23 +0000 (23:59 +0000)]
Add basic support for converting between CamelCase and lisp syntax.

16 years agoMajor rewrite: header definitions now use combinator languages to
Chris Hanson [Mon, 22 Sep 2008 08:16:44 +0000 (08:16 +0000)]
Major rewrite: header definitions now use combinator languages to
raise the abstraction level and hopefully avoid more stupid thinkos
like the ones I recently fixed.

16 years agoProvide "TE: trailers" header. Generalize default-header mechanism.
Chris Hanson [Sun, 21 Sep 2008 23:50:31 +0000 (23:50 +0000)]
Provide "TE: trailers" header.  Generalize default-header mechanism.
Export new procedure CALL-WITH-HTTP-CLIENT-SOCKET.

16 years agoFix some more thinkos.
Chris Hanson [Sun, 21 Sep 2008 23:49:46 +0000 (23:49 +0000)]
Fix some more thinkos.

16 years agoTweak unparser for requests.
Chris Hanson [Sun, 21 Sep 2008 23:49:05 +0000 (23:49 +0000)]
Tweak unparser for requests.

16 years agoGenerate error when MAKE-HTTP-HEADER called with incorrect parsed
Chris Hanson [Sun, 21 Sep 2008 23:20:00 +0000 (23:20 +0000)]
Generate error when MAKE-HTTP-HEADER called with incorrect parsed
value.  Fix various small thinkos in header parsing.

16 years agoAdd unparser methods for HTTP datatypes.
Chris Hanson [Sun, 21 Sep 2008 22:20:18 +0000 (22:20 +0000)]
Add unparser methods for HTTP datatypes.

16 years agoUse HTTP/1.1 now that chunked transfer coding is supported.
Chris Hanson [Sun, 21 Sep 2008 07:35:48 +0000 (07:35 +0000)]
Use HTTP/1.1 now that chunked transfer coding is supported.

16 years agoImplement "chunked" transfer encoding, required by HTTP 1.1. Fix bug
Chris Hanson [Sun, 21 Sep 2008 07:35:15 +0000 (07:35 +0000)]
Implement "chunked" transfer encoding, required by HTTP 1.1.  Fix bug
in "transfer-encoding" header parser.  Add new procedure
READ-RFC2822-FOLDED-LINE that reads a line of text, dealing with the
header-field folding from RFC 2822.

16 years agoReport a message when probing a folder. Use OVERRIDE-NEXT-COMMAND!
Taylor R. Campbell [Sat, 20 Sep 2008 20:41:16 +0000 (20:41 +0000)]
Report a message when probing a folder.  Use OVERRIDE-NEXT-COMMAND!
when probing in an output processor to avoid blocking the editor
uninterruptably.

16 years agoDon't assume that X-CLOSE-ALL-DISPLAYS is available.
Taylor R. Campbell [Thu, 18 Sep 2008 05:19:16 +0000 (05:19 +0000)]
Don't assume that X-CLOSE-ALL-DISPLAYS is available.

16 years agoUse INSTALL_SCRIPT, rather than INSTALL_PROGRAM, to install the
Taylor R. Campbell [Wed, 17 Sep 2008 16:36:28 +0000 (16:36 +0000)]
Use INSTALL_SCRIPT, rather than INSTALL_PROGRAM, to install the
`liarc-cc' and `liarc-ld' scripts.