Chris Hanson [Fri, 25 Apr 2003 03:31:49 +0000 (03:31 +0000)]
Fix typo.
Chris Hanson [Fri, 25 Apr 2003 03:27:55 +0000 (03:27 +0000)]
Fix bug: THUNK? was getting called too early in the boot load.
Chris Hanson [Fri, 25 Apr 2003 03:10:00 +0000 (03:10 +0000)]
Factor out BUCKY-BITS->PREFIX so that it can be reused by Edwin for
special characters and mouse buttons.
Chris Hanson [Fri, 25 Apr 2003 03:08:04 +0000 (03:08 +0000)]
Fix handling of bucky bits so that only four bits are generated rather
than five.
Chris Hanson [Fri, 25 Apr 2003 00:58:21 +0000 (00:58 +0000)]
Fix bug: RECORD-TYPE-DISPATCH-TAG must be an absolute reference.
Chris Hanson [Sat, 19 Apr 2003 04:23:41 +0000 (04:23 +0000)]
Signal error for (EXPT Z 0.) if (ZERO? Z).
Chris Hanson [Thu, 17 Apr 2003 02:52:20 +0000 (02:52 +0000)]
Change DEFINE-SYNTAX so that the right-hand side can be an identifier
that is bound to a keyword. This makes
(define-syntax sequence begin)
possible.
Also, remove old kludge to allow
(define-syntax foo (lambda ...))
as acceptable syntax.
Chris Hanson [Tue, 15 Apr 2003 20:17:14 +0000 (20:17 +0000)]
Change CHAR-CODE-LIMIT to the actual Unicode limit, not just one that
allows any 21-bit code.
Chris Hanson [Tue, 15 Apr 2003 03:35:33 +0000 (03:35 +0000)]
Put appropriate line breaks on the copyright statements.
Chris Hanson [Tue, 15 Apr 2003 03:30:25 +0000 (03:30 +0000)]
Break up document into chapters. The 900kB single file was getting
too big to edit comfortably.
Chris Hanson [Mon, 14 Apr 2003 19:56:21 +0000 (19:56 +0000)]
Change HOST-BIG-ENDIAN? to compute its value during cold load, so that
it is as fast as possible.
Chris Hanson [Mon, 14 Apr 2003 19:40:36 +0000 (19:40 +0000)]
Add host-endian procedures for UTF-32 and UTF-16. Flesh out the
UTF-32 abstraction to correspond to UTF-16.
Chris Hanson [Mon, 14 Apr 2003 18:59:08 +0000 (18:59 +0000)]
Fix bug: EXPT wasn't handling complex zero right.
Rather than using DEFINE to make exported aliases of many arithmetic
procedures, use the renaming mechanism of the package system.
Export FLO:SIGNIFICAND-DIGITS-BASE-2 and
FLO:SIGNIFICAND-DIGITS-BASE-10 to global environment.
Chris Hanson [Mon, 14 Apr 2003 18:19:26 +0000 (18:19 +0000)]
Implement HOST-BIG-ENDIAN?.
Chris Hanson [Tue, 8 Apr 2003 04:31:32 +0000 (04:31 +0000)]
Fix typo in previous change.
Chris Hanson [Tue, 8 Apr 2003 01:11:54 +0000 (01:11 +0000)]
Fix typo in previous change.
Chris Hanson [Mon, 7 Apr 2003 20:33:03 +0000 (20:33 +0000)]
Use hex notation for interrupt mask bits.
Chris Hanson [Mon, 7 Apr 2003 19:49:26 +0000 (19:49 +0000)]
Fix bug: calls to OS_realloc were passing incorrect length argument.
Also: reduce amount of space used in select registry.
Chris Hanson [Sat, 29 Mar 2003 05:54:59 +0000 (05:54 +0000)]
Fix another bug hidden by the old type-descriptor name of defstruct.
Chris Hanson [Sat, 29 Mar 2003 05:45:02 +0000 (05:45 +0000)]
Eliminate unnecessary newline in OS_Variant.
Chris Hanson [Sat, 29 Mar 2003 05:35:55 +0000 (05:35 +0000)]
Initial implementation of new select-registry mechanism. This simply
recreates the old behavior with the new interface.
Chris Hanson [Tue, 25 Mar 2003 01:12:29 +0000 (01:12 +0000)]
Update coding of channel argument procedures.
Chris Hanson [Tue, 25 Mar 2003 01:09:20 +0000 (01:09 +0000)]
Fix typos.
Chris Hanson [Fri, 21 Mar 2003 17:51:23 +0000 (17:51 +0000)]
Implement runtime side of "--batch-mode" option.
Chris Hanson [Fri, 21 Mar 2003 17:28:33 +0000 (17:28 +0000)]
Rename "--suppress-noise" to "--batch-mode".
Chris Hanson [Thu, 20 Mar 2003 04:39:06 +0000 (04:39 +0000)]
Add --suppress-noise command-line option.
Chris Hanson [Thu, 20 Mar 2003 03:51:14 +0000 (03:51 +0000)]
Add --suppress-noise command-line option.
Chris Hanson [Fri, 14 Mar 2003 20:46:23 +0000 (20:46 +0000)]
Finish updating MAKE-DEFINE-STRUCTURE-TYPE arguments by removing
bootstrap scaffolding.
Chris Hanson [Fri, 14 Mar 2003 20:38:39 +0000 (20:38 +0000)]
Finish updating MAKE-DEFINE-STRUCTURE-TYPE arguments by removing
bootstrap scaffolding.
Chris Hanson [Fri, 14 Mar 2003 20:11:53 +0000 (20:11 +0000)]
Implement THUNK?.
Chris Hanson [Fri, 14 Mar 2003 20:11:37 +0000 (20:11 +0000)]
Change call to MAKE-DEFINE-STRUCTURE-TYPE so that per-slot lists are
constructed as vectors.
Chris Hanson [Fri, 14 Mar 2003 20:10:20 +0000 (20:10 +0000)]
Don't need to allow #F as default-init in MAKE-DEFINE-STRUCTURE-TYPE.
Chris Hanson [Fri, 14 Mar 2003 20:06:02 +0000 (20:06 +0000)]
Add more careful type checking to default-inits field of record type.
Allow #F to be used in place of (lambda () #F) as default-init.
Chris Hanson [Fri, 14 Mar 2003 20:02:18 +0000 (20:02 +0000)]
Implement THUNK?.
Chris Hanson [Fri, 14 Mar 2003 01:30:46 +0000 (01:30 +0000)]
Extend effect of editor variable vc-cvs-stay-local to include status
inquiries internally performed by VC. This prevents unnecessary
network delays in many cases.
Chris Hanson [Fri, 14 Mar 2003 01:12:39 +0000 (01:12 +0000)]
Change expansion of OR to use scode disjunction type. This produces
more efficient code, because the compiler recognizes it and behaves
specially.
Chris Hanson [Fri, 14 Mar 2003 01:09:07 +0000 (01:09 +0000)]
Rewrite safe-accessor generators to use their type argument properly.
Chris Hanson [Thu, 13 Mar 2003 21:50:40 +0000 (21:50 +0000)]
Change DEFINE-STRUCTURE to use new procedures
DEFINE-STRUCTURE/KEYWORD-CONSTRUCTOR and
DEFINE-STRUCTURE/DEFAULT-VALUE.
Chris Hanson [Thu, 13 Mar 2003 20:20:07 +0000 (20:20 +0000)]
Change call to MAKE-DEFINE-STRUCTURE-TYPE to match new definition.
Chris Hanson [Thu, 13 Mar 2003 20:17:15 +0000 (20:17 +0000)]
Export DEFINE-STRUCTURE/KEYWORD-PARSER*.
Chris Hanson [Thu, 13 Mar 2003 20:13:03 +0000 (20:13 +0000)]
Change MAKE-DEFINE-STRUCTURE-TYPE to accept a length rather than an
offset. Also, don't allow the default-inits argument to be specified
as #F; it must be a list. Implement DEFINE-STRUCTURE/KEYWORD-PARSER*
to provide more efficient generation of keyword constructors.
Chris Hanson [Thu, 13 Mar 2003 20:06:41 +0000 (20:06 +0000)]
Eliminate #F argument to TYPE-DESCRIPTOR option as it's no longer
needed. Change call to MAKE-DEFINE-STRUCTURE-TYPE so that the length
of the structure is supplied, rather than the offset.
Chris Hanson [Thu, 13 Mar 2003 18:13:52 +0000 (18:13 +0000)]
Eliminate use of DEFINE-STRUCTURE in this file. It's not needed and
is unnecessarily constraining the design of DEFINE-STRUCTURE.
Chris Hanson [Thu, 13 Mar 2003 03:58:18 +0000 (03:58 +0000)]
Change DEFINE-STRUCTURE to generate type descriptors for all
structures, including untagged ones. This will simplify some
operations that need access to the type descriptor.
The default name to which the type descriptor is bound has been
changed to RTD:foo where "foo" is the structure's root name.
For the runtime cold load, allow TYPE-DESCRIPTOR option to accept #F
as an argument so that the structures defined in "packag.scm" don't
try to build a type descriptor. This is important because this file
is loaded prior to the type-descriptor infrastructure. A consequence
of this change is that the TYPE-DESCRIPTOR option no longer implies
tagging. This is independently specified by the NAMED option, and
these two options are permitted to be used together.
Add TAG and OFFSET fields to the runtime type descriptor for
non-record structures. In the next revision, this will allow building
more efficient constructors.
Chris Hanson [Thu, 13 Mar 2003 03:22:48 +0000 (03:22 +0000)]
Use explicit names for type descriptors.
Chris Hanson [Thu, 13 Mar 2003 03:19:53 +0000 (03:19 +0000)]
Fix mistaken reference to DEFINE-STRUCTURE type descriptor.
Chris Hanson [Thu, 13 Mar 2003 03:15:41 +0000 (03:15 +0000)]
Use explicit name for hash-table type descriptor.
Chris Hanson [Thu, 13 Mar 2003 03:12:15 +0000 (03:12 +0000)]
Fix mistaken reference to DEFINE-STRUCTURE type descriptor.
Chris Hanson [Wed, 12 Mar 2003 20:41:42 +0000 (20:41 +0000)]
Change both records and named structures to store default values as
thunks in the type structure, which are then called when needed.
Introduce new procedures to get the default value for a slot, given
the type descriptor, and use them as needed in DEFINE-STRUCTURE,
rather than just inserting the default-init expression.
Put back the UNPARSER-METHOD argument to MAKE-RECORD-TYPE, and use it
in DEFINE-STRUCTURE.
Once again, use RECORD-KEYWORD-CONSTRUCTOR in DEFINE-STRUCTURE, this
time with better results.
Chris Hanson [Wed, 12 Mar 2003 20:40:28 +0000 (20:40 +0000)]
Fix bug: STRUCTURE-TAG/DEFAULT-VALUE can't be used on untagged
structures.
Chris Hanson [Tue, 11 Mar 2003 05:01:21 +0000 (05:01 +0000)]
Change both records and named structures to store default values as
thunks in the type structure, which are then called when needed.
Introduce new procedures to get the default value for a slot, given
the type descriptor, and use them as needed in DEFINE-STRUCTURE,
rather than just inserting the default-init expression.
Put back the UNPARSER-METHOD argument to MAKE-RECORD-TYPE, and use it
in DEFINE-STRUCTURE.
Once again, use RECORD-KEYWORD-CONSTRUCTOR in DEFINE-STRUCTURE, this
time with better results.
Chris Hanson [Mon, 10 Mar 2003 20:53:51 +0000 (20:53 +0000)]
Eliminate incorrect usage of default initializers in DEFINE-STRUCTURE.
These initializers contain variable references that are intended to
refer to other slots in the structure. The correct usage assumes that
the initializers are closed in the environment in which the
DEFINE-STRUCTURE form appears.
Chris Hanson [Mon, 10 Mar 2003 20:12:30 +0000 (20:12 +0000)]
If script is invoked from top-level build directory (the usual case),
allow user to omit the argument.
Chris Hanson [Mon, 10 Mar 2003 06:05:53 +0000 (06:05 +0000)]
Fix typo in %RECORD-CONSTRUCTOR-GIVEN-NAMES.
Chris Hanson [Sun, 9 Mar 2003 17:17:06 +0000 (17:17 +0000)]
Change START-INDENT to be two booleans, INDENT-DTD? and
INDENT-ATTRIBUTES?.
Chris Hanson [Sat, 8 Mar 2003 05:28:29 +0000 (05:28 +0000)]
Don't save DEFAULT-RECORD, go back to using DEFAULT-VALUES.
DEFAULT-RECORD has the problem that when the defaults aren't
specified, often the record can't be printed, which makes examining
the structure painful.
Chris Hanson [Sat, 8 Mar 2003 04:53:58 +0000 (04:53 +0000)]
Revert earlier change to use RECORD-KEYWORD-CONSTRUCTOR, because it
doesn't handle default values right.
Actually, I don't think it can do so, because DEFINE-STRUCTURE has
default expressions rather than default values; the expressions are
intended to be evaluated within the context of the constructor. I
think this is a design flaw, but I'm not yet sure whether it is OK to
fix the design.
Chris Hanson [Sat, 8 Mar 2003 02:52:33 +0000 (02:52 +0000)]
Fix thinko in previous change.
Chris Hanson [Sat, 8 Mar 2003 02:48:36 +0000 (02:48 +0000)]
Use angle notation for type descriptor.
Chris Hanson [Sat, 8 Mar 2003 02:40:14 +0000 (02:40 +0000)]
Use angle notation for type descriptor.
Chris Hanson [Sat, 8 Mar 2003 02:26:01 +0000 (02:26 +0000)]
Implement GUARANTEE- procedures for symbols.
Chris Hanson [Sat, 8 Mar 2003 02:16:14 +0000 (02:16 +0000)]
Use angle notation for type descriptor.
Chris Hanson [Sat, 8 Mar 2003 02:09:05 +0000 (02:09 +0000)]
Export GUARANTEE-PARSER-MACROS.
Chris Hanson [Sat, 8 Mar 2003 02:05:50 +0000 (02:05 +0000)]
Don't use WRITE-TO-STRING in ->TYPE-NAME; it gets called too early in
the cold load.
Chris Hanson [Sat, 8 Mar 2003 02:03:47 +0000 (02:03 +0000)]
Fix typo in previous change.
Chris Hanson [Fri, 7 Mar 2003 21:24:45 +0000 (21:24 +0000)]
Export some syntactic-environment procedures.
Chris Hanson [Fri, 7 Mar 2003 21:22:51 +0000 (21:22 +0000)]
Export some syntactic-environment procedures.
Chris Hanson [Fri, 7 Mar 2003 21:18:22 +0000 (21:18 +0000)]
Use angle notation for type descriptor.
Chris Hanson [Fri, 7 Mar 2003 21:13:29 +0000 (21:13 +0000)]
Use DEFINE-RECORD-TYPE to make record descriptions more succinct.
Chris Hanson [Fri, 7 Mar 2003 20:53:22 +0000 (20:53 +0000)]
Use DEFINE-RECORD-TYPE to make record descriptions more succinct.
Chris Hanson [Fri, 7 Mar 2003 20:48:09 +0000 (20:48 +0000)]
Use DEFINE-RECORD-TYPE to make record descriptions more succinct.
Chris Hanson [Fri, 7 Mar 2003 20:41:23 +0000 (20:41 +0000)]
Use DEFINE-RECORD-TYPE to make record descriptions more succinct.
Chris Hanson [Fri, 7 Mar 2003 19:40:14 +0000 (19:40 +0000)]
Use DEFINE-RECORD-TYPE to make record descriptions more succinct.
Chris Hanson [Fri, 7 Mar 2003 19:34:48 +0000 (19:34 +0000)]
Use DEFINE-RECORD-TYPE to make record descriptions more succinct.
Chris Hanson [Fri, 7 Mar 2003 19:19:24 +0000 (19:19 +0000)]
Use DEFINE-RECORD-TYPE to make record descriptions more succinct.
Chris Hanson [Fri, 7 Mar 2003 19:09:22 +0000 (19:09 +0000)]
Use DEFINE-RECORD-TYPE to make record descriptions more succinct.
Chris Hanson [Fri, 7 Mar 2003 19:08:28 +0000 (19:08 +0000)]
Remove angle brackets ("<...>") from record-type name.
Chris Hanson [Fri, 7 Mar 2003 18:45:58 +0000 (18:45 +0000)]
Use RECORD-KEYWORD-CONSTRUCTOR.
Chris Hanson [Fri, 7 Mar 2003 18:34:43 +0000 (18:34 +0000)]
Implement RECORD-KEYWORD-CONSTRUCTOR.
Chris Hanson [Fri, 7 Mar 2003 06:18:17 +0000 (06:18 +0000)]
Fix typo.
Chris Hanson [Fri, 7 Mar 2003 05:49:18 +0000 (05:49 +0000)]
Rename RECORD-COPY to COPY-RECORD.
Chris Hanson [Fri, 7 Mar 2003 05:48:36 +0000 (05:48 +0000)]
Revamp the record abstraction. Record types now have a "default
record" that can be used as a template to speed up record
construction, and to hold default slot values. Eliminate optional
print-method argument to MAKE-RECORD-TYPE, replacing it with an
optional default-values argument. Tune record constructors to be very
fast for those cases where it is easy to do so. Change RECORD-COPY to
COPY-RECORD.
Chris Hanson [Fri, 7 Mar 2003 05:42:38 +0000 (05:42 +0000)]
Revert most of previous change. Instead introduce new procedures
LIST?->LENGTH and LIST-OF-TYPE?->LENGTH (yes, I know these names suck;
I'm open to suggestions). Also introduce corresponding GUARANTEE
procedures.
Chris Hanson [Thu, 6 Mar 2003 15:28:48 +0000 (15:28 +0000)]
Change LIST?, ALIST?, and LIST-OF-TYPE? to return the length of the
list when true. New procedures GUARANTEE-LIST, GUARANTEE-ALIST, and
GUARANTEE-LIST-OF-TYPE. Replace GUARANTEE-INDEX/LIST with
GUARANTEE-INDEX-FIXNUM.
Chris Hanson [Thu, 6 Mar 2003 05:41:19 +0000 (05:41 +0000)]
Eliminate long-unused support for applicable records.
Chris Hanson [Thu, 6 Mar 2003 05:14:21 +0000 (05:14 +0000)]
Change name of button type from BUTTON-RECORD-TYPE to <BUTTON>.
Chris Hanson [Thu, 6 Mar 2003 05:05:52 +0000 (05:05 +0000)]
Fix mistake in definition of DEFINE-RECORD-TYPE: fields are in CDDDDR
of form, not in the fifth element.
Chris Hanson [Thu, 6 Mar 2003 04:57:52 +0000 (04:57 +0000)]
Eliminate long-unused support for applicable records.
Chris Hanson [Wed, 5 Mar 2003 01:15:13 +0000 (01:15 +0000)]
New procedure XML->WIDE-STRING.
Chris Hanson [Wed, 5 Mar 2003 01:14:40 +0000 (01:14 +0000)]
Restructure XML output procedures to take a rest argument that is a
list of keyword options. At present, there is only one option,
'start-indent, which turns the indentation on or off.
Chris Hanson [Mon, 3 Mar 2003 12:42:13 +0000 (12:42 +0000)]
Fix typo.
Chris Hanson [Sun, 2 Mar 2003 03:49:46 +0000 (03:49 +0000)]
Fix several parser bugs that were found by the conformance tests.
Chris Hanson [Sun, 2 Mar 2003 03:48:47 +0000 (03:48 +0000)]
Don't allow whitespace in DTD.
Chris Hanson [Sun, 2 Mar 2003 02:48:39 +0000 (02:48 +0000)]
Reject documents that contain entity references whose replacement text
isn't fully defined.
Chris Hanson [Sat, 1 Mar 2003 16:53:39 +0000 (16:53 +0000)]
Major rewrite, primarily to eliminate XML-UNINTERPRETED, replacing it
with XML-ENTITY-REF and XML-PARAMETER-ENTITY-REF. Also add careful
type checking to data structures, so that argument structure is
verified.
Chris Hanson [Sat, 1 Mar 2003 05:38:22 +0000 (05:38 +0000)]
Fix logic error in UTF-8 decoding.
Chris Hanson [Fri, 28 Feb 2003 04:40:25 +0000 (04:40 +0000)]
Major rewrite of Unicode support. New design supports "wide"
characters and strings, and has support for UTF-8, UTF-16, and UTF-32
encodings.
Chris Hanson [Fri, 28 Feb 2003 04:36:04 +0000 (04:36 +0000)]
Change character representation to have 21 code bits and 4 bucky bits.
This new representation allows all Unicode characters to be
represented.
Chris Hanson [Thu, 27 Feb 2003 21:27:58 +0000 (21:27 +0000)]
Allow OPEN-INPUT-STRING to accept #F for optional arguments.
Chris Hanson [Wed, 26 Feb 2003 00:24:29 +0000 (00:24 +0000)]
Change GUARANTEE-SUBSTRING-END-INDEX to take a length argument rather
than a string argument.