Chris Hanson [Wed, 27 Aug 2008 04:58:09 +0000 (04:58 +0000)]
httpio.scm, runtime.pkg: Rename HTTP-URI to HTTP-REQUEST-URI for
clarification. Change definition of HTTP-REQUEST-URI to match RFC
2616.
url.scm, runtime.pkg: Eliminate PARSE-URI-NO-AUTHORITY, create and
export PARSE-URI-AUTHORITY and PARSE-URI-PATH-ABSOLUTE for use in
"httpio.scm".
Chris Hanson [Wed, 27 Aug 2008 03:59:47 +0000 (03:59 +0000)]
Fix bug: HTTP status codes are arbitrary three-digit numbers.
Chris Hanson [Tue, 26 Aug 2008 08:33:35 +0000 (08:33 +0000)]
Rewrite date parsers to use *PARSER and export them. Rename standard
->STRING procedures to ->RFC2822-STRING to emphasize their meaning.
Chris Hanson [Tue, 26 Aug 2008 05:57:18 +0000 (05:57 +0000)]
Add guarantors for DECODED-TIME? and TIME-ZONE?.
Chris Hanson [Tue, 26 Aug 2008 04:21:54 +0000 (04:21 +0000)]
Make sure that user-agent string is an HTTP token.
Taylor R. Campbell [Mon, 25 Aug 2008 21:11:12 +0000 (21:11 +0000)]
Behave as before with no prefix given to INPUT-PORT->PARSER-BUFFER;
don't spin endlessly trying to double 0 until it exceeds the minimum
length.
Chris Hanson [Mon, 25 Aug 2008 20:53:33 +0000 (20:53 +0000)]
Export character sets for HTTP text and token.
Chris Hanson [Mon, 25 Aug 2008 08:48:33 +0000 (08:48 +0000)]
Rename HTTP-ENTITY to HTTP-MESSAGE.
Chris Hanson [Mon, 25 Aug 2008 08:44:26 +0000 (08:44 +0000)]
Use hyphens rather than underscores in user-agent string.
Chris Hanson [Mon, 25 Aug 2008 08:37:35 +0000 (08:37 +0000)]
Add support for generating the HTTP date strings: required use of
"GMT" time zone marker. Also export the parser for iso8601 time.
Chris Hanson [Mon, 25 Aug 2008 08:23:32 +0000 (08:23 +0000)]
Change definition of HTTP version to that from RFC 2616.
Taylor R. Campbell [Mon, 25 Aug 2008 01:29:02 +0000 (01:29 +0000)]
When resynchronizing message UIDs with the server, stop if we find a
message whose UID is uninitialized. This arises if the previous
attempt to read the UIDs from the server was interrupted.
Taylor R. Campbell [Sun, 24 Aug 2008 23:34:31 +0000 (23:34 +0000)]
Eliminate FILENAME->COMPILED-OBJECT and the call to it in
LOAD-PACKAGE-SET. LOAD will do the right thing when a built-in
object is available, and will also update debugging pathnames.
Taylor R. Campbell [Sun, 24 Aug 2008 23:31:07 +0000 (23:31 +0000)]
In FASLOAD-UPDATE-SUB-BLOCKS, use DEBUG-INFO-PATHNAME?, rather than
PATHNAME?.
Taylor R. Campbell [Sun, 24 Aug 2008 21:27:05 +0000 (21:27 +0000)]
Ignore errors while trying to read the uidvalidity file. If there is
a problem reading the file, this means that we will delete the cache,
rather than signal an error to the user. This may be the wrong
behaviour in some obscure cases -- e.g., perhaps a networked file
system where the network fails after checking that the cache directory
is in fact a directory --, but this is useful for cases where the
cache directory was just set up wrong, perhaps because Scheme was
interrupted.
Chris Hanson [Sun, 24 Aug 2008 07:21:03 +0000 (07:21 +0000)]
Change to use new http-client support.
Chris Hanson [Sun, 24 Aug 2008 07:20:12 +0000 (07:20 +0000)]
Replace http-client.scm with new HTTP support. The new mechanism is
slightly lower level than the old, but it provides support for servers
and is slightly smarter about encoding.
THIS WILL BREAK EXISTING USERS OF HTTP-CLIENT
Chris Hanson [Sun, 24 Aug 2008 06:27:20 +0000 (06:27 +0000)]
Rename XML->STRING to XML->OCTETS; define alias for compatibility.
Chris Hanson [Sat, 23 Aug 2008 21:08:27 +0000 (21:08 +0000)]
Workaround for (what looks like) a bug in XQuartz on MacOS.
Taylor R. Campbell [Sat, 23 Aug 2008 17:44:54 +0000 (17:44 +0000)]
Trim whitespace surrounding addresses in
RFC822:STRING->SPLIT-ADDRESS-TOKENS.
Taylor R. Campbell [Fri, 22 Aug 2008 22:08:23 +0000 (22:08 +0000)]
Define __ppc64__ to 1, not just to an empty token sequence, for
consistency.
Taylor R. Campbell [Fri, 22 Aug 2008 22:07:19 +0000 (22:07 +0000)]
If __powerpc__ or __powerpc64__ is defined, define __ppc__ or
__ppc64__, repsectively. This comes up on NetBSD; why GCC uses
different cpp symbols for different operating systems on a common
machine architecture, I haven't the faintest clue.
Chris Hanson [Thu, 21 Aug 2008 01:00:46 +0000 (01:00 +0000)]
Name and export standard hash-table types.
Chris Hanson [Wed, 20 Aug 2008 09:01:35 +0000 (09:01 +0000)]
Implement HASH-TABLE/TYPE.
Chris Hanson [Tue, 19 Aug 2008 05:03:29 +0000 (05:03 +0000)]
Make TEXT line ending be the more generic XML-1.0 on input; behavior
on output is unchanged. When speaking of generic text this will
support all the standard line endings for input.
Chris Hanson [Mon, 18 Aug 2008 06:59:42 +0000 (06:59 +0000)]
Change DETERMINE-CODING to use the new prefix mechanism of the parser
buffer.
Chris Hanson [Mon, 18 Aug 2008 06:56:14 +0000 (06:56 +0000)]
Add optional argument to INPUT-PORT->PARSER-BUFFER so that a prefix
string can be specified. This is needed for injecting readahead from
a previous process -- for example, character coding detection.
Chris Hanson [Mon, 18 Aug 2008 06:40:18 +0000 (06:40 +0000)]
in PROVIDE-INPUT-FEATURES, don't advertise operations that aren't
supported.
Chris Hanson [Mon, 18 Aug 2008 00:19:46 +0000 (00:19 +0000)]
Simplify DETERMINE-CODING.
Chris Hanson [Mon, 18 Aug 2008 00:15:17 +0000 (00:15 +0000)]
Use UTF-16 surrogate support.
Chris Hanson [Mon, 18 Aug 2008 00:12:53 +0000 (00:12 +0000)]
Export procedures for managing UTF-16 surrogate pairs.
Chris Hanson [Sun, 17 Aug 2008 09:42:29 +0000 (09:42 +0000)]
Fix fencepost error in UNICODE-CODE-POINT?.
Taylor R. Campbell [Sat, 16 Aug 2008 17:57:11 +0000 (17:57 +0000)]
Revert previous change to close I/O ports of subprocesses when they
exit.
Taylor R. Campbell [Fri, 15 Aug 2008 22:46:42 +0000 (22:46 +0000)]
Use MAKE-INITIALIZED-MAIL-BUFFER rather than MAKE-MAIL-BUFFER.
Initialization is separate from selection.
Taylor R. Campbell [Fri, 15 Aug 2008 20:46:12 +0000 (20:46 +0000)]
New procedure MAKE-INITIALIZED-MAIL-BUFFER creates a mail buffer and
initializes it with a user-supplied initialization procedure, after it
is created or after confirmation to discard the contents of any
existing mail buffer.
Taylor R. Campbell [Fri, 15 Aug 2008 17:08:10 +0000 (17:08 +0000)]
Split COMPUTE-MIME-MESSAGE-OUTLINE's method on <MIME-BODY> into one on
<MIME-BODY> and one on <MIME-BODY-ONE-PART>, so that the method on the
more general <MIME-BODY> will not accidentally call procedures
applicable only to <MIME-BODY-ONE-PART> instances.
Taylor R. Campbell [Fri, 15 Aug 2008 15:44:37 +0000 (15:44 +0000)]
Rearrange MIME part parsing entry points so that MIME:PARSE-PART can
be used to parse parts with and without headers, rather than embedding
that logic in MIME:PARSE-PARTS.
Taylor R. Campbell [Tue, 12 Aug 2008 01:46:53 +0000 (01:46 +0000)]
When making new cache entries, write them to a file in a temporary
directory first, and move the file to its permanent location only
after it has been fully written. This prevents C-g from leaving
half-written cache entries. (File folders should perhaps do this too,
but it is not clear where the temporary directory should be located,
and using /tmp or /var/tmp is not appropriate, since those directories
may reside on another file system, rendering rename(2) useless.)
Taylor R. Campbell [Tue, 12 Aug 2008 01:36:52 +0000 (01:36 +0000)]
Remove or ignore the now unused variables since the last commit.
Taylor R. Campbell [Tue, 12 Aug 2008 00:49:03 +0000 (00:49 +0000)]
Remove vestige of progress metering in CACHE-FOLDER-CONTENTS. The
procedures that fetch the body parts already indicate their progress
with the message indices, and would overwrite a meter of the cache's
progress anyway except for fractions of seconds between messages.
Taylor R. Campbell [Mon, 11 Aug 2008 22:48:50 +0000 (22:48 +0000)]
Retain names with addresses when replying to mail.
Taylor R. Campbell [Mon, 11 Aug 2008 22:27:26 +0000 (22:27 +0000)]
Use APPEND-MAP, not MAP, over the list of internal header fields in
HEADER-FIELDS->MESSAGE-FLAGS: BURST-STRING returns a list of flags
each time, the collection of which we want to concatenate before
deleting duplicates.
Taylor R. Campbell [Mon, 11 Aug 2008 17:53:51 +0000 (17:53 +0000)]
Preload folder outlines before popping up a summary of messages to
expunge.
Taylor R. Campbell [Mon, 11 Aug 2008 17:51:12 +0000 (17:51 +0000)]
Remember what IMAP message keywords have been cached on disk, and
avoid stat(2)ing the cache files if we already expect them to exist.
This dramatically expedites repeated scanning of the message cache
(for preloading folder outlines when sorting or summarizing).
Taylor R. Campbell [Mon, 11 Aug 2008 17:44:50 +0000 (17:44 +0000)]
In GUARANTEE-IMAP-FOLDER-OPEN, send a SELECT command if the folder's
messages are not synchronized. This fixes
(with-open-resource <url> folder-length)
;Value: 0
where <url> is an IMAP URL for a folder that was recently open.
Taylor R. Campbell [Fri, 8 Aug 2008 03:40:49 +0000 (03:40 +0000)]
Change IMAIL-READ-FLAG to use visible defaults, rather than inserted
defaults, and to specify the history index, so that the prompting
facility will select a default at all.
Chris Hanson [Thu, 31 Jul 2008 05:23:39 +0000 (05:23 +0000)]
Closing string and octet ports is a no-op, so don't bother closing in
CALL-WITH-INPUT-STRING and CALL-WITH-INPUT-OCTETS.
Chris Hanson [Thu, 31 Jul 2008 05:22:03 +0000 (05:22 +0000)]
Eliminate now-unused helper procedures.
Chris Hanson [Sun, 27 Jul 2008 04:24:26 +0000 (04:24 +0000)]
Change mime-type parsing to use parser language; export the relevant
matchers and parsers.
Chris Hanson [Sat, 26 Jul 2008 22:53:55 +0000 (22:53 +0000)]
Export CHAR-SET:MIME-TOKEN.
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.
Chris Hanson [Sat, 26 Jul 2008 20:35:25 +0000 (20:35 +0000)]
Add HTTP line ending.
Chris Hanson [Sat, 26 Jul 2008 07:10:27 +0000 (07:10 +0000)]
Provide better error for invalid match index in RE-MATCH-EXTRACT.
Chris Hanson [Sat, 26 Jul 2008 07:02:12 +0000 (07:02 +0000)]
Fix CALL-WITH-TRUNCATED-OUTPUT-STRING: return type plain wrong.
Chris Hanson [Sat, 26 Jul 2008 07:01:34 +0000 (07:01 +0000)]
Fix stupid typo in CALL-WITH-TRUNCATED-OUTPUT-PORT.
Chris Hanson [Sat, 26 Jul 2008 05:45:36 +0000 (05:45 +0000)]
Rename 'bytes' I/O to 'octets'.
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.
Chris Hanson [Thu, 24 Jul 2008 06:58:08 +0000 (06:58 +0000)]
Fix input transcription problem that was introduced in revision 1.55.
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.)
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.
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.
Chris Hanson [Sat, 19 Jul 2008 00:56:19 +0000 (00:56 +0000)]
Eliminate reference to PORT/UNREAD by implementing UNREAD-CHAR
operation.
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.
Chris Hanson [Fri, 18 Jul 2008 10:18:00 +0000 (10:18 +0000)]
Eliminate cold-load call to SYMBOL->STRING.
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.
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.
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.
Chris Hanson [Tue, 8 Jul 2008 10:36:17 +0000 (10:36 +0000)]
Fix typo: ASCII -> US-ASCII. Eliminate unused loop binding.
Chris Hanson [Tue, 8 Jul 2008 06:14:43 +0000 (06:14 +0000)]
Add a few char sets used in many RFCs.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
Taylor R. Campbell [Sat, 17 May 2008 02:18:27 +0000 (02:18 +0000)]
Allow service numbers in news server proxy entries.
Chris Hanson [Mon, 5 May 2008 04:42:08 +0000 (04:42 +0000)]
Implement mail-yank-prefix (closes Bug#22946).
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.
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.
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.
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.
Chris Hanson [Tue, 11 Mar 2008 04:00:52 +0000 (04:00 +0000)]
Reword missing-support error message to clarify its meaning.
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.
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.