mit-scheme.git
36 years agoMake sure that the constant parts of this file are integrated as
Chris Hanson [Wed, 31 Aug 1988 05:55:31 +0000 (05:55 +0000)]
Make sure that the constant parts of this file are integrated as
constants in the rest of the compiler.

36 years agoHandle case where base address of an `offset' locative is a constant.
Chris Hanson [Wed, 31 Aug 1988 05:45:58 +0000 (05:45 +0000)]
Handle case where base address of an `offset' locative is a constant.

36 years agoInitial revision
Chris Hanson [Tue, 30 Aug 1988 08:35:12 +0000 (08:35 +0000)]
Initial revision

36 years agoMany changes to improve code at both RTL and LAP levels. Major
Chris Hanson [Tue, 30 Aug 1988 02:16:13 +0000 (02:16 +0000)]
Many changes to improve code at both RTL and LAP levels.  Major
highlights: improved handling of continuations that are sometimes
known; improved instruction combination algorithm; better register
spilling in LAP generator; better handling of registers for fixnum
operations.

36 years agoTeach how to combine stack references.
Chris Hanson [Tue, 30 Aug 1988 02:13:14 +0000 (02:13 +0000)]
Teach how to combine stack references.

36 years agoRewrite this pass to be a more powerful instruction combiner. This is
Chris Hanson [Mon, 29 Aug 1988 23:21:32 +0000 (23:21 +0000)]
Rewrite this pass to be a more powerful instruction combiner.  This is
still not a general solution, but now it is smart about moving the
value register and constant expressions over multiple instructions.

36 years agoRedefine expression-cost computation to be mostly machine independent.
Chris Hanson [Mon, 29 Aug 1988 23:19:44 +0000 (23:19 +0000)]
Redefine expression-cost computation to be mostly machine independent.

36 years agoFlush `expression-non-object?' since that is now defined elsewhere.
Chris Hanson [Mon, 29 Aug 1988 23:18:23 +0000 (23:18 +0000)]
Flush `expression-non-object?' since that is now defined elsewhere.

36 years agoMerge concepts of `address' and `fixnum' register into `non-object'
Chris Hanson [Mon, 29 Aug 1988 23:17:22 +0000 (23:17 +0000)]
Merge concepts of `address' and `fixnum' register into `non-object'
register.

36 years agoFix stupid bug involving missing call to `scfg*scfg->scfg!'.
Chris Hanson [Mon, 29 Aug 1988 23:16:12 +0000 (23:16 +0000)]
Fix stupid bug involving missing call to `scfg*scfg->scfg!'.

36 years agoMust not pop return address unless it has been pushed.
Chris Hanson [Mon, 29 Aug 1988 23:14:17 +0000 (23:14 +0000)]
Must not pop return address unless it has been pushed.

36 years agoMerge concepts of `address' and `fixnum' register into `non-object'
Chris Hanson [Mon, 29 Aug 1988 23:08:52 +0000 (23:08 +0000)]
Merge concepts of `address' and `fixnum' register into `non-object'
register.  Implement operations to detect substitutable register
within a given expression, and to substitute subexpressions for those
registers.  Implement predicate to determine if an expression is
constant.  All of these new operations are used by the improved
register combiner.

Simplify `rtl:trivial-expression?' by disallowing stack references.
This causes some inefficiencies that must be corrected elsewhere, but
reveals more intermediate values to the CSE.

36 years agoMerge concepts of `address' and `fixnum' register into `non-object'
Chris Hanson [Mon, 29 Aug 1988 23:03:03 +0000 (23:03 +0000)]
Merge concepts of `address' and `fixnum' register into `non-object'
register.

36 years agoChange references to `coerce->any' into calls to
Chris Hanson [Mon, 29 Aug 1988 22:56:03 +0000 (22:56 +0000)]
Change references to `coerce->any' into calls to
`standard-register-reference'.

36 years agoUse `move-to-temporary-register!' to correctly reuse a data register
Chris Hanson [Mon, 29 Aug 1988 22:54:31 +0000 (22:54 +0000)]
Use `move-to-temporary-register!' to correctly reuse a data register
for a particular rule.  Previously was doing something ad hoc.

