mit-scheme.git
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.

16 years agoInclude the file handle in generated names even if there is no
Taylor R. Campbell [Wed, 17 Sep 2008 06:41:43 +0000 (06:41 +0000)]
Include the file handle in generated names even if there is no
debugging output that needs to match.

16 years agoHair up handling of HTTP headers. In new model, there are codecs for
Chris Hanson [Wed, 17 Sep 2008 06:31:54 +0000 (06:31 +0000)]
Hair up handling of HTTP headers.  In new model, there are codecs for
each known header (basically almost all of RFC 2616 at this point).
These codecs translate between the string representation of a header
value and its internal representation.  MAKE-HTTP-HEADER accepts
either the string representation or the internal representation.
HTTP-HEADER-VALUE always contains the string representation, while
HTTP-HEADER-PARSED-VALUE contains the internal representation.  If the
decoder for a header fails on a particular string represenation, or if
there's no decoder for that header, HTTP-HEADER-PARSED-VALUE contains
a default object (use DEFAULT-OBJECT? to test for it).

Additionally, HTTP requests have been changed so that the METHOD is a
string rather than a symbol (that is, "GET" rather than '|GET|).

16 years agoAdd many coding aliases defined by the IANA.
Chris Hanson [Wed, 17 Sep 2008 06:24:32 +0000 (06:24 +0000)]
Add many coding aliases defined by the IANA.

16 years agoFix bugs: a bunch related to the STRUCTURE-PARSER-VALUES type, and a
Chris Hanson [Wed, 17 Sep 2008 03:38:02 +0000 (03:38 +0000)]
Fix bugs: a bunch related to the STRUCTURE-PARSER-VALUES type, and a
random type error.

16 years agoAllow ADD-BOOT-INIT! to work after the cold load, by immediately
Chris Hanson [Wed, 17 Sep 2008 03:36:54 +0000 (03:36 +0000)]
Allow ADD-BOOT-INIT! to work after the cold load, by immediately
executing the argument.

16 years agoWrite output for temporary compilation into a file with a unique name
Taylor R. Campbell [Tue, 16 Sep 2008 20:13:50 +0000 (20:13 +0000)]
Write output for temporary compilation into a file with a unique name
so that when the runtime loads the file, the microcode will not cache
the blocks under the same name for each compilation, which caused odd
effects such as

(scode-eval (compile-scode 1) #f)
;Value: 1

(scode-eval (compile-scode 2) #f)
;Value: 1

16 years agoAdd post-pass to suppress "unreferenced variable" errors in output.
Chris Hanson [Tue, 16 Sep 2008 20:03:47 +0000 (20:03 +0000)]
Add post-pass to suppress "unreferenced variable" errors in output.

16 years agoBe more aggressive about substituting primitives for references.
Chris Hanson [Tue, 16 Sep 2008 07:10:45 +0000 (07:10 +0000)]
Be more aggressive about substituting primitives for references.

16 years agoFix order-of-args thinko.
Chris Hanson [Tue, 16 Sep 2008 05:50:03 +0000 (05:50 +0000)]
Fix order-of-args thinko.

16 years agoFix WRITE-HTTP-REQUEST to handle weird URI variants.
Chris Hanson [Tue, 16 Sep 2008 05:39:00 +0000 (05:39 +0000)]
Fix WRITE-HTTP-REQUEST to handle weird URI variants.

16 years agoExport WRITE-URI-AUTHORITY.
Chris Hanson [Tue, 16 Sep 2008 05:36:53 +0000 (05:36 +0000)]
Export WRITE-URI-AUTHORITY.

16 years agoFix typo in previous change.
Chris Hanson [Tue, 16 Sep 2008 05:32:42 +0000 (05:32 +0000)]
Fix typo in previous change.

16 years agoAdd CHAR-CTL? and CHAR-WSP? predicates.
Chris Hanson [Mon, 15 Sep 2008 07:07:51 +0000 (07:07 +0000)]
Add CHAR-CTL? and CHAR-WSP? predicates.

16 years agoAdd missing binding.
Chris Hanson [Mon, 15 Sep 2008 05:18:41 +0000 (05:18 +0000)]
Add missing binding.

16 years agoSplit "http-io.scm" to create new file "http-syntax.scm". I'm
Chris Hanson [Mon, 15 Sep 2008 05:15:23 +0000 (05:15 +0000)]
Split "http-io.scm" to create new file "http-syntax.scm".  I'm
currently working on the latter, so this minimizes the difference
between the trunk and my code.

16 years agoIn OPTIONAL-PORT, require only that if an argument was supplied it is
Taylor R. Campbell [Sat, 13 Sep 2008 09:50:18 +0000 (09:50 +0000)]
In OPTIONAL-PORT, require only that if an argument was supplied it is
a port.  Defer the guarantee that the port is an I/O port until it is
important: ports with PROMPT-FOR-{COMMAND-,}EXPRESSION operations need
not support input operations in order for the prompting procedures to
work.

16 years agoFix WRITE-CHAR operation in restart interface port type so that it
Taylor R. Campbell [Sat, 13 Sep 2008 09:48:15 +0000 (09:48 +0000)]
Fix WRITE-CHAR operation in restart interface port type so that it
returns the number of characters written.

16 years agoFix package name comment.
Taylor R. Campbell [Sat, 13 Sep 2008 09:31:36 +0000 (09:31 +0000)]
Fix package name comment.

16 years agoIn SIGNAL-IO-THREAD-EVENTS, we may not always find a dentry for all
Taylor R. Campbell [Fri, 12 Sep 2008 10:26:18 +0000 (10:26 +0000)]
In SIGNAL-IO-THREAD-EVENTS, we may not always find a dentry for all
the descriptors and modes listed.  Don't assume that we shall.

This case arises particularly when there is no thread blocked in
BLOCK-ON-IO-DESCRIPTOR and someone invokes the PROCESS-WAIT primitive.
This should fix the random (%RECORD-REF #F 3) error that I have seen
when gunzipping MIT Scheme's Info reference manual and it isn't in the
operating system's disk buffer cache, which led to a losing race.

16 years agoFix bug in updating folder orders after a message is expunged.
Taylor R. Campbell [Thu, 11 Sep 2008 17:49:09 +0000 (17:49 +0000)]
Fix bug in updating folder orders after a message is expunged.

16 years agoFix mistake in previous commit: COMPILE-DATA-FROM-FILE must pay
Taylor R. Campbell [Thu, 11 Sep 2008 01:15:28 +0000 (01:15 +0000)]
Fix mistake in previous commit: COMPILE-DATA-FROM-FILE must pay
attention to the name of the output file; other parts of the system
rely on it.

16 years agoFix compilation of non-expression data files, broken by the recent
Taylor R. Campbell [Wed, 10 Sep 2008 19:32:48 +0000 (19:32 +0000)]
Fix compilation of non-expression data files, broken by the recent
change to non-file scode compilation.

16 years agoChange COMPILE-SCODE/INTERNAL/HOOK into three separate hooks:
Taylor R. Campbell [Wed, 10 Sep 2008 15:12:07 +0000 (15:12 +0000)]
Change COMPILE-SCODE/INTERNAL/HOOK into three separate hooks:
COMPILE-SCODE/FILE/HOOK, COMPILE-SCODE/NO-FILE/HOOK, and
COMPILE-SCODE/RECURSIVE/HOOK.  Use this in the C back end to fix
compilation of scode not from files.  Handle temporary files more
carefully in the C back end.  Remove vestiges of support for keeping
debugging info in the C back end, which depends on such operations as
SET-COMPILED-CODE-BLOCK/DEBUGGING-INFO! not available in the C code
generator.  The info should perhaps be returned in the compiler
output, and applied in FINISH-C-COMPILATION to the compiled code
block, but this is trickier than it sounds.  For now we'll just not
pretend to support keeping debugging info.

16 years agoAdd an optional argument to TEMPORARY-FILE-PATHNAME for a procedure
Taylor R. Campbell [Wed, 10 Sep 2008 14:55:49 +0000 (14:55 +0000)]
Add an optional argument to TEMPORARY-FILE-PATHNAME for a procedure
that transforms the generated pathname before trying to allocate a
temporary file.  Implemented only on Unix because that's all I can
test, and the only user of it at the moment will be liarc, which runs
only on Unix anyway.

16 years agoImplement FLUSH-OUTPUT and DISCRETIONARY-FLUSH-OUTPUT operations for
Taylor R. Campbell [Tue, 9 Sep 2008 18:30:21 +0000 (18:30 +0000)]
Implement FLUSH-OUTPUT and DISCRETIONARY-FLUSH-OUTPUT operations for
wrapped notification output ports.

16 years agoFix typo in WRITE-DECODED-TIME-AS-CTIME.
Chris Hanson [Tue, 9 Sep 2008 16:30:47 +0000 (16:30 +0000)]
Fix typo in WRITE-DECODED-TIME-AS-CTIME.

16 years agoRename DECODED-TIME->GMT to DECODED-TIME->UTC.
Chris Hanson [Tue, 9 Sep 2008 16:28:19 +0000 (16:28 +0000)]
Rename DECODED-TIME->GMT to DECODED-TIME->UTC.

16 years agoUse the IMAIL-SEARCH prompt history for IMAIL-SEARCH-SUMMARY.
Taylor R. Campbell [Tue, 9 Sep 2008 15:37:03 +0000 (15:37 +0000)]
Use the IMAIL-SEARCH prompt history for IMAIL-SEARCH-SUMMARY.

16 years agoFix thinko in PARSER:HOSTPORT.
Chris Hanson [Tue, 9 Sep 2008 07:23:49 +0000 (07:23 +0000)]
Fix thinko in PARSER:HOSTPORT.

16 years agoImplement CONDITION-TYPE:DECODE-BASE64.
Chris Hanson [Tue, 9 Sep 2008 06:36:20 +0000 (06:36 +0000)]
Implement CONDITION-TYPE:DECODE-BASE64.

16 years agoClarify IMAP MIME body sections, which are confusing because every
Taylor R. Campbell [Tue, 9 Sep 2008 06:13:43 +0000 (06:13 +0000)]
Clarify IMAP MIME body sections, which are confusing because every
message body is treated as a multipart body by the IMAP's indexing
scheme.  This makes IMAIL never fetch TEXT body parts, except when
the user views a message raw with `C-c C-t C-m' (eventually, which
will also view arbitrary MIME bodies raw), and rather use numbered
parts, which will cause IMAIL to refill existing disk caches, even
though they already have mostly the same data in them.  IMAIL will
also now show MIME bodies in IMAP and file folders more uniformly,
especially complex nesting of message/rfc822 and multipart bodies.

16 years agoAdjustments to help support HTTP. Deleted these procedures:
Chris Hanson [Tue, 9 Sep 2008 05:23:53 +0000 (05:23 +0000)]
Adjustments to help support HTTP.  Deleted these procedures:

    DECODED-TIME->HTTP-STRING
    FILE-TIME->HTTP-STRING
    UNIVERSAL-TIME->HTTP-STRING

and added these:

    DECODED-TIME->GMT
    WRITE-DECODED-TIME-AS-CTIME
    WRITE-DECODED-TIME-AS-HTTP
    WRITE-DECODED-TIME-AS-ISO8601
    WRITE-DECODED-TIME-AS-RFC2822
    WRITE-TIME-ZONE

16 years agoImplement STRUCTURE-PARSER-VALUES.
Chris Hanson [Tue, 9 Sep 2008 04:43:48 +0000 (04:43 +0000)]
Implement STRUCTURE-PARSER-VALUES.

16 years agoFix typo in RFC 850 date parser.
Chris Hanson [Tue, 9 Sep 2008 04:33:56 +0000 (04:33 +0000)]
Fix typo in RFC 850 date parser.

16 years agoWhen walking the body of a message/rfc822 body to insert the latter
Taylor R. Campbell [Mon, 8 Sep 2008 22:27:02 +0000 (22:27 +0000)]
When walking the body of a message/rfc822 body to insert the latter
in-line, add BODY to the selector to disambiguate the message/rfc822
body from its own body.  MIME selectors as used by the front end
continue to diverge from IMAP sections, which appear to make little
sense (although this requires further testing with more IMAP server
implementations).

16 years agoEnsure a blank line before each boundary. Don't break the line after
Taylor R. Campbell [Mon, 8 Sep 2008 20:40:59 +0000 (20:40 +0000)]
Ensure a blank line before each boundary.  Don't break the line after
every MIME body.

16 years agoAdd DISQUALIFY keyword.
Chris Hanson [Mon, 8 Sep 2008 18:19:54 +0000 (18:19 +0000)]
Add DISQUALIFY keyword.

16 years agoImplement MATCH keyword: like QUOTE but generates a value.
Chris Hanson [Mon, 8 Sep 2008 04:44:45 +0000 (04:44 +0000)]
Implement MATCH keyword: like QUOTE but generates a value.

16 years agoRefactor MIME support,
Taylor R. Campbell [Mon, 8 Sep 2008 03:55:18 +0000 (03:55 +0000)]
Refactor MIME support,

- to make sense,
- to be more robust,
- to better reflect the terminology of the RFCs,
- to simplify code that uses MIME bodies,
- to move all generic MIME code into imail-mime.scm, and
- to fix a number of small bugs.

The documentation will need to be updated, since some user-visible
commands are now named with the word `body' rather than `entity'.

Undoubtedly, refactoring added many small bugs, too, still to be
weeded out.

16 years agoRebind forward/backward-paragraph to same commands as Emacs.
Chris Hanson [Mon, 8 Sep 2008 00:09:50 +0000 (00:09 +0000)]
Rebind forward/backward-paragraph to same commands as Emacs.