From 302e3218b7d487539ec305bf23881a6ee7d5be99 Mon Sep 17 00:00:00 2001 From: Bryan Newbold Date: Mon, 20 Feb 2017 00:05:29 -0800 Subject: Import Upstream version 5e1 --- ANNOUNCE | 283 ++++++++++++++++++++++++++++++++++++++------------------------- 1 file changed, 173 insertions(+), 110 deletions(-) (limited to 'ANNOUNCE') diff --git a/ANNOUNCE b/ANNOUNCE index fc0f9f9..1effd27 100644 --- a/ANNOUNCE +++ b/ANNOUNCE @@ -1,94 +1,157 @@ -This message announces the availability of Scheme release scm5d9. - -New in scm5d9: - - * ramap.c (array-map): Added. - * byte.c: Added. Improves RANDOM speed by 32%. - * subr.c (scm_logbitp, scm_ash): Prevent wraparound (1>>32==1). - * ioext.c, posix.c (system->line): Defined. - * scl.c (floequal): Fixed so 0/0==0/0. - (eqv, eqp): Use floequal. - * eval.c (init_eval): add_feature("primitive-hygiene"). - * scl.c (eqp): Fixed so (let ((nan 0/0)) (= nan nan)) ==> #t. - (in2ex): Infinite loop on (inexact->exact 0/0) change to err. - * scl.c (iflo2str): Use negated conditional to handle 0/0. - (NaN2str): Removed "#i" prefix. - - * scm.texi (Embedding SCM): Updated libtest example for - init_user_scm indirection (which Radey added 2003-01-24). - * scm.texi (MS-DOS Compatible Scripts): Added sharpbang URL. - * scm.texi (Build Options): Described *.opt option files. - * scm.texi (Automatic C Preprocessor Definitions): Added IA64. - * scm.texi (Line Numbers): Added read-for-load. - (Load Syntax): Distinguished from Read syntax; documented #?line, - #?column, and #?file. - (Data Type Representations): Updated port formats. - - * Makefile (dfiles): Added version.txi platform.txi features.txi. - * Makefile (CFLAGS): Removed "-g". - * Makefile (pg.opt, gdb.opt, dlls.opt): Added. Cleanup options. - * Makefile (continue.o): Was missing scmfig.h and scm.h - dependencies. - * Makefile (uninstallinfo): Created. - (uninstall): Remove libscmdir files. - * Makefile (release): Make pdf(s). - - * Init5d8.scm (slib:eval-load): Use *load-reader*. - * repl.c (scm_read_for_load): Added. - (p_read_numbered, p_read_for_load, p_read): Added locatives. - (lreadr): Pass appropriate read routine to load:sharp; read:sharp. - (flgs): Renamed from nump to reduce interference with INUMP, etc. - * Init5d8.scm (load:sharp, read:sharp): Split read:sharp. - (load:sharp, read:sharp, char:sharp, read:array): Added READ arg. - (char:sharp): Renamed from read:sharp-char. - (read:sharp): Integrated #; into. - * repl.c (scm_read): Renamed from lread(). - (loc_charsharp): Renamed from loc_readsharpc. - (loc_loadsharp): Added to separate LOAD-macros from READ-macros. - (f_read_numbered): Removed unused variable. - (repl, tryload, scm_load_string): Use scm_read_numbered(). - (lreadpr): Dispatch to loc_readsharp or loc_loadsharp depending on - nump. - * Init5d8.scm (make-array): Alias of create-array. - (read:sharp): Feature evaluation now slib:provided? - - * mkimpcat.scm: Added rwb-isam feature. - * mkimpcat.scm (primitive-hygiene): Use feature to conditionalize - macro association. - - * scmfig.h (CDR_DOUBLES, SHORT_INT): Added __ia64 #defines. - - * build.scm (build): processor-family now symbol; i8086 <- 8086. - * build.scm (manifest): Added "byte.c". - * build.scm (compile-c-files): Removed "-O" and "-Wall" options; - use --compiler-options= instead. - * build.scm: Use open-table! and open-table. - * build (print-manifest, make-features-txi): Use open-table. - * build, build.scm: Moved requires to top. - * compile.scm, hobbit.scm: Added REQUIRE-IFs. - * hobbit.texi (SLIB Logical Procedures): Removed "logical:" - aliases. - - * bench.scm (benchmark-prng): Limit to 1000 samples if no bignums. - - * r4rstest.scm (inexact->exact): Added tests. - (exact->inexact): check for both exact and inexact argument. - * r4rstest.scm (6 5 5): Added some kawa chokers: #i, #e. - Added more kawa STRING->NUMBER bait. - * r4rstest.scm (test-string->number): Implementations which don't - allow division by 0 can have fragile string->number. - - From Sam Hocevar - * r4rstest.scm (test-inexact): SECTION 6.2 checks that - (not (eqv? 1 1.0)). - - From Andy Gaynor - * Makefile (Xlibscm.info, hobbit.info): Fixed / separators. - * unif.c (make_sh_array): Bracket with ifndef RECKLESS. - - From Radey Shouman - * eval.c (m_case): Check on clauses for CASE was - confused by line-number annotations. +This message announces the availability of Scheme release scm5e1. + +New in scm5e1: + + * r4rstest.scm: Removed tests for 0^0 in anticipation of SRFI-70. + * r4rstest.scm (test-numeric-predicates): Raised exponent so + intransitive 128-bit-float implementations are caught. + * r4rstest.scm (SECTION 6 5 5): Removed tests for (EXPT 0 -255) + so Common-Lisp compatible EXPT won't bomb. + Test EXPT inexactness contagion of zero cases. + * r4rstest.scm (SECTION 6 5 5): Added exact tests for EXPT. + Inexact EXPT corner cases should return inexacts. + * r4rstest.scm: Added URLs. + + * Transcen.scm (limit): Check and report input errors. + * Transcen.scm (limit): Added srfi-70 procedure. + * Transcen.scm (expt, quotient, remainder, modulo): SRFI-70 extensions. + * Transcen.scm (expt): Changed so (expt 0 -5) signals error. + EXPT of zero returns zero or one matching input exactness. + + * Link.scm (link:link): Converted to use with-load-pathname. + + * Init5d9.scm (numerator, denominator): Check rational. + * Init5d9.scm (numerator, denominator): Added. + * Init5d9.scm (with-load-pathname): Moved from slib/require.scm. + * Init5d9.scm (any-bits-set?, first-set-bit, bitwise-merge): Added + remaining SRFI-33 aliases. + * Init5d9.scm (read-array-type): Handle A:char. + * Init5d9.scm (list->array, vector->array, array->vector): Added. + * Init5d9.scm: Updated per SRFI-60. + * Init5d9.scm (arithmetic-shift): Aliases ASH. + * Init5d9.scm (read:array, read:sharp): Accept whole boatload of + SRFI-58 sytnaxes. + * Init5d9.scm (inexact->exact, exact->inexact): Identity when + exacts-only. + * Init5d9.scm (slib:eval-load): Converted to use (SLIB) + with-load-pathname. + * Init5d9.scm (slib:eval-load): Define moved to "slib/require.scm" + * Init5d9.scm (read:array): Ignore third argument; line-numbers + were hosing array reading. + + * build.scm (dlll gnu-win32): Changed flag to "-DSCM_WIN_DLL". + (dlll microsoft-c-nt): Changed flag to "-DSCM_WIN_DLL". + * build.scm (wb): Added for source in ../wb/. + (build:command): Assume c-files are relative to cd; don't prefix + c-files with scm-srcdir. + (compile-dll-c-files): Many were missing include-spec "-I" call. + * build.scm (compile-dll-c-files): For those platforms supporting + shared object files, generate just one combining all FILES. + * build.scm (compile-dll-c-files): Fixed -I for netbsd, openbsd. + (compile-dll-c-files): Added -I for svr4-gcc-sun-ld. + (file-categories): Renamed CORE from REQUIRED. + + * mkimpcat.scm: Support WB compiled in implementation-vicinity. + * mkimpcat.scm: Added 'DIFF. + + * xgen.scm, build.bat, inc2scm: Replaced %0 ... %9 with %~f0 %* + + * scmhob.scm: Moved LOGICAL: aliases from logical.scm. + + * Makefile (install): Added db.so. + (uninstall): Beefed up. + * Makfile (scm5): Added target for undumpable architectures (FC3). + * Makefile (SETARCH): Workaround for unexec on Fedora Linux i386. + * Makefile (mydlls): Call BUILD separately for each dll. + * Makefile (srcdir.mk): Include after target. + Separated shell assignments and exports. + * Makefile: (SHOBJS): Abstracted *.sl and *.so. + * Makefile (db.so, rwb-isam.scm, wbtab.scm): Added. + * Makefile (differ.so): Added target. + + * scm.spec (differ.so, Idiffer.scm): Added to %files. + + * scm.texi (MS-DOS Compatible Scripts): Replaced %0 ... %9 with %~f0 %* + * scm.texi (SCMDB): Added section with link. + (Hobbit): Moved notinfo stuff after Xlib so it appears same place + in all products. + * scm.texi (Sequence Comparison): Added. + * scm.texi (SIOD copyright): Put in subsection. + (The SCM License): Parallel Guile License text. + * scm.texi (Automatic C Preprocessor Definitions): Added "sun". + + * scm.h (infi): Nonreal infinity added to sys_protects. + * scm.h (SCM_WIN_DLL): renamed from SCM_DLL and DLLSCM. + + * scmfig.h (IS_INF): Removed. + + * scl.c (scm_complex_p): 0/0 is not complex. + * scl.c (inf2str): Renamed from NaN2str(). + (makdbl): Returns `infi' for unreal infinities. + (scm_rationalp): Added (infinities not). + * scl.c (scm_intexpt): EXPT of zero behaves like Common-Lisp. + * scl.c (scm_intexpt): Bombed given (integer-expt 0 25). + + * subr.c (scm_copybitfield): Changed argument order (SRFI-60). + + * unif.c (scm_prot2type): Was not defaulting correctly. + * unif.c (raprin1): Don't elide 1 from #1A. + * unif.c, sys.c: Sun cc doesn't like fwrite declaration. + + * byte.c (scm_write_byte): Was hosed for even number of bytes. + * byte.c (scm_substring_read): Fixed off-by-one reading backwards. + + * ramap.c (array:copy!): Renamed from array-copy!. + (array_copy): Arguments reversed. + * ramap.c (init_ramap): Its tc7_subr_2 not tc7_subr2! + * ramap.c (rafe): Removed unused variables inc and base. + + * repl.c (err_head): Fixed "loaded from" messages and formatting. + * repl.c (iprin1): Slashify uppercase chars in symbols. + * repl.c (read_token, iprin1, lreadr): Handle slashified symbols. + * repl.c (handle_it): Added comments. Call scm_fill_freelist() if + interrupt lacks handler. + * repl.c (scm_top_level): Default value of toplvl_fun just once. + + * differ.c, Idiffer.scm: Linear-space O(PN) sequence comparison. + + * eval.c (definedp): Added third (dummy) argument. + +From Radey Shouman: + + * Init5d9.scm (read:array): Make default rank one, not zero. + (as before). + * Init5d9.scm (read:array): (read:sharp): (load:sharp): Use read + argument passed to READ:SHARP only for eval, otherwise unexpected + line numbers cause trouble. eg #+(or) in load file. + + * script.c (find_impl_file): Find executable path accurately + on MS windows. + + * scm.texi (Debugging Continuations): Added documenting + frame-trace, frame->environment, scope-trace, frame-eval. + + * eval.c (toplevel_define) (scm_arity_check) (ceval_1) + (scm_cvapply) (apply): Pass multiple arguments to captured + continuations, eg: + (call-with-values (lambda () (call/cc (lambda (k) 1 2))) list) + Better error checking for multiple-value returns in repl. + + * sys.c (scm_dynthrow): Allow passing multiple arguments + to a continuation captured in the producer argument of + call-with-values. + + * subr.c (scm_logbitp): Fixed bug in range check for fixnum + case. Eg (logbit? 10 #xffff) now correctly returns #t. + + * eval.c (macroexp1): Catch more syntax errors: ('f . f) + * eval.c (m_case) (definedp): Avoid segfault in cases of syntax + error. + +From Wim Lewis: + + * Makefile (scmflags): Use "cmp -s" instead of "diff". + (x.h): Use -x $CPROTO to test for cproto's existence. -=-=- @@ -104,24 +167,24 @@ 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/scm5d9.zip - swissnet.ai.mit.edu:/pub/scm/scm5d9.zip - http://swissnet.ai.mit.edu/ftpdir/scm/scm-5d9-1.src.rpm - swissnet.ai.mit.edu:/pub/scm/scm-5d9-1.src.rpm + http://swissnet.ai.mit.edu/ftpdir/scm/scm5e1.zip + swissnet.ai.mit.edu:/pub/scm/scm5e1.zip + http://swissnet.ai.mit.edu/ftpdir/scm/scm-5e1-1.src.rpm + swissnet.ai.mit.edu:/pub/scm/scm-5e1-1.src.rpm Also available as i386 binary RPM: - http://swissnet.ai.mit.edu/ftpdir/scm/scm-5d9-1.i386.rpm - swissnet.ai.mit.edu:/pub/scm/scm-5d9-1.i386.rpm + http://swissnet.ai.mit.edu/ftpdir/scm/scm-5e1-1.i386.rpm + swissnet.ai.mit.edu:/pub/scm/scm-5e1-1.i386.rpm SLIB is a portable Scheme library which SCM uses: - http://swissnet.ai.mit.edu/ftpdir/scm/slib3a1.zip - swissnet.ai.mit.edu:/pub/scm/slib3a1.zip + http://swissnet.ai.mit.edu/ftpdir/scm/slib3a2.zip + swissnet.ai.mit.edu:/pub/scm/slib3a2.zip Also available as RPM: - http://swissnet.ai.mit.edu/ftpdir/scm/slib-3a1-1.noarch.rpm - swissnet.ai.mit.edu:/pub/scm/slib-3a1-1.noarch.rpm + http://swissnet.ai.mit.edu/ftpdir/scm/slib-3a2-1.noarch.rpm + swissnet.ai.mit.edu:/pub/scm/slib-3a2-1.noarch.rpm JACAL is a symbolic math system written in Scheme: - http://swissnet.ai.mit.edu/ftpdir/scm/jacal1b4.zip - swissnet.ai.mit.edu:/pub/scm/jacal1b4.zip + http://swissnet.ai.mit.edu/ftpdir/scm/jacal1b5.zip + swissnet.ai.mit.edu:/pub/scm/jacal1b5.zip SLIB-PSD is a portable debugger for Scheme (requires emacs editor): http://swissnet.ai.mit.edu/ftpdir/scm/slib-psd1-3.tar.gz @@ -149,13 +212,13 @@ SCM (similar to XSCM). 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/wb1b1.zip - swissnet.ai.mit.edu:/pub/scm/wb1b1.zip - http://swissnet.ai.mit.edu/ftpdir/scm/wb-1b1-1.src.rpm - swissnet.ai.mit.edu:/pub/scm/wb-1b1-1.src.rpm + http://swissnet.ai.mit.edu/ftpdir/scm/wb1c1.zip + swissnet.ai.mit.edu:/pub/scm/wb1c1.zip + http://swissnet.ai.mit.edu/ftpdir/scm/wb-1c1-1.src.rpm + swissnet.ai.mit.edu:/pub/scm/wb-1c1-1.src.rpm Also available as i386 binary RPM: - http://swissnet.ai.mit.edu/ftpdir/scm/wb-1b1-1.i386.rpm - swissnet.ai.mit.edu:/pub/scm/wb-1b1-1.i386.rpm + http://swissnet.ai.mit.edu/ftpdir/scm/wb-1c1-1.i386.rpm + swissnet.ai.mit.edu:/pub/scm/wb-1c1-1.i386.rpm SIMSYNCH is a digital logic simulation system written in SCM. http://swissnet.ai.mit.edu/ftpdir/scm/synch1b0.zip @@ -168,7 +231,7 @@ systems. ftp.gnu.org:pub/gnu/dld/dld-3.3.tar.gz SCM.EXE (282k) is a SCM executable for DOS and MS-Windows. -Note: SCM.EXE still requires slib3a1 and scm5d9 above. +Note: SCM.EXE still requires slib3a2 and scm5e1 above. http://swissnet.ai.mit.edu/ftpdir/scm/scm.exe swissnet.ai.mit.edu:/pub/scm/scm.exe -- cgit v1.2.3