36 years agoMany many changes.
Chris Hanson [Mon, 29 Aug 1988 22:49:54 +0000 (22:49 +0000)]
Many many changes.

36 years agoDefine fixnum constant limits more carefully. Redefine expression
Chris Hanson [Mon, 29 Aug 1988 22:46:42 +0000 (22:46 +0000)]
Define fixnum constant limits more carefully.  Redefine expression
cost computation -- most is now machine-independent.  Change
`address-register' concept to be `non-object-register'.  Delete
`pseudo-register=?'.  Define `interpreter-value-register?'.

36 years agoToo many changes to list them all. See the code.
Chris Hanson [Mon, 29 Aug 1988 22:43:42 +0000 (22:43 +0000)]
Too many changes to list them all.  See the code.

36 years agoFix order of events bug in disassembly of bit field instructions.
Chris Hanson [Mon, 29 Aug 1988 22:40:41 +0000 (22:40 +0000)]
Fix order of events bug in disassembly of bit field instructions.

36 years agoChange names of two state variables for `show-fg', because one of them
Chris Hanson [Mon, 29 Aug 1988 22:39:19 +0000 (22:39 +0000)]
Change names of two state variables for `show-fg', because one of them
conflicted with another variable in the compiler package.

36 years agoNo change. made a mistake.
Mark Friedman [Mon, 29 Aug 1988 22:36:32 +0000 (22:36 +0000)]
No change. made a mistake.

36 years agoForce register allocator to reuse registers on an LRU basis.
Chris Hanson [Mon, 29 Aug 1988 22:35:26 +0000 (22:35 +0000)]
Force register allocator to reuse registers on an LRU basis.
Previously it was somewhat random, and usually MRU.  Teach the
allocator to spill values to registers of other types when allocating
a register of a particular type.  This often wins grossly on the
68020.  Also implement predicates to determine whether particular
aliases have unique values.

36 years agoMany changes. Add documentation comments to most of the procedures in
Chris Hanson [Mon, 29 Aug 1988 22:31:59 +0000 (22:31 +0000)]
Many changes.  Add documentation comments to most of the procedures in
this file.  Improve functionality of existing procedures in a variety
of ways, and add new procedures to implement new functionality.

36 years agoBreak out procedure to pattern match RTL against rules database. This
Chris Hanson [Mon, 29 Aug 1988 22:30:22 +0000 (22:30 +0000)]
Break out procedure to pattern match RTL against rules database.  This
procedure can be used as a predicate by the RTL optimizer to determine
if particular instructions are valid.  In particular, this is used by
the instruction combiner.

36 years agofix named let
Joe Marshall [Fri, 26 Aug 1988 23:00:50 +0000 (23:00 +0000)]
fix named let

36 years ago(let loop ((x loop)) x) worked when it shouldn't have.
Joe Marshall [Fri, 26 Aug 1988 22:53:47 +0000 (22:53 +0000)]
(let loop ((x loop)) x) worked when it shouldn't have.
has been fixed so that the name is not visible to the init forms.

36 years agoUndo changes introduced with version 4.10, to facilitate
Chris Hanson [Thu, 25 Aug 1988 06:42:03 +0000 (06:42 +0000)]
Undo changes introduced with version 4.10, to facilitate
parallel development.

36 years agoGuarantee that "comp.bcon" is constructed if it doesn't already exist.
Chris Hanson [Wed, 24 Aug 1988 22:28:55 +0000 (22:28 +0000)]
Guarantee that "comp.bcon" is constructed if it doesn't already exist.

36 years agoLoad cref if not already loaded.
Chris Hanson [Wed, 24 Aug 1988 21:21:07 +0000 (21:21 +0000)]
Load cref if not already loaded.

36 years agoJust forgot a few things for the rtl-constructor stuff.
Mark Friedman [Wed, 24 Aug 1988 16:29:46 +0000 (16:29 +0000)]
Just forgot a few things for the rtl-constructor stuff.

36 years agoAdded expand.scm in support of the new rtl expansion phase.
Mark Friedman [Wed, 24 Aug 1988 14:33:41 +0000 (14:33 +0000)]
Added expand.scm in support of the new rtl expansion phase.

