home *** CD-ROM | disk | FTP | other *** search
/ Frozen Fish 1: Amiga / FrozenFish-Apr94.iso / bbs / alib / d5xx / d556 / scheme2c.lha / Scheme2C / CHANGES < prev    next >
Text File  |  1991-10-28  |  7KB  |  235 lines

  1.         Changes for the 28sep90jfb and the 09apr90 versions of Scheme->C
  2.  
  3.                             28sep90
  4.  
  5. Features:    Added a garbage collector callback, after-collect, that
  6.         reports garbage collector status to the user.
  7.  
  8.         Strings are double word aligned on implementations that require
  9.         double alignment.
  10.  
  11.         Symbol names may start with "."
  12.  
  13.         Macros and constants defined by DEFINE-MACRO and
  14.         DEFINE-CONSTANT can be compiled for use in augmented
  15.         interpreters (made by scc -i) by including them within an
  16.         (eval-when (load ...) ...) form.
  17.  
  18. Bugs fixed:    Duplicately defined variables are not detected by the
  19.         compiler.
  20.  
  21.         CRC-32 computation by the compiler is now correct and
  22.         is table driven.
  23.  
  24.         Errors in top level expressions are now reported as being
  25.         in the top level rather than in the last defined procedure.
  26.  
  27.         Corrected a problem that resulted in bound variables being
  28.         placed in the wrong display slots.
  29.  
  30.         Corrected a problem that caused the compiler to crash when
  31.         a procedure with no statements following internal defines
  32.         was compiled.
  33.  
  34.         Corrected a problem that resulted in constructs such as
  35.         (list 'x x) being incorrectly compiled when x was a top level
  36.         variable.
  37.  
  38.         Stack base setting uses runtime rather than compile time value
  39.         when there is a Scheme main program.
  40.  
  41.         Corrected a problem that lead to errors not always entering the
  42.         debugger when using the Scheme interpreter.
  43.  
  44.         Corrected a problem where floating point output values had
  45.         "."'s inserted in error on Sun's.
  46.  
  47. doc/index:        Added after-collect and changed
  48.             define-system-file-task.
  49.  
  50. gnuemacs/s2c-gnuemacs.el:    fixed problem building argument list in
  51.                 s2c-args-to-list.
  52.  
  53. scsc/closeana.sc:    Fixed several closure analysis problems.
  54.  
  55.      expform.sc:        Duplicately defined variable detection has been 
  56.             improved.
  57.  
  58.             CRC computation for C variable name generation is
  59.             now correct, table driven and does not use
  60.             floating point numbers.
  61.  
  62.      gencode.sc:    Errors in top level expressions are now reported as
  63.                  being at the top level rather than in the last defined
  64.             procedure.
  65.  
  66.      lambdacode.sc:     Corrected a problem that put values in the wrong
  67.                  display slots.
  68.  
  69.      macros.sc:        Better duplicate variable detection.
  70.  
  71.      misccode.sc:    Errors in top level expressions are now reported as
  72.                  being at the top level rather than in the last
  73.             defined procedure.
  74.  
  75.      miscexp.sc:    Corrected a problem that caused a crash when a
  76.             procedure with no forms following internal defines was
  77.             compiled.
  78.  
  79.             Corrected a problem that resulted in (list 'x x) not
  80.             always being correctly compiled when x is a top level
  81.             variable.
  82.  
  83. scrt/makefile-tail:    Added sci.c to files to remove on clean-sc-to-c.
  84.                  Make all now passes along sccomp flag.
  85.  
  86.      heap.c:        Strings are now double word aligned in implementations
  87.             requiring double alignment.
  88.  
  89.             Add after-collect status return.
  90.  
  91.      objects.c:        Correct setting of sc_stackbase with Scheme main
  92.             programs.
  93.  
  94.      screp.sc:        Correct problem that lead to errors not always ending
  95.             up in the debugger.
  96.  
  97.      scrt5.sc:        Changed define-system-file-task.
  98.  
  99.      scrt7.sc:        Symbol names starting with a "." are now allowed.
  100.  
  101.             Floating point output no longer inserts a "." in
  102.             error on Sun's.
  103.  
  104. test/test23.sc:        Added additional tests.
  105.  
  106. cdecl/extern.sc:    Correct code generated for strings returned by
  107.             procedures.
  108.  
  109.       typedef.sc:    Close file ports after writing declaration files.
  110.  
  111. xlib/xws10.cdecl:    Correct declaration of XrmGetResource.
  112.  
  113.      xwss.sc:        Correct argument checking in YSETSTANDARDPROPERTIES.
  114.  
  115.             Add YRMGETRESOURCE and YRMMERGEDATABASES.
  116.  
  117.      dummy.c:        Deleted.
  118.  
  119.      makefile:        Deleted dummy.
  120.  
  121.             xlibTYPES.sc is no longer dependent on cdecl.
  122.  
  123.  
  124. Changes for the 09apr90jfb version of Scheme->C.
  125.  
  126. Features:    system file tasking.  See new procedures
  127.         DEFINE-SYSTEM-FILE-TASK and ENABLE-SYSTEM-FILE-TASKS.
  128.  
  129.         register C globals with the garbage collector using
  130.         sc_global_TSCP.
  131.  
  132.         Keyboard interrupts now allow one to examine and resume the
  133.         current state of the computation.
  134.  
  135. Bugs fixed:    8-bit characters in strings are now correctly handled.
  136.  
  137.         Corrected some code generation problems related to set! to
  138.         generational objects, load and store of C doubles, and
  139.         return values from C double procedures.
  140.  
  141.         C-Pointer values always represented as unsigned values.
  142.  
  143.         Collect-all now correctly defined so compiled calls link
  144.         correctly.
  145.  
  146.  
  147. scrt/repdef.sc:        Add declarations for STACKTRACE, DOBACKTRACE, and
  148.                 ON-INTERRUPT.
  149.  
  150.      scdebug.sc:    Disable task system file task dispatching while
  151.             debugging and handling keyboard interrupts.
  152.             Keyboard interrupts now simply interrupt the current
  153.             computation.  To return to the top-level interpreter,
  154.             enter (top-level).
  155.  
  156.      sceval.sc:        Use the LOOPSTACKTRACE macro to access debugging
  157.             information in the stack.
  158.  
  159.      screp.sc:        Add *READING-STDIN* flag so that a keyboard interrupt
  160.             during a READ by the interpreter simply aborts the
  161.             read.  Keyboard interrupts are now handled by code 
  162.             inside scdebug.sc.
  163.  
  164.      scrt5.sc:        When there are no characters available on a port, the
  165.             I/O system dispatches system file tasks until
  166.             characters are available.  N.B.  system file tasks
  167.             never interrupt an executing Scheme program.  System
  168.             file tasking is disabled while in the debugger.  New
  169.             procedures: DEFINE-SYSTEM-FILE-TASK and
  170.             ENABLE-SYSTEM-FILE-TASKS.
  171.  
  172.      scrt6.sc:        External definitions are now from repdef.sc.
  173.  
  174.      cio.h:        Delete sc_procedureaddress and add sc_bufferedchars.
  175.  
  176.      heap.h:        Correct declarations for sc_collect_2dall and
  177.             sc_collect_2dall_v.
  178.  
  179.      objects.h:        Change declarations to use procedures for stack
  180.             tracing.
  181.             Add sc_global_TSCP to declare C globals to the garbage
  182.             collector.
  183.             Define sc_tscp_pointer as unsigned.
  184.             STRING_CHAR now treats characters as unsigned.
  185.  
  186.      callcc.c:        Made static variables stack allocated to avoid
  187.             problems if call/cc was called during a garbage
  188.             clean up procedure.
  189.  
  190.      cio.c:        Deleted sc_procedureaddress and added sc_bufferedchars.
  191.  
  192.      heap.c:        Added more checking code that is enabled when SCGCINFO
  193.             is 2 and corrected the C names for collect-all.
  194.  
  195.      objects.c:        Added stack trace back procedures.
  196.             Changed sc_tscp_pointer to return an unsigned value.
  197.             Added sc_global_TSCP to register C globals with the
  198.             garbage collector.
  199.  
  200.      scinit.c:        Changed version and collect-all's C names.
  201.  
  202.      signal.c:        Filled out declaration of sc_onsignal1.
  203.  
  204.  
  205. scsc/callcode.sc:    Correct code for calling a C procedure that returns a
  206.             double value.
  207.  
  208.      main.sc:        Changed version date.
  209.  
  210.      misccode.sc:    Correct code for loading a value from a C global that
  211.             is a double.
  212.             Correct $SET-GENC to emit SETGENTL for top-level
  213.             variables and use a temp variable to hold the value
  214.             of an expression when using SETGEN.
  215.  
  216.  
  217. scrt/predef.sc:        Added define-system-file-task and
  218.             enable-system-file-tasks declarations.
  219.  
  220.  
  221. test/makefile-tail:    Added test54
  222.  
  223.      test.sc:        Corrected the declaration for TEST-ERRORS.
  224.  
  225.      test13.sc:        Added a test to verify that characters extracted from
  226.             strings    are treated as unsigned values.
  227.  
  228.      test50.sc:        Added a call to collect-all.
  229.  
  230.      test54.sc:        New tests.
  231.      test54c.c
  232.  
  233.  
  234. xlib/xwss.sc:        EINTR errors inside YSELECT are now correctly handled.
  235.