home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Frozen Fish 1: Amiga
/
FrozenFish-Apr94.iso
/
bbs
/
alib
/
d5xx
/
d556
/
scheme2c.lha
/
Scheme2C
/
CHANGES
< prev
next >
Wrap
Text File
|
1991-10-28
|
7KB
|
235 lines
Changes for the 28sep90jfb and the 09apr90 versions of Scheme->C
28sep90
Features: Added a garbage collector callback, after-collect, that
reports garbage collector status to the user.
Strings are double word aligned on implementations that require
double alignment.
Symbol names may start with "."
Macros and constants defined by DEFINE-MACRO and
DEFINE-CONSTANT can be compiled for use in augmented
interpreters (made by scc -i) by including them within an
(eval-when (load ...) ...) form.
Bugs fixed: Duplicately defined variables are not detected by the
compiler.
CRC-32 computation by the compiler is now correct and
is table driven.
Errors in top level expressions are now reported as being
in the top level rather than in the last defined procedure.
Corrected a problem that resulted in bound variables being
placed in the wrong display slots.
Corrected a problem that caused the compiler to crash when
a procedure with no statements following internal defines
was compiled.
Corrected a problem that resulted in constructs such as
(list 'x x) being incorrectly compiled when x was a top level
variable.
Stack base setting uses runtime rather than compile time value
when there is a Scheme main program.
Corrected a problem that lead to errors not always entering the
debugger when using the Scheme interpreter.
Corrected a problem where floating point output values had
"."'s inserted in error on Sun's.
doc/index: Added after-collect and changed
define-system-file-task.
gnuemacs/s2c-gnuemacs.el: fixed problem building argument list in
s2c-args-to-list.
scsc/closeana.sc: Fixed several closure analysis problems.
expform.sc: Duplicately defined variable detection has been
improved.
CRC computation for C variable name generation is
now correct, table driven and does not use
floating point numbers.
gencode.sc: Errors in top level expressions are now reported as
being at the top level rather than in the last defined
procedure.
lambdacode.sc: Corrected a problem that put values in the wrong
display slots.
macros.sc: Better duplicate variable detection.
misccode.sc: Errors in top level expressions are now reported as
being at the top level rather than in the last
defined procedure.
miscexp.sc: Corrected a problem that caused a crash when a
procedure with no forms following internal defines was
compiled.
Corrected a problem that resulted in (list 'x x) not
always being correctly compiled when x is a top level
variable.
scrt/makefile-tail: Added sci.c to files to remove on clean-sc-to-c.
Make all now passes along sccomp flag.
heap.c: Strings are now double word aligned in implementations
requiring double alignment.
Add after-collect status return.
objects.c: Correct setting of sc_stackbase with Scheme main
programs.
screp.sc: Correct problem that lead to errors not always ending
up in the debugger.
scrt5.sc: Changed define-system-file-task.
scrt7.sc: Symbol names starting with a "." are now allowed.
Floating point output no longer inserts a "." in
error on Sun's.
test/test23.sc: Added additional tests.
cdecl/extern.sc: Correct code generated for strings returned by
procedures.
typedef.sc: Close file ports after writing declaration files.
xlib/xws10.cdecl: Correct declaration of XrmGetResource.
xwss.sc: Correct argument checking in YSETSTANDARDPROPERTIES.
Add YRMGETRESOURCE and YRMMERGEDATABASES.
dummy.c: Deleted.
makefile: Deleted dummy.
xlibTYPES.sc is no longer dependent on cdecl.
Changes for the 09apr90jfb version of Scheme->C.
Features: system file tasking. See new procedures
DEFINE-SYSTEM-FILE-TASK and ENABLE-SYSTEM-FILE-TASKS.
register C globals with the garbage collector using
sc_global_TSCP.
Keyboard interrupts now allow one to examine and resume the
current state of the computation.
Bugs fixed: 8-bit characters in strings are now correctly handled.
Corrected some code generation problems related to set! to
generational objects, load and store of C doubles, and
return values from C double procedures.
C-Pointer values always represented as unsigned values.
Collect-all now correctly defined so compiled calls link
correctly.
scrt/repdef.sc: Add declarations for STACKTRACE, DOBACKTRACE, and
ON-INTERRUPT.
scdebug.sc: Disable task system file task dispatching while
debugging and handling keyboard interrupts.
Keyboard interrupts now simply interrupt the current
computation. To return to the top-level interpreter,
enter (top-level).
sceval.sc: Use the LOOPSTACKTRACE macro to access debugging
information in the stack.
screp.sc: Add *READING-STDIN* flag so that a keyboard interrupt
during a READ by the interpreter simply aborts the
read. Keyboard interrupts are now handled by code
inside scdebug.sc.
scrt5.sc: When there are no characters available on a port, the
I/O system dispatches system file tasks until
characters are available. N.B. system file tasks
never interrupt an executing Scheme program. System
file tasking is disabled while in the debugger. New
procedures: DEFINE-SYSTEM-FILE-TASK and
ENABLE-SYSTEM-FILE-TASKS.
scrt6.sc: External definitions are now from repdef.sc.
cio.h: Delete sc_procedureaddress and add sc_bufferedchars.
heap.h: Correct declarations for sc_collect_2dall and
sc_collect_2dall_v.
objects.h: Change declarations to use procedures for stack
tracing.
Add sc_global_TSCP to declare C globals to the garbage
collector.
Define sc_tscp_pointer as unsigned.
STRING_CHAR now treats characters as unsigned.
callcc.c: Made static variables stack allocated to avoid
problems if call/cc was called during a garbage
clean up procedure.
cio.c: Deleted sc_procedureaddress and added sc_bufferedchars.
heap.c: Added more checking code that is enabled when SCGCINFO
is 2 and corrected the C names for collect-all.
objects.c: Added stack trace back procedures.
Changed sc_tscp_pointer to return an unsigned value.
Added sc_global_TSCP to register C globals with the
garbage collector.
scinit.c: Changed version and collect-all's C names.
signal.c: Filled out declaration of sc_onsignal1.
scsc/callcode.sc: Correct code for calling a C procedure that returns a
double value.
main.sc: Changed version date.
misccode.sc: Correct code for loading a value from a C global that
is a double.
Correct $SET-GENC to emit SETGENTL for top-level
variables and use a temp variable to hold the value
of an expression when using SETGEN.
scrt/predef.sc: Added define-system-file-task and
enable-system-file-tasks declarations.
test/makefile-tail: Added test54
test.sc: Corrected the declaration for TEST-ERRORS.
test13.sc: Added a test to verify that characters extracted from
strings are treated as unsigned values.
test50.sc: Added a call to collect-all.
test54.sc: New tests.
test54c.c
xlib/xwss.sc: EINTR errors inside YSELECT are now correctly handled.