36 years agoGuarantee that the ".bin" version of each file is loaded. Otherwise,
Chris Hanson [Wed, 24 Aug 1988 06:53:01 +0000 (06:53 +0000)]
Guarantee that the ".bin" version of each file is loaded.  Otherwise,
an existing ".com" could override the changes to a given file.

36 years agoAdded support for a new expansion phase, which is essentially open
Mark Friedman [Tue, 23 Aug 1988 16:34:11 +0000 (16:34 +0000)]
Added support for a new expansion phase, which is essentially open
coding done after common subexpression elimination.

36 years agoMake error messages a bit more informative.
Chris Hanson [Tue, 23 Aug 1988 09:04:54 +0000 (09:04 +0000)]
Make error messages a bit more informative.

36 years agoExport `lap-generator/match-rtl-instruction' to (compiler) package so
Chris Hanson [Mon, 22 Aug 1988 22:20:08 +0000 (22:20 +0000)]
Export `lap-generator/match-rtl-instruction' to (compiler) package so
that it can be used by RTL optimizer.

36 years agoSplit off pattern matching part of LAP generator to allow it to be
Chris Hanson [Mon, 22 Aug 1988 22:15:31 +0000 (22:15 +0000)]
Split off pattern matching part of LAP generator to allow it to be
used by the RTL optimizer.  Move definition of `*dead-registers*' to
another file.

36 years agoFix documentation.
Chris Hanson [Mon, 22 Aug 1988 20:40:12 +0000 (20:40 +0000)]
Fix documentation.

36 years agoAdded support for the open coding of generic arithmetic.
Mark Friedman [Mon, 22 Aug 1988 20:33:53 +0000 (20:33 +0000)]
Added support for the open coding of generic arithmetic.

36 years agoThere's a new expansion phase to support the open coding of generic
Mark Friedman [Mon, 22 Aug 1988 20:25:43 +0000 (20:25 +0000)]
There's a new expansion phase to support the open coding of generic
arithmetic. It is essentially there to allow for the open coding of
rtl that you want to be treated as a single statement or expression by
the common subexpression eliminator.

36 years agoThe rtl constructor macros now place entries in a table that maps from
Mark Friedman [Mon, 22 Aug 1988 20:20:59 +0000 (20:20 +0000)]
The rtl constructor macros now place entries in a table that maps from
rtl types to rtl contructors.

36 years agoAdded support for the open coding of generic arithmetic.
Mark Friedman [Mon, 22 Aug 1988 20:10:18 +0000 (20:10 +0000)]
Added support for the open coding of generic arithmetic.

36 years agoMade the vector stuff more robust (with some more open coded checks).
Mark Friedman [Mon, 22 Aug 1988 20:03:44 +0000 (20:03 +0000)]
Made the vector stuff more robust (with some more open coded checks).
Added support for the open coding of generic arithmetic (the actual
code for floating point is not yet there, although the hooks are).

36 years ago(return-operator/pop-frames) Must pop `extra' off stack in all cases.
Chris Hanson [Thu, 18 Aug 1988 06:50:25 +0000 (06:50 +0000)]
(return-operator/pop-frames) Must pop `extra' off stack in all cases.

36 years agoRandom editing to clean up code a bit. No change in functionality.
Chris Hanson [Thu, 18 Aug 1988 04:37:21 +0000 (04:37 +0000)]
Random editing to clean up code a bit.  No change in functionality.

36 years agoTest to determine if a continuation is direct linked must be more
Chris Hanson [Thu, 18 Aug 1988 03:28:41 +0000 (03:28 +0000)]
Test to determine if a continuation is direct linked must be more
sophisticated now that RTL generator is direct linking more kinds of
continuations.

36 years agoFix editing error.
Chris Hanson [Thu, 18 Aug 1988 02:02:37 +0000 (02:02 +0000)]
Fix editing error.

36 years agoExport `syntax-files!' to the compiler package.
Chris Hanson [Thu, 18 Aug 1988 01:47:27 +0000 (01:47 +0000)]
Export `syntax-files!' to the compiler package.

36 years agoImprove code generated for inputs like the following:
Chris Hanson [Thu, 18 Aug 1988 01:46:45 +0000 (01:46 +0000)]
Improve code generated for inputs like the following:

    (if (if (and (object-type? (ucode-type fixnum) r)
 (object-type? (ucode-type fixnum) l))
    (fix:> r l)
    (> r l))
...)

Previously, the code generated for the call to `fix:>' was deficient
in that it pushed a continuation, performed the inline coded
comparison, then did a pop-return.  In fact, since the continuation is
known at that point, and is not being passed anywhere, there's no
reason to push anything on the stack.  These changes implement this.

