From deda2c0fd8689349fea2a900199a76ff7ecb319e Mon Sep 17 00:00:00 2001 From: Bryan Newbold Date: Mon, 20 Feb 2017 00:05:26 -0800 Subject: Import Upstream version 5d6 --- ANNOUNCE | 218 ++++++++++++++++++--------------------------------------------- 1 file changed, 61 insertions(+), 157 deletions(-) (limited to 'ANNOUNCE') diff --git a/ANNOUNCE b/ANNOUNCE index 176bf90..062f2da 100644 --- a/ANNOUNCE +++ b/ANNOUNCE @@ -1,137 +1,31 @@ -This message announces the availability of Scheme release scm5d2. - -New in scm5d2: - - * Makefile (install): Make sure $(libscmdir)require.scm exists. - (libscmdir): Use instead of IMPLPATH. - * repl.c (scm_top_level): Corrected error test on exit in case 0 - is not success. - (repl): Return MAKINUM(EXIT_SUCCESS) when exiting an interactive - session on EOF, this should not be an error. - * build.scm (define-compile-commands): Added. - (defcommand): Added. - (platform): formatted; simplified names. - * Makefile (features.txi): Added. - * scm.texi (Build Options): take feature documentation from - "features.txi". - * build (make-features-txi): Creates documentation of build - features from 'features table. - * build.scm (build:define-feature): Added. Feature definitions - moved to top level. - * Init5d1.scm (comment): Added. - (read:sharp): Added `#;' comment syntax, *feature* SHARP:SEMI. - * sys.c (scm_env_v2lst): Made tolerant to argc of zero, - since ecache_evalx may call it thus for DO loops binding - no values. - * eval.c (debug_env_save): Function for use in ENV_SAVE when the - CAREFUL_INTS paranoid debugging flag is #defined. - (ecache_eval_args): Now calls ecache_evalx(), which - evaluates a list of expressions and returns a list allocated on - the ecache in scm_env_tmp. - (m_do): (m_letrec1): (ceval_1): LET, LETREC, and DO now call - ecache_evalx instead of using inline loops, this seems to improve - speed by 5% - 10% for jacal and for simsynch simulation. C stack - usage will increase somewhat for large env frames. - (lookupcar): Added support for constant bindings, to be created by - LET, LETREC, LET*. - * scl.c (dbl_prec): Use dbl_mant_dig in preference of potentially - undefined DBL_MANT_DIG. - * gmalloc.c: include "getpagesize.h" conditionalized on __svr4__. - * build.scm (batch:chop-to-fit-system): Removed. Use new - batch:try-chopped-command instead. - (mysql): Added to features. - (build:build): Added comments describing stages and errors. - * Makefile: Added platform.txi dependency where dependent on - scm.texi. - * Makefile (scm.info require.scm): "cp -p" more portable than "cp -a"? - * sys.c (mode_bits): Fix for null output string case. - * unif.c (make_sh_array): Reduced consing by using scm_cvapply - instead of apply. - *sys.c (mode_bits): Now takes an optional buffer which, on exit, - will hold a mode string suitable to pass to fopen(), without any - SCM extension characters. - * r4rstest.scm (float-print-test): stop after first error. - * sys.c (try_open_file): Insure that only 'r', 'w', 'b', or '+' - may be included in mode strings passed to fopen. - * repl.c (scm_freshline): Added FRESHLINE. - * sys.c (init_storage): Make def_outp tracked, so freshline will - work with it. - * ramap.c (cind): Now takes C vector of indices, which may be - allocated on the C stack, rather than a uve. - (ramapc): (ramap): (ramap_cxr): (array_imap): (array_for_each): (rafe): - Use scm_cvapply instead of apply, allocate index and argument vectors - on the C stack for array ranks < 5. - * record.c (makrectyp): (recprin1): Use scm_cvapply instead of - apply. - (rec_prinset): Checks arity of argument procedure. - * sys.c (sfputc): (sfwrite): (sfgetc): Use scm_cvapply instead of - apply. - (mksfpt): Checks arities of soft port procedures when the port is made. - * eval.c (scm_cvapply): (scm_arity_check): Exported. - (makacro): (makmacro): (makmmacro): Call scm_cvapply rather than - consing up argument lists. Check arity of macro transformers - once, when syntax is defined. - * subr.c (make_vector): Fixed broken length argument test. - * sys.c (scm_env_v2lst): Now takes list tail in scm_env_tmp, so - tail can be allocated on ecache. - * repl.c (scm_top_level): Print out supplied program arguments for - failure exits to simplify debugging scripts. - * eval.c (varcheck): Fixed for RECKLESS case. - * eval.c (scm_arity_check): (macroexp1): Argument number checking - in macroexp1 abstracted as scm_arity_check, for use in map, - for-each ... - (scm_cvapply): Apply a function to a C vector of arguments, used by - map and for-each. - (scm_v2lst): Added for use in scm_cvapply. - (map): (for_each): Speed considerably improved: No longer allocate - Scheme vector temporaries for up to 5 list arguments. No longer - allocate unnecessary argument lists, allocate on ecache if - possible. - * repl.c (iprin1): Print out first elt of cclo environment -- - makes record procedures more identifiable. - * sys.c (scm_env_v2lst): Now takes last cdr of list as argument. - * sys.c (scm_port_entry): Make 16-bit safe. - * Tscript.scm: File added to implement transcript-on, - transcript-off without burdening normal i/o. - * Init5d1.scm (transcript-on): (transcript-off): Now autoloads - from SCM/Tscript.scm - (_TRACKED): Added. - * socket.c (l_socket): (l_connect): (l_listen): Modified to use - port table. - (l_shutdown): (l_getpeername): (l_getsockname): Test for OPFPORTP, not - just OPPORTP. - * posix.c (l_pipe): Modified to use port table. - (prinpipe): Removed. - * ioext.c (reopen_file): (l_dup): (l_dup2): Modified to use port - table. - * crs.c (prinwindow): Removed. - (mkwindow): Uses scm_port_entry. - * repl.c (iprin1): Uses "name" field for printing ports. - (input_waiting): (wait_for_input): - (trans_on): (trans_off): Removed in favor of soft-port implementation. - (lputc): (lgetc): (lputs): (lfwrite): (lungetc): Removed check for - transcript, added line and column number support. Unread char now - kept in port table rather than CAR. - (lreadpr): (line_num): Removed line counting for load port, now done - using general line and column counting. - (scm_port_line): (scm_port_column): (scm_port_filename): Added. - (err_head): Now prints out multiple filenames for nested loads. - Tries to recover from recursive errors if current-error-port is a - soft-port. - * unif.c (uve_read): Removed ungetc call, if there is an unread - character, just call lgetc repeatedly for the first elt. - * sys.c (must_malloc): (must_realloc): Now check whether the heap - is initialized or not, so may be called earlier. - (scm_init_gra): (scm_grow_gra): Use above feature. - (scm_port_entry): Added, allocates entry in a port table used to store - unread characters, file names, line & column numbers, &c. - (mark_port_table): (sweep_port_table): Gc support for port table. - ptobfuns now has a "name" element, used for printing. - (prinfport): (prinstpt): (prinsfpt): Removed. - - From David Yeh: - * scl.c (makdbl): Mods to compile using MSVC. - * scmfig.h: Don't #define SINGLES for MSC. +This message announces the availability of Scheme release scm5d6. + +New in scm5d6: + +From Aubrey Jaffer: + + + Tanel Tammet's Hobbit compiler is now integrated into the SCM + distribution. + + + hobbit.scm modified for (symbol) GC changes in SCM. Use of + scm_gc_protect() instead of lists of protected objects means code + produced by Hobbit is smaller and more readable. + + + Converted the hobbit documentation to texinfo format. + http://swissnet.ai.mit.edu/~jaffer/hobbit_toc.html + +From George Bronnikov: + + + Ported SCM to the PLAN9 operating-system. + +From Martin Lafaix + + + scm.c (l_raise, l_sleep): + + script.c (dld_find_executable): + + scmmain.c, scmfig.h: Ported to OS/2, IBM VisualAge C++ v3. + +Plus improvements and bug fixes too numerous to include here (see +scm/ChangeLog). -=-=- @@ -147,51 +41,66 @@ include SCM in other programs. Documentation is online at: http://swissnet.ai.mit.edu/~jaffer/SCM.html SCM source is available from: - http://swissnet.ai.mit.edu/ftpdir/scm/scm5d2.zip - ftp.gnu.org:pub/gnu/jacal/scm5d2.zip (FTP instructions follow) + http://swissnet.ai.mit.edu/ftpdir/scm/scm5d6.zip + swissnet.ai.mit.edu:/pub/scm/scm5d6.zip + http://swissnet.ai.mit.edu/ftpdir/scm/scm-5d6-1.src.rpm + swissnet.ai.mit.edu:/pub/scm/scm-5d6-1.src.rpm +Also available as i386 binary RPM: + http://swissnet.ai.mit.edu/ftpdir/scm/scm-5d6-1.i386.rpm + swissnet.ai.mit.edu:/pub/scm/scm-5d6-1.i386.rpm SLIB is a portable Scheme library which SCM uses: - http://swissnet.ai.mit.edu/ftpdir/scm/slib2c7.zip - ftp.gnu.org:pub/gnu/jacal/slib2c7.zip + http://swissnet.ai.mit.edu/ftpdir/scm/slib2d4.zip + swissnet.ai.mit.edu:/pub/scm/slib2d4.zip +Also available as RPM: + http://swissnet.ai.mit.edu/ftpdir/scm/slib-2d4-1.noarch.rpm + swissnet.ai.mit.edu:/pub/scm/slib-2d4-1.noarch.rpm JACAL is a symbolic math system written in Scheme: - http://swissnet.ai.mit.edu/ftpdir/scm/jacal1b0.zip - ftp.gnu.org:pub/gnu/jacal/jacal1b0.zip + http://swissnet.ai.mit.edu/ftpdir/scm/jacal1b2.zip + swissnet.ai.mit.edu:/pub/scm/jacal1b2.zip HOBBIT is a compiler for SCM code: http://swissnet.ai.mit.edu/ftpdir/scm/hobbit5x.tar.gz - ftp.gnu.org:pub/gnu/jacal/hobbit5x.tar.gz + swissnet.ai.mit.edu:/pub/scm/hobbit5x.tar.gz SLIB-PSD is a portable debugger for Scheme (requires emacs editor): http://swissnet.ai.mit.edu/ftpdir/scm/slib-psd1-3.tar.gz - ftp.gnu.org:pub/gnu/jacal/slib-psd1-3.tar.gz + swissnet.ai.mit.edu:/pub/scm/slib-psd1-3.tar.gz SMG-SCM is an SMG interface package which works with SCM on VMS. http://swissnet.ai.mit.edu/ftpdir/scm/smg-scm2a1.zip - ftp.gnu.org:pub/gnu/jacal/smg-scm2a1.zip + swissnet.ai.mit.edu:/pub/scm/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: http://swissnet.ai.mit.edu/ftpdir/scm/turtlegr.tar.gz - ftp.gnu.org:pub/gnu/jacal/turtlegr.tar.gz + swissnet.ai.mit.edu:/pub/scm/turtlegr.tar.gz XSCM is a X windows interface package which works with SCM: http://swissnet.ai.mit.edu/ftpdir/scm/xscm-2.01.tar.gz - ftp.gnu.org:pub/gnu/jacal/xscm-2.01.tar.gz + swissnet.ai.mit.edu:/pub/scm/xscm-2.01.tar.gz MacSCM is a Macintosh applications building package which works with SCM (similar to XSCM). http://swissnet.ai.mit.edu/ftpdir/scm/macscm.tar.Z + 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. - http://swissnet.ai.mit.edu/ftpdir/scm/wb1a2.tar.gz + http://swissnet.ai.mit.edu/ftpdir/scm/wb1a7.zip + swissnet.ai.mit.edu:/pub/scm/wb1a7.zip + http://swissnet.ai.mit.edu/ftpdir/scm/wb-1a7-1.src.rpm + swissnet.ai.mit.edu:/pub/scm/wb-1a7-1.src.rpm +Also available as i386 binary RPM: + http://swissnet.ai.mit.edu/ftpdir/scm/wb-1a7-1.i386.rpm + swissnet.ai.mit.edu:/pub/scm/wb-1a7-1.i386.rpm SIMSYNCH is a digital logic simulation system written in SCM. http://swissnet.ai.mit.edu/ftpdir/scm/synch1b0.zip - ftp.gnu.org:pub/gnu/jacal/synch1b0.zip + swissnet.ai.mit.edu:/pub/scm/synch1b0.zip DLD is a C library package allowing SCM to dynamically load object files on VAX (Ultrix), Sun 3 (SunOS 3.4 and 4.0), SPARCstation @@ -199,22 +108,17 @@ files on VAX (Ultrix), Sun 3 (SunOS 3.4 and 4.0), SPARCstation systems. ftp.gnu.org:pub/gnu/dld/dld-3.3.tar.gz -SCM.EXE (265k) is a SCM executable for DOS and MS-Windows. -Note: SCM.EXE still requires slib2c7 and scm5d2 above. +SCM.EXE (282k) is a SCM executable for DOS and MS-Windows. +Note: SCM.EXE still requires slib2d4 and scm5d6 above. http://swissnet.ai.mit.edu/ftpdir/scm/scm.exe + swissnet.ai.mit.edu:/pub/scm/scm.exe #! implements "#!" (POSIX) shell-scripts for MS-DOS batch files. http://swissnet.ai.mit.edu/ftpdir/scm/sharpbang.zip + swissnet.ai.mit.edu:/pub/scm/sharpbang.zip http://swissnet.ai.mit.edu/ftpdir/scm/#!.zip + swissnet.ai.mit.edu:/pub/scm/#!.zip Programs for printing and viewing TexInfo documentation (which SCM has) come with GNU Emacs or can be obtained via ftp from: ftp.gnu.org:pub/gnu/texinfo/texinfo-4.0.tar.gz - - -=-=- - - ftp ftp.gnu.org (anonymous) - bin - cd pub/gnu/jacal - get slib2c7.zip - get scm5d2.zip -- cgit v1.2.3