aboutsummaryrefslogtreecommitdiffstats
path: root/ANNOUNCE
diff options
context:
space:
mode:
authorBryan Newbold <bnewbold@robocracy.org>2017-02-20 00:05:25 -0800
committerBryan Newbold <bnewbold@robocracy.org>2017-02-20 00:05:25 -0800
commitdb04688faa20f3576257c0fe41752ec435beab9a (patch)
tree6d638c2e1f65afd5f49d20b2d22ce35bd74705ff /ANNOUNCE
parent1edcb9b62a1a520eddae8403c19d841c9b18737f (diff)
downloadscm-db04688faa20f3576257c0fe41752ec435beab9a.tar.gz
scm-db04688faa20f3576257c0fe41752ec435beab9a.zip
Import Upstream version 5c3upstream/5c3
Diffstat (limited to 'ANNOUNCE')
-rw-r--r--ANNOUNCE240
1 files changed, 166 insertions, 74 deletions
diff --git a/ANNOUNCE b/ANNOUNCE
index 770a9cc..102b42c 100644
--- a/ANNOUNCE
+++ b/ANNOUNCE
@@ -1,45 +1,142 @@
-This message announces the availability of Scheme release scm5b3.
-
-New in scm5b3 are:
-
- * mkimpcat.scm: 'hobbit, 'scmhob, and 'build added.
- * Link.scm (compile-file link-named-scm): Fixed. Require of
- strings removed. Tested with Hobbit 5x.
- (scm:object-suffix): changed to ".o"; only used by link-named-scm.
- * patchlvl.h (SCMVERSION): Bumped from 5b2 to 5b3.
- * mkimpcat.scm: modified for new SLIB catalog arrangement.
- * sys.c (gc_sweep): added `contin_bad' argument. When set,
- gc_sweep will warn of any uncollected continuations of non-zero
- length. This should make unexec problems less mysterious.
- * Init.scm (home-vicinity): added. Used to find "ScmInit.scm".
- * unexsunos4.c: added from emacs.
- * unexhp9k800.c: added from emacs. Broken -- doesn't change the
- segment sizes.
- * unexalpha.c: added from emacs.
- * build.scm (build C-libraries): changed horrible `supress-files'
- field to `lib-support'.
- (rebuild-catalog): added. Called by dll and dlls methods.
- * scm.texi (Compiling and Linking Custom Files): Added to describe
- how to use "build.scm" with custom files.
- * Makefile (myscm4 myscm5): now delete slibcat and implcat to keep
- them from getting stale.
- * gmalloc.c: HP-UX B.10.10 A doesn't have getpagesize.h.
- * sys.c (mark_syms): No longer mark the value cell because value
- cells get returned by calls to intern(). This caused a rare GC
- leak which showed up in large programs.
- * scm.h (const): defined to comment for hpux native cc.
-
-Fri Oct 10 00:18:40 1997 Peter E. Davis <pete@media.mit.edu>
-
- * unexhp9k800.c: added HP-UX unexec support.
-
-Sun Sep 28 14:48:10 1997 Radey Shouman <shouman@zianet.com>
-
- * ramap.c (array_imap): Fixed for zero-rank arrays arguments.
+This message announces the availability of Scheme release scm5c3.
+
+New in scm5c3:
+
+ * patchlvl.h (SCMVERSION): Bumped from 5c2 to 5c3.
+ * gmalloc.c: Imported gmalloc.c from emacs 20.2.1.
+ (check_block): (check_frag_blocks): Debugging functions added.
+ * sys.c (scm_protect_temp): Added, is currently, and probably will
+ remain, a noop to force allocation of a SCM temporary on the
+ stack.
+ * scl.c (big2str): Added call to scm_protect_temp.
+ * eval.c (map): (for_each): Added calls to scm_protect_temp.
+ * rgx.c (lregcomp): Added call to scm_protect_temp.
+ * scl.c (big2str): Take address of SCM temporary as gc protection.
+ * dynl.c (l_dyn_link):
+ conditionalized message on verbose. Cleaned up message.
+ * Link.scm (link:link):
+ prepend ./ to non-absolute sun-dl library paths.
+ * scm.texi, scm.doc, scm.1, r4rstest.scm, README, Init5c2.scm, ANNOUNCE:
+ ...-swiss => swissnet
+ * scm.h (verbose): read only macro for scm_verbose.
+ * repl.c (scm_verbose): renamed from verbose.
+ * scmfig.h (VERIFY_INTS): Added macro to print warnings if
+ interrupts are improperly allowed and CAREFUL_INTS is #defined.
+ (VOLATILE): Expands to `volatile' keyword if __STDC__ is #defined.
+ * sys.c (sys_errp): Interrupt safe system output port added.
+ (scm_estk_reset): (must_malloc): (must_realloc): (scm_make_cont):
+ Now should be run with ints deferred, no longer ever allow ints.
+ scm-estk_reset builds a new stack if scm_estk is BOOL_F.
+ * scm.c (process_signals): Modified to print deferred output to
+ sys_errp.
+ * eval.c (SCM_ENV_SAVE): (SCM_ENV_RESTORE): now ENV_SAVE,
+ ENV_RESTORE, local to eval.c
+ (apply): (ceval_1): Ints deferred before call to scm_make_cont,
+ which no longer allows ints.
+ (closure): Now takes the number of required closure arguments as a
+ second argument.
+ (m_lambda): Computes and memoizes the number of required arguments.
+ * repl.c (iprlist): Uses GCCDR so that fatal error messages during
+ gc may print better.
+ (handle_it): Call to scm_egc made conditional on NO_ENV_CACHE.
+ (growth_mon): (gc_start): (gc_end): (heap_report): Now use
+ sys_errp.
+ (ints_warn): Added for interrupt warnings using VERIFY_INTS.
+ (scm_stack_trace): Now completely prints stacks up to 20 deep,
+ rather than 10.
+ (def_err_response): Prints errobj if error is fatal.
+ (lroom): Made subr_1o for easier calling from C.
+ * Init5c2.scm (array-shape): No longer signals an error when
+ passed a non-array -- now returns whatever ARRAY-DIMENSIONS
+ returned (currently #f).
+ * scm.c (scm_proftimer): Also conditional on SIGALRM.
+ * sys.c (init_storage): Fixed initialization of tmp_errp so that
+ it is always correctly aligned.
+ * scm.c (process_signals): Fixed braino in code to search for
+ deferred signals.
+ (scmable_signal): Added POSIX signal unblocking call, conditional
+ on SIG_UNBLOCK, so Scheme signal handlers may be interrupted
+ before they exit.
+ * scm.c (scmable_signal): (err_signal): (init_signals):
+ (ignore_signals):
+ (unignore_signals): (restore_signals): Abstracted signal handling.
+ (fpe_signal): (bus_signal): (segv_signal): (alrm_signal):
+ (prof_signal): Removed.
+ * repl.c (process_signals): Moved to scm.c
+ * sys.c (must_realloc_cell): Now returns void.
+ * scm.c (prof_signal): (scm_proftimer): (ignore_signals):
+ (unignore_signals): Added handler for SIGPROF, raised via call to
+ setitimer (Scheme function PROFILE-TIMER).
+ * repl.c (handle_it): No longer saves scm_env, scm_env_tmp to
+ estk, they are protected by doing ecache gc.
+ (process_signals): Handles SIGPROF.
+ * sys.c (scm_fill_freelist): No longer always does gc.
+ (gc_mark): No longer bashes cdr of `free' cells, handle_it now
+ bashes more selectively.
+ (scm_egc): DEFER/ALLOW_INTS moved to minimize debugging ints_viol
+ messages -- some will still occur.
+ (scm_egc): No longer saves scm_env and scm_env_ptr to estk, they
+ are protected separately. To improve interrupt safety.
+ * unif.c (resizuve): eliminated unused variable `ptr'.
+ * sys.c (freeprint): Now prints cdr of new cell.
+ * repl.c (input_waiting): Now checks return value of select and
+ restarts if interrupted. This was causing CHAR-READY? to return
+ #T when no input was actually readable.
+ * sys.c (scm_egc): (scm_egc_copy_roots): Eliminated extra root
+ argument, made safe because EGC_ROOT is always called with ints
+ deferred.
+ (gc_mark): Check for ecache broken heart during mark -- fatal error.
+ (gc_sweep): Now uses HUGE_LENGTH instead of LENGTH for string
+ termination check.
+ (must_malloc_cell): (must_realloc_cell): Added.
+ (gc_for_alloc): Static function abstracts gc calls for malloc/realloc.
+ * unif.c (make_uve): Removed call to makestr in order to support
+ huge strings.
+ (resizuve): Now uses must_realloc_cell.
+ * subr.c (make_vector): (mkbig): (adjbig): Now use
+ must_malloc_cell, must_realloc_cell.
+ * socket.c (maksknm): Now uses must_malloc_cell.
+ * scm.h (ISYMNUM): Use only 8 bits for number, freeing some bits
+ for other uses.
+ * scl.c (makdbl): Now uses must_malloc_cell.
+ * rgx.c (lrgecomp): Now uses must_malloc_cell.
+ * repl.c (handle_it): Keep pointers to discarded new cells.
+ * record.c (rec_constr1): (init_record): Now use must_malloc_cell.
+ * posix.c (scm_getgroups): Now uses must_malloc_cell.
+ * dynl.c (l_dyn_link): (l_dyn_call): Moved NEWCELL out of deferred
+ ints sections. For dlopen versions, print more error messages.
+ * eval.c (macroexp1): now prints name of unbound variable.
+ (s_unbnd s_wtap): abstracted error message strings.
+ * eval.c (ceval_1): No longer make extra environment frame for
+ LETREC, since internal DEFINE is now rewritten.
+ * sys.c (scm_fill_freelist): added. Assures that at least
+ MIN_GC_YIELD cells are in freelis. This is used before returning
+ from interrupts.
+ * repl.c (handle_it): Discard 2 cells (because of CDR in NEWCELL).
+ Call scm_fill_freelist();
+ * Init5c2.scm: removed DEFINED? conditionals for old SCMs.
+ * sys.c (scm_estk_grow): Now pushes estk ptr, with ints deferred.
+ * eval.c (ENV_PUSH): (ENV_POP): Now done with DEFER_INTS_EGC to
+ prevent problems with interrupt handlers that run Scheme code.
+ * sys.c (scm_estk_grow): Protected critical section with
+ DEFER/ALLOW_INTS
+ (must_malloc): (must_realloc): Protected igc call with
+ DEFER/ALLOW_INTS.
+ (scm_egc): Added DEFER/ALLOW_INTS around call to igc -- prevents
+ interrupts violation message in debug mode.
+ (igc): Now SCM_ENV_SAVE before any gc marking to fix gc bug
+ tickled by running Scheme code from interrupts.
+ (scm_egc): (scm_egc_copy_roots): Now take a single argument, a gc
+ root. Simplifies handling of the case where scm_egc calls igc,
+ and possibly itself.
+ * repl.c (growth_mon): Now prints "shrank" instead of "grew" if
+ the relevant limit decreased.
+ (handle_it): Do env cache gc before applying interrupt
+ handler, to protect data on the estk, which might move.
-=-=-
-Scm conforms to Revised^4 Report on the Algorithmic Language Scheme
+Scm conforms to Revised^5 Report on the Algorithmic Language Scheme
and the IEEE P1178 specification. Scm is written in C and runs under
Amiga, Atari-ST, MacOS, MS-DOS, OS/2, NOS/VE, Unicos, VMS, Unix and
similar systems. ASCII and EBCDIC are supported.
@@ -48,84 +145,79 @@ Documentation is included explaining the many Scheme Language
extensions in scm, the internal representations, and how to extend or
include SCM in other programs. Documentation is online at:
- http://www-swiss.ai.mit.edu/~jaffer/SCM.html
+ http://swissnet.ai.mit.edu/~jaffer/SCM.html
SCM can be obtained via FTP (detailed instructions follow) from:
- ftp-swiss.ai.mit.edu:pub/scm/scm5b3.tar.gz
- prep.ai.mit.edu:pub/gnu/jacal/scm5b3.tar.gz
- ftp.cs.indiana.edu:/pub/scheme-repository/imp/scm5b3.tar.gz
+ swissnet.ai.mit.edu:pub/scm/scm5c3.tar.gz
+ prep.ai.mit.edu:pub/gnu/jacal/scm5c3.tar.gz
SLIB is a portable Scheme library which SCM uses:
- ftp-swiss.ai.mit.edu:pub/scm/slib2c0.tar.gz
- prep.ai.mit.edu:pub/gnu/jacal/slib2c0.tar.gz
- ftp.cs.indiana.edu:/pub/scheme-repository/code/lib/slib2c0.tar.gz
+ swissnet.ai.mit.edu:pub/scm/slib2c3.tar.gz
+ prep.ai.mit.edu:pub/gnu/jacal/slib2c3.tar.gz
JACAL is a symbolic math system written in Scheme:
- ftp-swiss.ai.mit.edu:pub/scm/jacal1a7.tar.gz
+ swissnet.ai.mit.edu:pub/scm/jacal1a7.tar.gz
prep.ai.mit.edu:pub/gnu/jacal/jacal1a7.tar.gz
- ftp.cs.indiana.edu:/pub/scheme-repository/code/num/jacal1a7.tar.gz
HOBBIT is a compiler for SCM code:
- ftp-swiss.ai.mit.edu:pub/scm/hobbit4d.tar.gz
- ftp.cs.indiana.edu:/pub/scheme-repository/imp/hobbit4d.tar.gz
+ swissnet.ai.mit.edu:pub/scm/hobbit4d.tar.gz
SLIB-PSD is a portable debugger for Scheme (requires emacs editor):
- ftp-swiss.ai.mit.edu:pub/scm/slib-psd1-3.tar.gz
+ swissnet.ai.mit.edu:pub/scm/slib-psd1-3.tar.gz
prep.ai.mit.edu:pub/gnu/jacal/slib-psd1-3.tar.gz
- ftp.cs.indiana.edu:/pub/scheme-repository/utl/slib-psd1-3.tar.gz
SMG-SCM is an SMG interface package which works with SCM on VMS.
- ftp-swiss.ai.mit.edu:pub/scm/smg-scm2a1.zip
+ swissnet.ai.mit.edu:pub/scm/smg-scm2a1.zip
prep.ai.mit.edu:pub/gnu/jacal/smg-scm2a1.zip
- ftp.cs.indiana.edu:/pub/scheme-repository/imp/SCM-support/smg-scm2a1.zip
A VMS version of Unzip is available by anonymous FTP from
ftp.spc.edu:[ANONYMOUS.MACRO32]UNZIP.EXE.
TURTLSCM is a turtle graphics package which works with SCM on MS-DOS
or X11 machines:
- ftp-swiss.ai.mit.edu:pub/scm/turtlegr.tar.gz
+ swissnet.ai.mit.edu:pub/scm/turtlegr.tar.gz
prep.ai.mit.edu:pub/gnu/jacal/turtlegr.tar.gz
- ftp.cs.indiana.edu:/pub/scheme-repository/imp/SCM-support/turtlegr.tar.gz
XSCM is a X windows interface package which works with SCM:
- ftp-swiss.ai.mit.edu:pub/scm/xscm-2.01.tar.gz
+ swissnet.ai.mit.edu:pub/scm/xscm-2.01.tar.gz
prep.ai.mit.edu:pub/gnu/jacal/xscm-2.01.tar.gz
- ftp.cs.indiana.edu:/pub/scheme-repository/imp/SCM-support/xscm-2.01.tar.gz
MacSCM is a Macintosh applications building package which works with
SCM (similar to XSCM).
- ftp-swiss.ai.mit.edu:pub/scm/macscm.tar.Z
- ftp.cs.indiana.edu:/pub/scheme-repository/imp/SCM-support/macscm.tar.gz
+ swissnet.ai.mit.edu:pub/scm/macscm.tar.Z
WB is a disk based, sorted associative array (B-tree) library for SCM.
Using WB, large databases can be created and managed from SCM.
- ftp-swiss.ai.mit.edu:pub/scm/wb1a2.tar.gz
- ftp.cs.indiana.edu:/pub/scheme-repository/imp/SCM-support/wb1a2.tar.gz
+ swissnet.ai.mit.edu:pub/scm/wb1a2.tar.gz
+
+SIMSYNCH is a digital logic simulation system written in SCM.
+ swissnet.ai.mit.edu:pub/scm/synch1a2.tar.gz
+ prep.ai.mit.edu:pub/gnu/jacal/synch1a3.tar.gz
DLD is a C library package allowing SCM to dynamically load object
-files on Linux, VAX (Ultrix), Sun 3 (SunOS 3.4 and 4.0), SPARCstation
-(SunOS 4.0), Sequent Symmetry (Dynix), and Atari ST.
+files on VAX (Ultrix), Sun 3 (SunOS 3.4 and 4.0), SPARCstation
+(SunOS 4.0), Sequent Symmetry (Dynix), Atari ST, and a.out Linux
+systems.
prep.ai.mit.edu:pub/gnu/dld-3.3.tar.gz
#! implements "#!" (POSIX) shell-scripts for MS-DOS batch files.
- ftp-swiss.ai.mit.edu:pub/scm/#!.zip
+ swissnet.ai.mit.edu:pub/scm/#!.zip
-=-=-
- ftp ftp-swiss.ai.mit.edu (anonymous)
+ ftp swissnet.ai.mit.edu (anonymous)
bin
cd pub/scm
- get scm5b3.tar.gz
- get slib2c0.tar.gz
+ get scm5c3.tar.gz
+ get slib2c3.tar.gz
or
ftp prep.ai.mit.edu (anonymous)
bin
cd pub/gnu/jacal
- get scm5b3.tar.gz
- get slib2c0.tar.gz
+ get scm5c3.tar.gz
+ get slib2c3.tar.gz
- `scm5b3.tar.gz' is a gzipped tar file of the C code distribution.
- `slib2c0.tar.gz' is a gzipped tar file of a Scheme Library.
+ `scm5c3.tar.gz' is a gzipped tar file of the C code distribution.
+ `slib2c3.tar.gz' is a gzipped tar file of a Scheme Library.
Files in these directories with the ".gz" suffix are compressed with
patent-free gzip (no relation to zip). The program to uncompress them
@@ -136,8 +228,8 @@ is available from
Remember to use binary mode when transferring the files.
Be sure to get and read the GNU General Public License (COPYING).
-It is included in scm5b3.tar.gz.
+It is included in scm5c3.tar.gz.
I sell IBM PC floppy disk sets with the source files, documentation,
and MS-DOS and i386 MS-DOS executables for $99.00. To order, send
-e-mail to jaffer@ai.mit.edu.
+e-mail to jaffer @ rice-chex.ai.mit.edu.