36 years agoImprove code generated for inputs like the following:
Chris Hanson [Thu, 18 Aug 1988 01:37:23 +0000 (01:37 +0000)]
Improve code generated for inputs like the following:

    (if (if (and (object-type? (ucode-type fixnum) r)
 (object-type? (ucode-type fixnum) l))
    (fix:> r l)
    (> r l))
...)

Previously, the code generated for the call to `fix:>' was deficient
in that it pushed a continuation, performed the inline coded
comparison, then did a pop-return.  In fact, since the continuation is
known at that point, and is not being passed anywhere, there's no
reason to push anything on the stack.  These changes implement this.

36 years agoSlight typo in &= definition fixed.
Mark Friedman [Tue, 16 Aug 1988 18:10:16 +0000 (18:10 +0000)]
Slight typo in &= definition fixed.

36 years agoSlight typo in &= definition fixed.
Mark Friedman [Tue, 16 Aug 1988 17:49:29 +0000 (17:49 +0000)]
Slight typo in &= definition fixed.

36 years agoUpdate documentation strings.
Chris Hanson [Mon, 15 Aug 1988 23:08:55 +0000 (23:08 +0000)]
Update documentation strings.

36 years agoCause `disk-save' to run `event:after-restart' when given #T as a
Chris Hanson [Mon, 15 Aug 1988 23:05:26 +0000 (23:05 +0000)]
Cause `disk-save' to run `event:after-restart' when given #T as a
second argument.

36 years agoParameterize `pp' to print uninterned symbols by name.
Chris Hanson [Mon, 15 Aug 1988 22:00:48 +0000 (22:00 +0000)]
Parameterize `pp' to print uninterned symbols by name.
Define `primitive-procedure-documentation'.

36 years agoDefine `primitive-procedure-documentation'.
Chris Hanson [Mon, 15 Aug 1988 21:58:20 +0000 (21:58 +0000)]
Define `primitive-procedure-documentation'.

36 years agoAdd parameterization to print uninterned symbols by name.
Chris Hanson [Mon, 15 Aug 1988 21:57:18 +0000 (21:57 +0000)]
Add parameterization to print uninterned symbols by name.

36 years agoChange definition of `DEFINE_PRIMITIVE' macro to include extra fields
Chris Hanson [Mon, 15 Aug 1988 20:58:52 +0000 (20:58 +0000)]
Change definition of `DEFINE_PRIMITIVE' macro to include extra fields
for minimum number of arguments and documentation.  Add primitive to
access the documentation string.  The min args slot is currently
unused.  Change all definitions of primitives to use this macro.

The documentation strings should be filled in as time permits.

Partially update "sample.c" to reflect this.  More work remains to be
done.

Update "Findprim.c" substantially, to handle these changes.  Also
change all fixed size tables to be dynamically allocated.

Define new macros `EMPTY_LIST', `SHARP_F' and `SHARP_T'.  All
references to `TRUTH' replaced by `SHARP_T'.  Some references to `NIL'
changed to the appropriate macro, but many more remain; these should
be replaced as time permits.

Update several copyright notices to reflect new year.

Change name of "primitive.h" to "prims.h".

36 years agoChange definition of `DEFINE_PRIMITIVE' macro to include extra fields
Chris Hanson [Mon, 15 Aug 1988 20:37:43 +0000 (20:37 +0000)]
Change definition of `DEFINE_PRIMITIVE' macro to include extra fields
for minimum number of arguments and documentation.  Add primitive to
access the documentation string.  The min args slot is currently
unused.  Change all definitions of primitives to use this macro.

The documentation strings should be filled in as time permits.

Partially update "sample.c" to reflect this.  More work remains to be
done.

Update "Findprim.c" substantially, to handle these changes.  Also
change all fixed size tables to be dynamically allocated.

Define new macros `EMPTY_LIST', `SHARP_F' and `SHARP_T'.  All
references to `TRUTH' replaced by `SHARP_T'.  Some references to `NIL'
changed to the appropriate macro, but many more remain; these should
be replaced as time permits.

Update several copyright notices to reflect new year.

Change name of "primitive.h" to "prims.h".

36 years agoGuarantee that the `cd' requested by the Scheme process happens in the
Chris Hanson [Fri, 12 Aug 1988 02:41:22 +0000 (02:41 +0000)]
Guarantee that the `cd' requested by the Scheme process happens in the
Scheme process buffer.

36 years agoVarious bug fixes, also some efficiency improvements to the CSE.
Chris Hanson [Thu, 11 Aug 1988 20:15:54 +0000 (20:15 +0000)]
Various bug fixes, also some efficiency improvements to the CSE.

36 years agoBe more specific about what kind of combination is considered to be an
Chris Hanson [Thu, 11 Aug 1988 20:13:27 +0000 (20:13 +0000)]
Be more specific about what kind of combination is considered to be an
`error-combination'.

36 years agoVarious efficiency and organization changes. Eliminate `copy-cache'
Chris Hanson [Thu, 11 Aug 1988 20:11:14 +0000 (20:11 +0000)]
Various efficiency and organization changes.  Eliminate `copy-cache'
slot from `element' objects, reusing `cost' for that purpose during
the copy phase.

36 years ago(assemble-objects!) Never use / when doing integer arithmetic. Use
Chris Hanson [Thu, 11 Aug 1988 19:54:25 +0000 (19:54 +0000)]
(assemble-objects!) Never use / when doing integer arithmetic.  Use
quotient instead.

36 years agoImplement compiled code reference trap errors.
Chris Hanson [Thu, 11 Aug 1988 03:15:17 +0000 (03:15 +0000)]
Implement compiled code reference trap errors.

36 years agoExport `stack-frame/return-address' to global environment.
Chris Hanson [Thu, 11 Aug 1988 03:14:32 +0000 (03:14 +0000)]
Export `stack-frame/return-address' to global environment.

36 years agoDo not barf if error combination is malformed.
Chris Hanson [Thu, 11 Aug 1988 02:15:57 +0000 (02:15 +0000)]
Do not barf if error combination is malformed.

36 years agoadded halftoning routines: psam, ht-od, ht-bn, ht-ibn
Panayotis Skordos [Wed, 10 Aug 1988 05:45:38 +0000 (05:45 +0000)]
added halftoning routines: psam, ht-od, ht-bn, ht-ibn
added image-laplacian, image-double-by-interpolation,
write-image-2bint

36 years agoadded halftoning routines: psam, ht-od, ht-bn, ht-ibn
Panayotis Skordos [Wed, 10 Aug 1988 05:26:54 +0000 (05:26 +0000)]
added halftoning routines: psam, ht-od, ht-bn, ht-ibn
added image-laplacian, image-double-by-interpolation,
write-image-2bint

36 years agoDo not perform automagic integrations by default. This optimization
Chris Hanson [Tue, 9 Aug 1988 19:59:12 +0000 (19:59 +0000)]
Do not perform automagic integrations by default.  This optimization
caused a bug in the runtime system version 13.108 where event
distributors ignored the internal `receivers' binding and used the
empty list instead.

36 years agoDisable downward coercion of flonums.
Chris Hanson [Tue, 9 Aug 1988 19:29:18 +0000 (19:29 +0000)]
Disable downward coercion of flonums.

36 years agotable_length and table_size are stored with Make_Non_Pointer, rather
Guillermo J. Rozas [Tue, 9 Aug 1988 02:31:26 +0000 (02:31 +0000)]
table_length and table_size are stored with Make_Non_Pointer, rather
than Make_Pointer, since they are integers rather than pointers.

36 years agoChange call to `pp' to match change in runtime system.
Chris Hanson [Fri, 5 Aug 1988 21:14:19 +0000 (21:14 +0000)]
Change call to `pp' to match change in runtime system.

36 years agoIntroduce new variable `unspecific' which the compiler may assume an
Chris Hanson [Fri, 5 Aug 1988 20:59:16 +0000 (20:59 +0000)]
Introduce new variable `unspecific' which the compiler may assume an
arbitrary binding value for.  Replace nearly all occurrences of
`*the-non-printing-object*' with this new variable.  Flush special
handling for arguments to `error' special form, assuming that all code
is syntaxed with the new syntaxer.

36 years agoRepaginate.
Chris Hanson [Fri, 5 Aug 1988 20:57:21 +0000 (20:57 +0000)]
Repaginate.

36 years agoExtend `->environment' to handle package objects.
Chris Hanson [Fri, 5 Aug 1988 20:51:27 +0000 (20:51 +0000)]
Extend `->environment' to handle package objects.

36 years agoReplace occurrences of `*the-non-printing-object*' with `unspecific'.
Chris Hanson [Fri, 5 Aug 1988 20:49:51 +0000 (20:49 +0000)]
Replace occurrences of `*the-non-printing-object*' with `unspecific'.
Flush randomness dealing with old `error' macro, specifically because
it referred to `*the-non-printing-object*'.

36 years agoMove `*the-non-printing-object*' to "global" since it isn't really
Chris Hanson [Fri, 5 Aug 1988 20:16:26 +0000 (20:16 +0000)]
Move `*the-non-printing-object*' to "global" since it isn't really
needed at boot time.

36 years agoAdd variable `unspecific' which the compiler may treat as being bound
Chris Hanson [Fri, 5 Aug 1988 20:15:45 +0000 (20:15 +0000)]
Add variable `unspecific' which the compiler may treat as being bound
to any convenient value.  This is used as the value of an expression
when that expression's value is unused.

36 years agoRegularize argument structure to `pp'. Extend to handle hash number
Chris Hanson [Fri, 5 Aug 1988 19:44:30 +0000 (19:44 +0000)]
Regularize argument structure to `pp'.  Extend to handle hash number
of object in addition to object itself.  Extend to print out
components of named structures.

36 years agoChange `procedure?' to handle entities specially, recursing on their
Chris Hanson [Tue, 2 Aug 1988 20:27:26 +0000 (20:27 +0000)]
Change `procedure?' to handle entities specially, recursing on their
invocation method.  Change `environment?' to be true of
`system-global-environment'.  Add new procedures `ic-environment?' and
`system-global-environment?' to distinguish the interesting cases.

36 years agoChange `environment?' to be true of `system-global-environment'. Add
Chris Hanson [Mon, 1 Aug 1988 23:10:12 +0000 (23:10 +0000)]
Change `environment?' to be true of `system-global-environment'.  Add
new procedures `ic-environment?' and `system-global-environment?' to
distinguish the interesting cases.

36 years agoChange `procedure?' to handle entities specially, recursing on their
Chris Hanson [Mon, 1 Aug 1988 23:07:27 +0000 (23:07 +0000)]
Change `procedure?' to handle entities specially, recursing on their
invocation method.

36 years agoFor "operator" microcode error handlers, the irritants were not being
Chris Hanson [Fri, 22 Jul 1988 22:54:04 +0000 (22:54 +0000)]
For "operator" microcode error handlers, the irritants were not being
passed as a list, resulting in a different error being signalled
whenever such an error occurred.

36 years agoPut default pathnames in file "paths.h".
Chris Hanson [Thu, 21 Jul 1988 18:45:55 +0000 (18:45 +0000)]
Put default pathnames in file "paths.h".

36 years agoIt is now legal for a continuation to have a noop node as its entry,
Chris Hanson [Wed, 20 Jul 1988 07:37:29 +0000 (07:37 +0000)]
It is now legal for a continuation to have a noop node as its entry,
provided that the noop node has no next.  If it is a noop node,
connect to the next of the noop node rather than the entry of the
continuation.

36 years agoAdd new operation `sc' for running `sf' on compiler files.
Chris Hanson [Wed, 20 Jul 1988 07:35:52 +0000 (07:35 +0000)]
Add new operation `sc' for running `sf' on compiler files.

36 years agoDo not delete fg-noop nodes that are still needed. In the following
Chris Hanson [Wed, 20 Jul 1988 00:10:01 +0000 (00:10 +0000)]
Do not delete fg-noop nodes that are still needed.  In the following
example, the entry node of the continuation passed to `bar' is needed
because it is referenced by the subproblem object for the let:

(let ((cos-total
       (begin (bar)
      cos7)))
  cos-total)

36 years agoFix two bugs in the object unparsing code.
Chris Hanson [Wed, 20 Jul 1988 00:09:16 +0000 (00:09 +0000)]
Fix two bugs in the object unparsing code.

36 years agoImplement primitive `print-graphics-inverse'.
Chris Hanson [Tue, 19 Jul 1988 20:42:58 +0000 (20:42 +0000)]
Implement primitive `print-graphics-inverse'.

36 years agoGrab X error hooks. When errors occur, signal Scheme primitive errors
Chris Hanson [Tue, 19 Jul 1988 20:04:12 +0000 (20:04 +0000)]
Grab X error hooks.  When errors occur, signal Scheme primitive errors
rather than just terminating the process.

36 years agoAdd imports for `compiler-entries-tag', which is defined by runtime
Chris Hanson [Tue, 19 Jul 1988 18:22:41 +0000 (18:22 +0000)]
Add imports for `compiler-entries-tag', which is defined by runtime
system now.

36 years agoProcedure `condition/message' flushed. Use `condition/report-string'
Chris Hanson [Sat, 16 Jul 1988 21:51:09 +0000 (21:51 +0000)]
Procedure `condition/message' flushed.  Use `condition/report-string'
in stead.

36 years agoProcedure `primitive-datum' now called `object-datum'.
Chris Hanson [Sat, 16 Jul 1988 21:47:47 +0000 (21:47 +0000)]
Procedure `primitive-datum' now called `object-datum'.

36 years agoFix stupid bug involving `standard-unparser'; it requires 2 arguments,
Hal Abelson [Sat, 16 Jul 1988 20:54:39 +0000 (20:54 +0000)]
Fix stupid bug involving `standard-unparser'; it requires 2 arguments,
the second is no longer optional.  Check for other occurrences of
this.

36 years agoWhen unparsing `manifest-closure' objects, use `compiled-procedure' as
Chris Hanson [Sat, 16 Jul 1988 18:54:56 +0000 (18:54 +0000)]
When unparsing `manifest-closure' objects, use `compiled-procedure' as
the type name.

36 years agoFix stupid bug in `cond' syntaxer.
Chris Hanson [Sat, 16 Jul 1988 10:14:30 +0000 (10:14 +0000)]
Fix stupid bug in `cond' syntaxer.

36 years agoStarbase graphics: export procedures to control line style and drawing
Chris Hanson [Sat, 16 Jul 1988 09:43:39 +0000 (09:43 +0000)]
Starbase graphics: export procedures to control line style and drawing
mode.

36 years agoCorrectly implement closing of graphics device. Make everyone close
Chris Hanson [Sat, 16 Jul 1988 07:20:07 +0000 (07:20 +0000)]
Correctly implement closing of graphics device.  Make everyone close
an open device before opening the next one.

36 years agoAdjust handling of `=>' option to `cond' special form so that it
Chris Hanson [Fri, 15 Jul 1988 22:33:49 +0000 (22:33 +0000)]
Adjust handling of `=>' option to `cond' special form so that it
matches the definition in the standard.

Change unparser to handle character sets specially.

Implement octal ASCII escape sequences in strings, both for the parser
and unparser.

36 years agoChange string parser to allow escape sequence consisting of one to
Chris Hanson [Fri, 15 Jul 1988 22:31:58 +0000 (22:31 +0000)]
Change string parser to allow escape sequence consisting of one to
three octal digits, which is translated into the ASCII equivalent.