diff options
author | Bryan Newbold <bnewbold@robocracy.org> | 2017-02-20 00:05:26 -0800 |
---|---|---|
committer | Bryan Newbold <bnewbold@robocracy.org> | 2017-02-20 00:05:26 -0800 |
commit | deda2c0fd8689349fea2a900199a76ff7ecb319e (patch) | |
tree | c9726d54a0806a9b0c75e6c82db8692aea0053cf /ChangeLog | |
parent | 3278b75942bdbe706f7a0fba87729bb1e935b68b (diff) | |
download | scm-deda2c0fd8689349fea2a900199a76ff7ecb319e.tar.gz scm-deda2c0fd8689349fea2a900199a76ff7ecb319e.zip |
Import Upstream version 5d6upstream/5d6
Diffstat (limited to 'ChangeLog')
-rw-r--r-- | ChangeLog | 1690 |
1 files changed, 1519 insertions, 171 deletions
@@ -1,8 +1,1358 @@ -Sun Dec 5 22:04:18 EST 1999 Aubrey Jaffer <jaffer@aubrey.jaffer> +2002-04-14 Aubrey Jaffer <jaffer@aubrey.jaffer> + + * patchlvl.h (SCMVERSION): Bumped from 5d5 to 5d6. + + * build.scm (platform->os): Added. + +2002-04-11 Aubrey Jaffer <agj@alum.mit.edu> + + * scm.texi (Invoking Build): Updated script examples. Changed vms + example to darwin. + + * Makefile (CITERS): Added hobbit.scm. + (CC): Commented out "CC = gcc". + +2002-04-11 Tanel Tammet <tammet@staff.ttu.ee> + + * hobbit.scm (verbose): compilation corrected. + (require): moved from top level to hobbit procedure. + (copy-tree, acons, system): compilation introduced. + +2002-04-08 Aubrey Jaffer <agj@alum.mit.edu> + + * compile.scm (compile->executable): Removed gratuitous "-cscm.c". + + * scm.c (SYSTNAME): __MACH__ was causing conflicting #define. + __MACH__ is "unix". + +2002-04-07 Aubrey Jaffer <agj@alum.mit.edu> + + * scl.c (subr1s, subr2s): Corrected conditioning for + scm_make_dfloat, scm_next_dfloat, and scm_dfloat_parts. + + * scm.c (LACK_RAISE): Cleaned up conditional tree for l_raise. + + * repl.c (kbhit): #define to 0 for PLAN9. + + * sys.c: PLAN9 needed fwrite() prototype. + (mark_finalizers): Was wrongly conditioned on !NO_SYM_GC. + + * mkimpcat.scm (build): Changed to load "build" (sans ".scm"). + + * hobbit.texi (Compiling And Linking): Added examples for + compile-file and compile->executable. + + * compile.scm (compile->executable): Replaces link-named-scm. + +2002-04-05 <aj@cypress.com> + + * scmfig.h (STDC_HEADERS): Corrected PLAN9 typo. + (sizet): Corrected for PLAN9. + +2002-04-03 Aubrey Jaffer <agj@alum.mit.edu> + + * sys.c, time.c, continue.h, findexec.c, repl.c, scmfig.h, scm.h: + Ported to PLAN9. + + * build.scm (plan9-8): Added port for Intel running PLAN9. + Comments desribe PLAN9 native C compiler `8c' options. + +2002-04-03 George Bronnikov <goga@rubinstein.mccme.ru> + + * scm.c (raise, system, isatty): Added for PLAN9 port. + +2002-03-30 Aubrey Jaffer <agj@alum.mit.edu> + + * Init5d5.scm (vicinity:suffix?, set-vicinities!): Added PLAN9. + Cleaned archaic conditional defines. + (set-vicinities!): Moved to just before load of require.scm. + + * requires.scm (PLAN9): Added support. + +2002-03-28 Aubrey Jaffer <agj@alum.mit.edu> + + * hobbit.texi: Changed most inline code snippets to @example. + +2002-03-28 Martin Lafaix <lafaix@online.fr> + + * scm.c (l_raise, l_sleep): + * script.c (dld_find_executable): + * scmmain.c, scmfig.h: Ported to OS/2, IBM VisualAge C++ v3. + +2002-03-22 <aj@cypress.com> + + * build.scm (C-libraries): Fixed dlll svr4-gcc-sun-ld. + +2002-03-21 Aubrey Jaffer <agj@alum.mit.edu> + + * hobbit.scm (every1): Renamed from EVERY. Hobbit self-compile + chokes on multi-arg EVERY, complaining of non-liftable lambdaterm. + +2002-03-19 Aubrey Jaffer <agj@alum.mit.edu> + + * build.scm (make-dll-archive gcc): Was mistakenly labeled sunos. + +2002-03-10 Aubrey Jaffer <agj@alum.mit.edu> + + * Makefile (hobbit.texi): Moved from hobfiles to dfiles. + + * scm.spec (%files, %post): Added hobbit. + + * hobbit.texi: Reorganization to chapter/section structure. + (Benchmarks): Shuffled so source not broken over dvi and pdf page + boundaries. + + * Makefile (Xlibscm.pdf, hobbit.pdf): Targets added. + +2002-03-05 Aubrey Jaffer <agj@alum.mit.edu> + + * scl.c (istr2int, in2ex): Conditioned HP700 workaround on hpux. + + * r4rstest.scm (SECTION 6 5 9): Added 32-bit corner cases. + + * hobbit.texi (Compiling And Linking): Moved from "scm.texi". + +2002-03-04 Radey Shouman <shouman@ne.mediaone.net> + + * scl.c (ist2int): Fix integer overflow bug for fixnum-only case. + eg: (string->number "80000000" 16) ==> 0 + +2002-03-03 Aubrey Jaffer <agj@alum.mit.edu> + + * hobbit.texi: Converted to texinfo from plaintext hobbit.doc. + + * unif.c (bit_position): Renamed from position. + + * eval.c (scm_cp_list): Renamed from copy_list to avoid hobbit + conflict. + + * Link.scm (file->init_name): Added to map "-" ==> "_". + + * hobbit.scm (scm-gc-protect): Wraps replace protect-constant. + (*c-keywords*): Added names from "sc2.c". + + * Init5d5.scm (hobbit.tms): Removed dependence on missing file. + + * mkimpcat.scm: Reorganized more compactly. + (compile): Added feature. + + * build.scm (manifest): Added "compile.scm". + + * compile.scm (scm): For script to compile inexacts. + (hobbit, compile-file, link-named-scm): Extracted from Link.scm. + Require 'compile to use. + + * rope.c (scm_gc_protect): Always return argument. + + * xgen.scm (progname): Added so works when loaded (vs. script). + (xatoms): Read XcmsColorFormat value as two hex integers so SCMLIT + doesn't truncate 32-bit value. + + * xatoms.scm (X:RGB): Corrected (SCMLIT truncated 32-bit value). + (X:RGBi): Added. + + * Makefile (ifiles): Added "compile.scm". + (xevent.scm, xatoms.scm): Added aliases for xevent.h. + +2002-02-28 Aubrey Jaffer <agj@alum.mit.edu> + + * Init5d5.scm (*features*): Moved forward in file. + + * scm.c (scm_init_INITS): Added. + + * repl.c (scm_top_level): Added call to scm_init_INITS(). + + * build.scm (turtlegr, mysql): Changed to compiled-init. + + * Makefile (udscm5): Removed "-l debug". + (BUILD): Abstracted ./build -hsystem -p WHATEVER. + + * rope.c (scm_gc_protect): Don't bother protecting IMPs. + + * hobbit.scm (file-exists?): Removed. + comlist.scm functions moved to end; names corrected. + (*constant-list-var*): Removed; replaced with calls to + scm_gc_protect. + (*filter-inside-term-res*, filter-inside-term-aux!): Moved inside + filter-inside-term. + (nth-cdr, split): Unused; removed. + (first-n-reverse): Moved inside only use: make-tailrec-call. + (headerline, *h-port*): Moved inside display-header. + (build-wrapper-aux, build-wrapper): Moved inside build-wrappers. + (my-last-pair-aux): Moved inside my-last-pair. + + * Link.scm (link:link): Fixed prepending "./" for SUN-DL. + +2002-02-26 Radey Shouman <shouman@ne.mediaone.net> + + * eval.c (scm_cvapply): Removed PUSH_TRACE and POP_TRACE, which + were #ifdeffed out. Testing with a version that pushed temporary + values on the C stack showed little to gain. + +2002-02-25 Aubrey Jaffer <agj@alum.mit.edu> + + * hobbit.scm (neq?): Inlined; removed. + (make-list, some): Rename egregious conflicts with SLIB, comlist. + (butlast): Changed to 2 argument function. + + * Makefile (TAGFILES): build.scm was tagged twice. + + * Link.scm (compile-file): Fixed suffix substitution. + +2002-02-23 Aubrey Jaffer <agj@alum.mit.edu> + + * sys.c (sysintern): Use scm_gc_protect(). + + * scm.h (scm_uprotects): Added to sys_protects[]. + + * scm.c (init_scm): Added init_rope() call. + + * rope.c (scm_gc_protect, init_rope): Added. + +2002-02-17 Aubrey Jaffer <agj@alum.mit.edu> + + * sys.c (mark_subrs): Renamed from mark_subr_table. + (gra_report): Report both alloclen and len. + (init_types): scm.exe uses 397; always init malloc 420 subrs. + (scm_trim_gra): Added to downsize after init. + + * scm.h (subrs_gra): Renamed from subr_table_gra. + + * scm.c (scm_init_extensions): scm_trim_gra() ifndef HAVE_DYNL. + +2002-02-14 Aubrey Jaffer <agj@alum.mit.edu> + + * inc2scm, xgen.scm (go-script): Run even if not *script*. + + * Makefile (CPROTO): Moved to srcdir.mk. + (x.h): Only create with $(CPROTO) if $(CPROTO) exists. + (x11.scm, keysymdef.scm, xevent.h, x.h): Don't use #!. + +2002-02-13 Aubrey Jaffer <agj@alum.mit.edu> + + * Makefile (PREVDOCS): Changed to prevdocs/ + +2002-02-11 Aubrey Jaffer <agj@alum.mit.edu> + + * patchlvl.h (SCMVERSION): Bumped from 5d4 to 5d5. + + * sys.c (init_types): Initial subr_table size depends on + SHORT_SIZET. + +2002-02-10 Aubrey Jaffer <agj@alum.mit.edu> + + * Makefile (CITERS, TAGFILES): Abstracted functional file groups. + + * debug.c (stacktrace1): call to intprint() need long cast. + + * rope.c: No longer include "continue.h". + + * scmfig.h (PTR_GT, PTR_LE, PTR_GE): Put near PTR_LT. + + * sys.c (heap_report): Moved from "repl.c". + + * eval.c (scm_check_linum): Most calls to needed 0L. + + * repl.c (everr): Call to scm_check_linum needed 0L. + + * scm.texi (Allocating memory): must_realloc_cell, must_realloc + disallowed during init. + + * sys.c (gra_report): Added. + (scm_gc_protect): Removed. + (init_types): Initialize sys_protects to UNDEFINED. + (init_types): Increased initial *_gra limits to prevent realloc + during init. + (must_realloc_cell, must_realloc): ASSERT !errjmp_bad. + + * repl.c (lroom): Call gra_report(). + + * scm.h (flo0, NUM_PROTECTS): Don't #ifdef to save 4 bytes. + (f_apply_closure, eval_env, list_unspecified, f_evapply): In + sys_protects[]. + + * eval.c (init_eval): Removed calls to scm_gc_protect; put them in + sys_protects[]. + +2002-02-08 Aubrey Jaffer <agj@alum.mit.edu> + + * eval.c (init_eval): eval_env assignment uses sysintern for INTS + discipline. + + * sys.c (scm_estk_grow, scm_estk_shrink): +0L. + (mksafeport): Only called from init_storage(); don't DEFER_INTS. + (sysintern, scm_grow_gra): Only called while protected; don't + DEFER_INTS. + (scm_port_entry): Move malloc to init_storage(). + (init_storage): Inlined creation of null string and vector; fixed + INTS discipline. + + * scm.c (*scm-version*): Value changed to ssymbol for INTS + discipline. + +2002-02-06 Aubrey Jaffer <agj@alum.mit.edu> + + * sys.c (scm_open_ports, sysintern): Removed gratuitous casts. + + * scm.c (init_scm): Changed order of init_*s. + + * subr.c (mkbig): Removed gratuitous cast. + + * unif.c (resizuve): Removed gratuitous cast. + +2002-02-03 Aubrey Jaffer <agj@alum.mit.edu> + + * sys.c (scm_grow_gra): Don't DEFER_INTS; only called from inits. + (scm_estk_shrink): Cast sizet passed to make_stk_seg(). + + * eval.c: Cleanup; made __LINE__ numbers int. + + * scmmain.c (main): freeall is always 1. + + * scmfig.h (ints_infot): linum long->int. + + * scl.c (inex_divbigbig): Added default case. + + * scm.texi (Memory Management for Environments): Added indexes. + +2002-02-02 Aubrey Jaffer <agj@alum.mit.edu> + + * posix.c (l_pipe): DEFER_INTS was missing. + + * eval.c (init_eval): Cast argument to intern(). + + * repl.c (scm_top_level): Removed unreachable code. + + * sys.c (scm_estk_shrink): Removed unused SCM *v. + +2002-01-31 Aubrey Jaffer <agj@alum.mit.edu> + + * scm.texi (Uniform Array): Updated for SLIB changes. + + * unif.c (float_eq_double_P, i_short): Removed. + (scm_prot2type): Removed most legacy prototypes; much simpler! + + * Init5d4.scm (make-uniform-wrapper): Get rank correct. + (read:array): Use orthogonal prototypes for legacy syntax. + + * ramap.c (array-indexes): Change to use create-array. + + * Init5d4.scm (Ac64, Ac32, Ar64, Ar32, As64, As32, As16, As8, + Au64, Au32, Au16, Au8, At1): Added prototype makers. + +2002-01-29 Aubrey Jaffer <agj@alum.mit.edu> + + * debug.c (num_frames, estk_frame, cont_frame, stacktrace1): + Removed "static"; moved prototypes to scm.h. + +2002-01-28 Radey Shouman <Shouman@ne.mediaone.net> + + * eval.c (macroexp1): Fix error handling for line-numbered objects + other than pairs. + + * repl.c (lread_rec): Add line numbers to vectors read using + READ-NUMBERED, to allow more specific unquoted vector warnings. + + * Init5d4.scm (read:sharp-char): Make #\C-M-a equivalent to #\M-C-a. + +2002-01-28 Aubrey Jaffer <agj@alum.mit.edu> + + * scm.texi (Uniform Array): Removed most uniform-vector functions. + + * Init5d4.scm: Removed uniform-vector functions. + + * unif.c (uve_len, uniform-vector-length): Removed. + (uniform-vector-set1!, uniform-vector-ref): Removed. + (scm_prot2type, array_prot): Converted to new prototypes. + + * unif.c (raprin1): Changed to new array syntax. + + * Init5d4.scm (read:sharp-char): Rearranged. + (read:array): Support new array syntax. + +2002-01-26 Aubrey Jaffer <agj@alum.mit.edu> + + * Init5d4.scm (call-with-open-ports): Accept arguments reversed. + (try-create-file): Accept symbol for modes argument. + (OPEN_READ, OPEN_WRITE, OPEN_BOTH): Changed to symbols. + (_IONBF, _TRACKED, _EXCLUSIVE): Work with strings OR symbols. + + * ioext.c (reopen_file, l_dup2, scm_try_create_file): + * sys.c (mksfpt, try_open_file): + * posix.c (open_pipe): Accept symbol for modes argument. + + * scm.texi (tc7_svect): Uniform short vector type. + +2002-01-24 Radey Shouman <shouman@ne.mediaone.net> + + * scm.c (l_sleep): Microsoft Sleep takes millisecond argument, + convert from seconds. + + * repl.c (scm_err_line): Added for standard printing of erring + file and line number. + (err_head): Use scm_err_line. + + * debug.c (princlosure, scm_scope_trace): Use scm_err_line. + + * findexec.c: Do nothing if __MINGW32__ is #defined, so scmlit can + be built with mingw using the makefile. + +2002-01-22 Radey Shouman <shouman@ne.mediaone.net> + + * eval.c: (scm_cvapply, apply): Save and restore scm_trace + expression for better backtraces. + (map, for_each): No longer need additional tracing. + + * debug.c: (stacktrace1): Use BOOL_F as default value of trace, to + avoid confusion with the UNDEFINED end-of-estk marker. + +2002-01-22 Aubrey Jaffer <agj@alum.mit.edu> + + * ioext.c, time.c, scm.c, findexec.c (__MACH__): Darwin port. + + * build.scm (Darwin): Added support for APPLE/MACH/PPC. + + * repl.c (swapcar): Added synchronization primitive. + + * scm.texi (Process Synchronization): Added make-exchanger. + + * Init5d4.scm (make-exchanger): Defined using swap-car!. + +2002-01-20 Aubrey Jaffer <agj@alum.mit.edu> + + * xgen.scm: QASE renamed from CASEV. + + * Init5d4.scm, scm.texi (qase): Renamed from casev. + Feature `database-utilities' renamed `databases'. + + * build.scm: Feature `database-utilities' renamed `databases'. + +2002-01-19 Aubrey Jaffer <agj@alum.mit.edu> + + * Makefile (intro): Moved above srcdir.hk. Added "make scm". + +2002-01-18 Radey Shouman <Shouman@ne.mediaone.net> + + * ramap.c (racp): Fixed bug in array-copy! from a general array to + a bit-array or a char-array. + +2002-01-15 Aubrey Jaffer <agj@alum.mit.edu> + + * scmfig.h: Added MSVC pragmas. + + * unif.c (raprin1): Fixed #Aid array prefix. + (float_eq_double_P): Added workaround for MSVC. + +2002-01-13 Aubrey Jaffer <agj@alum.mit.edu> + + * Makefile (scm): Added just-bignums-and-arrays target for JACAL. + + * Init5d4.scm (set-vicinities!): Load "requires.scm" if + "require.scm" absent. + + * scm.c (SYSTNAME): __MACH__ -> "mach". + + * scm.texi (Automatic C Preprocessor Definitions): Updated with + Apple Darwin flags. + +2002-01-03 Aubrey Jaffer <agj@alum.mit.edu> + + * Init5d4.scm (array=?): Added. + +2001-12-06 Aubrey Jaffer <agj@alum.mit.edu> + + * Makefile (scm.info): Depends on rautil.txi. + +2001-12-01 Aubrey Jaffer <agj@alum.mit.edu> + + * Init5d4.scm (logical): Removed legacy definitions. + + * r4rstest.scm (4 2 2): Added test for LET bug. + +2001-11-15 Aubrey Jaffer <agj@alum.mit.edu> + + * build.scm (build): Updated for SLIB dbutil changes. + +2001-11-11 Aubrey Jaffer <agj@alum.mit.edu> + + * Init5d4.scm (bit-reverse integer->list list->integer + booleans->integer bitwise:laminate bitwise:delaminate): Added bit + order and lamination functions. + + (integer->gray-code gray-code->integer gray-code<? gray-code<=? + gray-code>? gray-code>=?): Added Gray code functions. + +2001-10-27 Radey Shouman <Shouman@ne.mediaone.net> + + * repl.c (gc_start, gc_end): Removed check for FPORTP(cur_errp), + no longer useful since we now write to sys_errp with no real + output until gc is over. + +2001-10-21 Aubrey Jaffer <agj@alum.mit.edu> + + * build (build-from-argv): Fail gracefully if params is #f. + +2001-09-27 Aubrey Jaffer <agj@alum.mit.edu> + + * ioext.c (file-exists?): Defined using ACCESS. + (scm_try_create_file): Conditional on O_EXCL being defined. + +2001-09-26 Aubrey Jaffer <agj@alum.mit.edu> + + * Init5d4.scm (_EXCLUSIVE): Added. + (try-create-file): Added; supports open for exclusive write. + (file-exists?): Conditionally defined. + + * ioext.c (scm_try_create_file): Moved from "unix.c". + +2001-09-24 Aubrey Jaffer <agj@alum.mit.edu> + + * scm.texi (SCM Session): boot-tail documented. + +2001-09-21 Aubrey Jaffer <agj@alum.mit.edu> + + * bench.scm (benchmark): Metric interchange units. + +2001-09-11 Aubrey Jaffer <agj@alum.mit.edu> + + * xgen.scm (schemeify-name): Converted to use StudlyCapsExpand. + + * Init5d4.scm (string-case): Added StudlyCapsExpand. + +2001-09-10 Radey Shouman <Shouman@ne.mediaone.net> + + * unix.c: (scm_try_create_file): Opens a file only if it does not + already exist. (Uses open() with the O_EXCL flag). + + * sys.c: (try_open_file): Calls back to try-create-file if an "x" + flag is specified. + + * Init5d4.scm: (try-create-file): autoloaded. + +2001-09-03 Igor Goldenberg <igold@mail.ru> + + * findexec.c, scmfig.h, scm.c, time.c (__amigaos__): replaces + obsolete __amigados__. + + * build.scm (amiga-gcc): "-O2" option removed (executable fails). + +2001-09-02 Aubrey Jaffer <agj@alum.mit.edu> + + * scm.texi (SCM Options): Added "-r*rs" options. + + * mkimpcat.scm (2rs, 3rs, 4rs, 5rs): Added aliases to make + "-r2rs".."-r5rs" command-line options work. + + * Init5d4.scm (*syntax-rules*): Renamed from *R4RS-MACROS*. + +2001-09-01 Aubrey Jaffer <agj@alum.mit.edu> + + * Init5d4.scm (boot-tail): Converted -r2, -r3, -r4, and -r5 + options to use r2rs, r3rs, r4rs, and r5rs features added to SLIB. + + * Makefile (scmlit): 'rm slibcat implcat' *after* compilation. + +2001-08-31 Aubrey Jaffer <agj@alum.mit.edu> + + * scm.c, scmfig.h, script.c, time.c: Changed unix flags to + HAVE_UNIX. + +2001-08-31 Radey Shouman <Shouman@ne.mediaone.net> + + * eval.c (m_expand_body, macroexp1): Try harder to keep non-memoizing + macros unmemoized. + + * repl.c (scm_io_error): Now returns non-zero if EINTR seen. + (lfflush, lflush, lputc, lputs, lfwrite): No longer use + SYSCALL, but leave checking for EINTR to scm_io_error -- errno + need not be checked or set until an erring return value is seen. + (scm_warn): Now takes a scheme object to be printed as third argument. + +2001-08-30 Radey Shouman <Shouman@ne.mediaone.net> + + * sys.c (scm_port_entry): Now accepts a stream argument and + allocates the port cell. Puts a back pointer (not a gc protect) + into the port table, for introspection. + (open-ports): Returns a list of open ports. Should be useful for + fork, and maybe dump. + (port-type): Describes a port. + + * crs.c ioext.c posix.c scm.h socket.c Use new scm_port_entry call. + + * ioext.c (ldup): Better error reporting for invalid mode flags. + +2001-08-27 Radey Shouman <Shouman@ne.mediaone.net> + + * eval.c (scm_arity_check): Always return false for negative argc. + (macroexp1): Better error message for malformed expressions. + +2001-08-26 Radey Shouman <Shouman@ne.mediaone.net> + + * repl.c (lungetc): Calls ungetc function if provided, this allows + string ports to work without using up port table entries. + + * sys.c (stclose): Allows gc of string. + (stungetc): ungetc for string ports. + +2001-08-24 Radey Shouman <Shouman@ne.mediaone.net> + + * repl.c: (scm_io_error): Added BROKEN-PIPE callback. + + * eval.c (m_case): Added callback to @case-aux to check for CASEs + that can be optimized to jump tables. + + * Init5d4.scm (@case-aux): Definition added. + +2001-08-23 Radey Shouman <Shouman@ne.mediaone.net> + + * scmfig.h eval.c record.c rgx.c sys.c unif.c + (SCM2PTR, PTR2SCM): Added test definition, so we can verify that + the code still works. Flushed out two actual bugs in eval.c. + +2001-08-16 Radey Shouman <Shouman@ne.mediaone.net> + + * eval.c (m_case): CASE speed tweak. + (scm_case_selector): Added auxiliary function for CASE runtime. + + * sys.c (scm_gc_protect): Added to simplify eval.c. + +2001-08-15 Aubrey Jaffer <agj@alum.mit.edu> + + * Link.scm (link:link): Load main file last for sun-dl. + +2001-08-13 Radey Shouman <Shouman@ne.mediaone.net> + + * eval.c (NO_ENV_CACHE): option bitrot fixed. + (scm_v2lst): Now takes third argument for compatibility with + scm_env_v2lst. + + * sys.c (scm_env_v2lst): Length argument now long instead of int + for compatibility with scm_v2lst. + +2001-08-11 Radey Shouman <Shouman@ne.mediaone.net> + + * dynl.c: DLOPEN_MODE now uses RTLD_GLOBAL iff it is #defined, + Linux (at least) requires it in order to stack compiled modules. + Also use RTLD_NOW, which allows reporting errors at load time, + rather than crashing the program when an undefined symbol is accessed. + +2001-08-09 Aubrey Jaffer <agj@alum.mit.edu> + + * mkimpcat.scm (add-link): Support symbols (features) in list. + (unix): Uses this feature. + + * Init5d4.scm (slib:load-compiled): Require any symbols in list. + + * Link.scm (link:link): Run 'init_<file>' only for first object + file. + +2001-07-30 Radey Shouman <Shouman@ne.mediaone.net> + + * repl.c: (err_head): Make sure cur_outp is open before fflushing it. + * sys.c: (clptob): Make flushing a closed port raise an error. + +2001-07-27 Radey Shouman <Shouman@ne.mediaone.net> + + * sys.c: (mode_bits, try_open_file, mksfpt): + * ioext.c: (reopen_file, l_dup): + Improved error checking for mode strings. + +2001-07-24 Radey Shouman <Shouman@ne.mediaone.net> + + * repl.c (scm_io_error, lflush, lwrite, display, newline, + write_char, scm_freshline): Common code checking for EPIPE after + file errors, now prints warning before closing port. + + * ioext.c (read_line, read_line1): Remove check that current + input port is open, errors caught by dispatching on closed port. + + * sys.c (init_types): Add a closed port type, so we can avoid I/O + to closed FILEs even if we don't explicitly check for a closed SCM + port before each operation. + +2001-07-21 Radey Shouman <Shouman@ne.mediaone.net> + + * repl.c: (char_readyp, lflush, lwrite, display, newline): + (write_char, read_char, peek_char, scm_freshline): + Don't assume currrent input or output ports are open. + Remove checks for EPIPE. + + (lfputc, lfputs, lfwrite): Checks for EPIPE moved here. Now + check errno only if an erring return value is seen. Signals error + for non-EPIPE errors. + + (def_err_response): Exit quietly (without core dump) if default + error port has been closed. + + * ioext.c (read_line, read_line1): + No longer assume current input port is open. + + * unif.c: (uve_write): Use lfwrite instead of fwrite, + (checks for EPIPE). + + * sys.c (safewrite): Fix return value. + +2001-07-19 Aubrey Jaffer <agj@alum.mit.edu> + + * sys.c (port_closedp): Added. + +2001-07-13 Aubrey Jaffer <agj@alum.mit.edu> + + * Link.scm (link:link): Runs 'init_<file>' for all linked + object-files with inits. + +2001-07-13 Radey Shouman <Shouman@ne.mediaone.net> + + * repl.c (def_err_response): Deal with closed error-port. + +2001-07-12 Steve VanDevender <stevev@hexadecimal.uoregon.edu> + + * unexalpha.c (TEXT_START): Fixed for Digital UNIX 4.0d and 4.0g. + +2001-07-12 Radey Shouman <Shouman@ne.mediaone.net> + + * (scm_port_entry): Fixed for 64-bit machines. + (SCM_PORTNUM_MAX): Replaces PORT_TABLE_MAXLEN, fixed for 64-bit + machines. Thanks for bug report from Steve VanDevender + <stevev@hexadecimal.uoregon.edu> + + (sysintern): Make sure we have a non-garbage-collectable symbol + whether it existed previously interned or not. This can be an + issue with dynamically loaded code, since sysintern can be called + at any time. + +2001-07-02 Radey Shouman <Shouman@ne.mediaone.net> + + * eval.c (force): Now works for zero or multiple values. + +2001-06-27 Steve VanDevender <stevev@hexadecimal.uoregon.edu> + + * gmalloc.c (check_block, check_frag_blocks): Conditioned on + #ifdef DEBUG_GMALLOC. + +2001-06-27 Radey Shouman <Shouman@ne.mediaone.net> + + * sys.c (prinport): Print filename or pipe command, if available. + +2001-06-23 Radey Shouman <Shouman@ne.mediaone.net> + + * r4rstest.scm (test-numeric-predicates): Added tests for bignum + to flonum comparisons. + + * scl.c (lessp, eqp, lmin, lmax): Make bignum to float + comparisons transitive as required by R5RS. + (scm_twos_power, scm_bigdblcomp): Support functions added. + + * eval.c (m_letstar1): Introduced to allow more sensible error + messages for LET, LETREC. + +2001-06-17 Aubrey Jaffer <agj@alum.mit.edu> + + * posix.c (scm_getlogin): Added -- doesn't work on RH6.2. + + * Init5d4.scm (getlogin, login->home-directory): Added. + (home-vicinity): Defined in terms of getlogin, etc. + +2001-06-14 Radey Shouman <Shouman@ne.mediaone.net> + + * subr.c (scm_bitfield): Made more efficient. + +2001-06-10 Radey Shouman <Shouman@ne.mediaone.net> + + * scl.c (integer-expt): For negative exponents, raise to a + positive power first, then reciprocate. This should almost always + reduce roundoff error.. For INUMs, convert to floats before + raising to the positive power, to avoid allocating bignums. + + (next-double-float): Takes two flonums, returns the next flonum + from the first in the direction of the second. Not sure whether + this should stay. + +2001-05-28 Aubrey Jaffer <agj@alum.mit.edu> + + * r4rstest.scm (test-inexact): Added (test (atan 1) atan 1 1). + +2001-05-23 Radey Shouman <Shouman@ne.mediaone.net> + + * eval.c (ceval_1, ceval_1): Optimize LAMBDA expressions without + rest arguments in function call position to LETs. Introduce + IM_FUNCALL spcsym for other non-variable reference expressions in + function call position so they are not repeatedly expanded. + +2001-05-16 Aubrey Jaffer <agj@alum.mit.edu> + + * Makefile (pdf): Added targets. + +2001-05-15 Radey Shouman <Shouman@ne.mediaone.net> + + * Macro.scm: (macro:compile-syntax-rules): Generalized ellipsis + quote from (... ...) to (... <pattern-or-template>). + + * sys.c: (free_storage): Zero loc_gc_hook since it will be freed, + otherwise restart may fail. + +2001-05-14 Steve VanDevender <stevev@hexadecimal.uoregon.edu> + + * eval.c (scm_arity_check): Lacked explicit return value in the + tcs_closures case. + +2001-05-05 Aubrey Jaffer <agj@alum.mit.edu> + + * Macro.scm (@pprint): Added. + +2001-04-17 Radey Shouman <Shouman@ne.mediaone.net> + + * eval.c (scm_eval_values): Now applies eval, so that + values-context errors are caught for expressions entered in the + repl. Example bug: > (cons (values) '()) => (#<undefined>) + + (ceval_1): Primitive @EVAL does not copytree its argument. + + * Init5d4.scm (eval): Now defined in terms of @eval. + +2001-04-16 Aubrey Jaffer <agj@alum.mit.edu> + + * Makefile (all): make x.so after other components. + (myscm): Removed target; use 'make all' instead. + +2001-04-16 Radey Shouman <Shouman@ne.mediaone.net> + + * scl.c (previous_dfloat, next_dfloat, dfloat_parts): Fixed + for gradual underflow, as long as DBL_MIN_EXP is #defined. + + * repl.c scm.h Init5d4.scm + * eval.c (ceval_1, apply, cvapply): Moved most of the work of + applying a closure into ceval_1, by providing a syntax token + IM_EVAL_FOR_APPLY. CALL-WITH-VALUES is now a specfun, no special + form or closure needed. + +2001-04-13 Radey Shouman <Shouman@ne.mediaone.net> + + * scl.c (dfloat_parts, make_dfloat, next_dfloat): + (previous_dfloat): Implement DOUBLE-FLOAT-PARTS, + MAKE-DOUBLE-FLOAT, NEXT-DOUBLE-FLOAT, PREVIOUS-DOUBLE-FLOAT. Low + level floating point functions. + +2001-04-10 Radey Shouman <Shouman@ne.mediaone.net> + + * subr.c (scm_copybit): No longer makes so many bignums. + (scm_2scomp1): Static auxiliary function. + (scm_big_ash): Uses scm_2scomp1. + +2001-04-09 Radey Shouman <Shouman@ne.mediaone.net> + + * subr.c (scm_big_ash, scm_ash): Faster bignum ash, + allocates only one bignum per call. + (scm_copy_big_2scomp): Static support routine. + +2001-04-07 Radey Shouman <Shouman@ne.mediaone.net> + + * repl.c (scm_stack_trace): Reworked with general stack-inspection + function estk_frame. + (def_err_response): Use null s_subr argument to indicate that an + entire expression is being printed. + + * eval.c (macroexp1): Check early for unbound variable references + in a form, so nicer error messages can be produced. + +2001-04-06 Radey Shouman <Shouman@ne.mediaone.net> + + * subr.c (scm_big_and): Fixed bug in LOGAND for one negative and + one positive argument. + Bug example: (logand #x-10000 #x3ffffffff) => #x3ffffffff + +2001-04-04 Radey Shouman <Shouman@ne.mediaone.net> + + * Macro.scm (macro:compile-syntax-rules): Better error messages, + renamed some internal functions for clarity. Fix checking of + pattern variable rank in templates. Some legal syntax-rules + templates were being rejected, eg + (syntax-rules () ((_ (?x ...) (?y ...)) + (let ((?x (list ?y ...)) ...) + (list ?x ...))))) + +2001-03-30 Radey Shouman <Shouman@ne.mediaone.net> + + * eval.c (scm_values): Exported, since it can reasonably be called + from subrs. + + * record.c (recprin1): Call default printer if the custom printer + returns #F. Print object-hash value of the rtd after type name, + so all distinct record types can be distinguished by eye. + + (rec_rtdprin1): Custom printer for record type descriptors, + includes rtd object-hash value. + +2001-03-29 Radey Shouman <Shouman@ne.mediaone.net> + + * repl.c (everr): Pass a `writing' value of 2, rather than + 1, during printing of error messages, so writing procedures + may take special action. + + * record.c (recprin1, rec_prinset): record-printer now takes + three arguments instead of two, the third being a boolean + WRITING?. + Supress calling the record-printer during error reports, + avoiding the possibility of a recursive error. + + * eval.c (m_letrec1): Fix error report in case macro keyword + is a synthetic identifier. + (m_letstar): Preserve distinction between LET* and LET in the + printed representation of evaluated code, for easier debugging of + backtraces. + +2001-03-24 Dai Inukai <GAF05426@nifty.ne.jp> + + * scmmain.c (main): Since release 2.0.5, FreeBSD's double + precision arithmetic defaults to 53 bits instead of 64 bits. Set + precision to 64 bits for all arithmetics and run the risk of + overflow, though I have not seen any in 6 months of use. + +2001-03-27 Radey Shouman <Shouman@ne.mediaone.net> + + * Macexp.scm (macro:expand): + * eval.c (scm_macroexpand1): Now expand identifier macros. + +2001-03-26 Radey Shouman <Shouman@ne.mediaone.net> + + * Macro.scm (syntax-rules): Only use procedure->identifier-macro + if needed, so macros print something without an error message. + + * eval.c (scm_macroexpand1): Expand forms with identifier macros + in keyword position (needed for macro:expand). Should also expand + single identifiers ... + +2001-03-23 Radey Shouman <Shouman@ne.mediaone.net> + + *sys.c (scm_gc_hook, scm_run_finalizers, mark_finalizers): + Added hook to be run like an interrupt shortly after gc. Added + finalizer facility to gc. + (scm_add_finalizer): Implements Scheme-level interface to + finalizer facility, ADD-FINALIZER. + + *scm.c (process_signals): run scm_gc_hook. + (setitimer): beautified somewhat. + + *repl.c (scm_top_level): Modified for gc hook. + +2001-03-20 Radey Shouman <Shouman@ne.mediaone.net> + + * eval.c (ceval_1): modified + (values, m_call_wv, scm_eval_values): Added. + Implement CALL-WITH-VALUES and VALUES by returning extra values in + scm_env_tmp. + (scm_arity_check): Raise an error for unknown tc7_specfuns. + + * repl.c (repl): Expects and prints multiple values. + + * Init5d4.scm (call-with-values): Implemented by wrapping + undocumented special form @CALL-WITH-VALUES. CALL-WITH-VALUES + is hard to implement using the C level apply function, because + that function is not tail-recursive. + +2001-03-18 Aubrey Jaffer <agj@alum.mit.edu> + + * build.scm (build): Removed unused parameter scm-srcdir. + + * scm.spec (%post): 'ln -s %{prefix}/lib/scm /usr/local/lib/scm' + fixes vicinity problem caused by linking /usr/local/bin/scm. + +Thu Mar 15 21:33:30 EST 2001 Aubrey Jaffer <jaffer@aubrey.jaffer> + + * patchlvl.h (SCMVERSION): Bumped from 5d3 to 5d4. + +2001-03-15 Aubrey Jaffer <agj@alum.mit.edu> + + * x.c (init_x): Don't scm_ldprog("xatoms.scm") because it + redefines STRING. + +2001-03-15 Radey Shouman <Shouman@ne.mediaone.net> + + * scm.spec: Added spec file to generate a .rpm file. + +2001-03-13 Radey Shouman <Shouman@ne.mediaone.net> + + * Macro.scm (macro:compile-syntax-rules): Support for identifier + macros. + + * repl.c (iprin1): Print inlined procedure calls without infinite + recursion. + + * scm.h: subtypes of tcs_cons_imcar are broken out for use in repl.c. + + * eval.c (makidmacro): Implement PROCEDURE->IDENTIFIER-MACRO. + (macroexp1, lookupcar, prinmacro): Clean up macro type codes, + support identifier macros. + + (m_inline_lambda, env_depth, env_tail, ceval_1): Support inline + procedures. Commented out for now, since the macro expander is not + yet smart enough to figure out which lambda expressions can be + inlined. + +2001-03-04 Aubrey Jaffer <agj@alum.mit.edu> + + * unif.c (init_unif): Removed scm_ldstr() call -- was failing to + define string-case functions when compiled on files.posmikk. + + * Init5d3.scm (string-case): provided if string-upcase! defined. + (display-file): Take optional port argument. + +2001-02-25 Aubrey Jaffer <agj@alum.mit.edu> + + * build.scm (build:serve): Improved error reporting. + +2001-02-22 Radey Shouman <Shouman@ne.mediaone.net> + + * record.c (rec_constr): Fixed error checking of fields argument. + +2001-02-12 Aubrey Jaffer <agj@alum.mit.edu> + + * Init5d3.scm (pprint): Added (returns last argument). + +2001-02-07 Aubrey Jaffer <agj@alum.mit.edu> + + * unif.c (init_unif): Moved string-*case definitions from + Init5d3.scm. Added string-append. + +2001-01-30 Marc Espie <espie@lusheeta.liafa.jussieu.fr> + + * build.scm, *.c: Ported to OpenBSD. + +2001-01-21 Aubrey Jaffer <agj@alum.mit.edu> + + * x.c (x_event_keysym): Added. Translates XKeyEvent to KeySym. + (x_window_geometry_set): Added interface to XConfigureWindow. + + * Makefile (keysymdef.scm): Added target. + + * inc2scm (scm<-includes): #ifdef each prospective #define. + +2001-01-18 Radey Shouman <Shouman@ne.mediaone.net> + + * ramap.c (ramap_cxr): Fix bug in dynamic allocation of + workspace for large number of arguments (>= 5 in argument list). + +2001-12-18 Aubrey Jaffer <agj@alum.mit.edu> + + * Makefile (xafiles): Generated xlib-scheme files weren't being + installed. + +2001-01-18 Aubrey Jaffer <agj@alum.mit.edu> + + * x.c (scm2display_screen): Fixed off-by-one problem. + +2000-12-06 Aubrey Jaffer <agj@alum.mit.edu> + + * r4rstest.scm (Section 5 2 1): added (begin)s. + +2000-12-04 Radey Shouman <Shouman@ne.mediaone.net> + + * eval.c (m_begin): now accepts (BEGIN) which evaluates to + #<unspecified>. + (m_expand_body): checks for memoized (BEGIN) so that empty BEGINs + do not interrupt a sequence of internal definitions. Properly + rewrites internal definitions in several BEGINs as one LETREC, + rather than several. + +2000-11-13 Aubrey Jaffer <jaffer@ai.mit.edu> + + * x.c (x_default_ccc, x:default-ccc): Added. + (x_list_properties, x:list-properties): Added. + (x_window_ref, x:window-ref): Added. + (tc16_xccc): Added. + (CCC2SCM_P, CCC2SCM, xtc_ccc): Added backlinks from CCCs. + (print_xccc): Print out device-dependent ColorSpace names. + +2000-11-07 Aubrey Jaffer <jaffer@ai.mit.edu> + + * x.c (x_list_properties): Added. + (x_propdata2scm): Fixed. + +2000-11-06 Aubrey Jaffer <aubrey_jaffer@splashtech.com> + + * xatoms.scm (X:CIEXYZ): Added Xcms formats from Xcms.h. + + * xgen.scm (xatoms): Also grab Xcms formats from Xcms.h. + + * x.c (x_visual_class, x_visual_geometry): Added. + (free_visual): Fixed vinfo_mask argument to XGetVisualInfo. + +2000-10-30 Aubrey Jaffer <jaffer@ai.mit.edu> + + * x.c (tc16_xvisual): Now holds XVisualInfo. + (x:default-visual): Removed. + + * xtest.scm: Removed use of x:default-visual. + + * xgen.scm (xatoms): Added. + + * xatoms.scm: Translation of Xatom.h added. + +2000-10-14 Aubrey Jaffer <jaffer@ai.mit.edu> + + * Init5d3.scm (call-with-open-ports): Added. + (call-with-input-file): + (call-with-output-file): Use call-with-open-ports. + +2000-10-07 Aubrey Jaffer <jaffer@ai.mit.edu> + + * Init5d3.scm (call-with-outputs): Added. + +2000-09-24 Jacob Strauss <jastr@mit.edu> + + * scm.texi (waitpid): Fixed return value paragraph. + +2000-09-23 Aubrey Jaffer <aubrey_jaffer@splashtech.com> + + * build.scm (build:serve): Added. + +2000-09-09 Aubrey Jaffer <jaffer@ai.mit.edu> + + * r4rstest.scm (display): Test only on chars and strings. + +2000-08-05 Aubrey Jaffer <jaffer@ai.mit.edu> + + * rautil.scm (subarray): Added. + +2000-06-11 Ben Goetter <goetter@mazama.net> + + * build.scm (Microsoft-C-nt): Set options correctly for + feature 'stack-limit. + + * scmfig.h (MSDOS): NT lacks sbrk(). + +Sat Jun 3 22:12:39 EDT 2000 Aubrey Jaffer <jaffer@ai.mit.edu> + + * patchlvl.h (SCMVERSION): Bumped from 5d2 to 5d3. + +2000-06-01 Aubrey Jaffer <jaffer@ai.mit.edu> + + * scm.texi (Making SCM): Updated. + +2000-05-02 C Nick Beaudrot <cbeaudro@cs.brown.edu> + + * scmfig.h: __SVR4 is the official Sun flag. + +2000-04-18 Aubrey Jaffer <jaffer@ai.mit.edu> + + * r4rstest.scm (modulo): Added test cases. + +2000-04-18 Radey Shouman <Radey_Shouman@splashtech.com> + + * subr.c (modulo): Fixed sign handling bug for INUM0, following + Dirk Herrmann's <D.Herrmann@tu-bs.de> fix for Guile. + +2000-03-31 Radey Shouman <Radey_Shouman@splashtech.com> + + * ioext.c (file_set_position): Do not disable port tracking for + zero pos. + +2000-03-30 Radey Shouman <Radey_Shouman@splashtech.com> + + * ioext.c (file_set_position): For tracked ports (line & column + number), issue warning and turn off tracking. + + * repl.c (scm_port_col): column numbers made consistently 1-based. + Fixed handling of ungetted chars. + +2000-03-28 Aubrey Jaffer <jaffer@ai.mit.edu> + + * Makefile (Xlibscm_toc.html): fixed. + + * Transcen.scm (pi, pi*, pi/): Added. + +2000-02-24 Radey Shouman <Radey_Shouman@splashtech.com> + + * Init5d2.scm (warn, error): Don't use PROVIDED?, it can cause + error loops. + (library-vicinity): Give a meaningful error message if we can't load + require.scm. + +2000-02-16 Radey Shouman <Radey_Shouman@splashtech.com> + + * Macexp.scm (macro:expand): Fixed for keywords that would be + lexically shadowed except for hygiene. + +2000-02-15 Radey Shouman <Radey_Shouman@splashtech.com> + + * eval.c (ceval_1): Check for immediate procedure argument to + APPLY. + +2000-02-14 Radey Shouman <Radey_Shouman@splashtech.com> + + * Init5d2.scm (read:sharp): Accept #! syntax without checking + line-number, so source files may be READ. Made more robust. + + * Macexp.scm (macro:expand-syntax): Fixed handling of BEGIN with + only one subform. + +2000-02-11 Radey Shouman <Radey_Shouman@splashtech.com> + + * eval.c (env2tree): Rewritten to make it easier to change + behavior based on bound values. + +2000-02-07 Radey Shouman <Radey_Shouman@splashtech.com> + + * Macro.scm (define-syntax, let-syntax, letrec-syntax): Made + Primitive syntax. + + * eval.c (makro): Abstracts process of making syntax. + (makacro, makmacro, makmmacro): Now call makro. + (makpmacro, @procedure->primitive-syntax): Scheme level way of + defining primitive syntax, meaning syntax that @macroexpand and + hence macro:expand will not expand. + + * scm.h (IM_DEFINE): now an ISYM but not SPCSYM, since IM_DEFINE + no longer occurs in executable Scheme code there is no reason + dispatching on it need be fast. There is now one spare SPCSYM. + +2000-02-06 Radey Shouman <Radey_Shouman@splashtech.com> + + * Macexp.scm (macro:expand): Fixed handling of CASE. + + * eval.c (m_letstar): Transforms (LET* () ...) into either a + BEGIN, a single body form, or, if at top level, a LAMBDA + expression. Wrapping macro arguments in (LET () ... ) to allow + internal DEFINE becomes free. + + (ceval_1): Code to deal with zero binding LET* commented out. + + (nullenv_p): Added, since we test for null environments in both + m_define and m_letstar. + + (scm_extended_env, env2tree): #define constant + ENV_TREED for the car bit that identifies environments that have + been migrated out of ecache. + + (wrapenv): Return '() if at top level, instead of + allocating a cell for an environment object. + + (topdenote_eq): Added to reduce code size. + + (m_begin): if only one form, just returns it. + (scm_macroexpand1): Fixed to work with macro:expand. + +2000-02-06 Radey Shouman <Radey_Shouman@splashtech.com> + + * Macexp.scm: Added, rewritten replacement for Macroexpand.scm. + Implements MACRO:EXPAND including LET-SYNTAX and LETREC-SYNTAX. + Rewrites synthetic identifiers to symbols for pretty display. + +2000-02-04 Aubrey Jaffer <jaffer@ai.mit.edu> + + * build.scm (C-libraries): __FreeBSD__ uses libncurses. + + * crs.c: __FreeBSD__ includes ncurses.h + +2000-02-02 Radey Shouman <Radey_Shouman@splashtech.com> + + * scm.texi: Updated documentation for DEFMACRO and SYNTAX-RULES. + + * ramap.c (array_map, array_for_each, array_imap): No longer + need to call procedurep, scm_arity_check is sufficient. + + * eval.c (scm_arity_check): Was not doing the right thing if + passed an immediate as a procedure. + + (ceval_1): Added ALLOW_INTS_EGC to ensure that a tight + loop applying a closure of >3 arguments will handle signals. Bug + report thanks to Tomas Lozano-Perez <tlp@mit.edu>. + +2000-02-01 Aubrey Jaffer <jaffer@ai.mit.edu> + + * Xlibscm.texi: TeX doesn't like @itemx in @tables. + +2000-02-01 Radey Shouman <Radey_Shouman@splashtech.com> + + * Macro.scm (compile-pattern): Allow (... ...) escapes to be + matched in patterns as a literal ... ellipsis, allowing use of + ellipses as syntax in user macros. + + * sys.c (scm_env_cons3): Added. + * eval.c (scm_env_cons_tmp): Removed, replaced in one remaining + use by scm_env_cons3. + +2000-01-28 Radey Shouman <Radey_Shouman@splashtech.com> + + * Init5d2.scm (file-exists?, file-readable?): Zero errno to + prevent spurious error messages. + + * Macro.scm (@print): Moved from Init*.scm, where it did no good + since 'macro was never provided at that stage. + + (destructuring-bind): SYNTAX-RULES version, gives better error + reporting. + +2000-01-28 Dorai Sitaram <dorai@owlnet.rice.edu> + (actually contributed March 1993) + + * Init5d2.scm (destructuring-bind): + (defmacro:get-destructuring-bind-pairs): Added for destructuring + DEFMACRO. + +2000-01-28 Radey Shouman <Radey_Shouman@splashtech.com> + * Init5d2.scm (defmacro:simple-defmacro): Added, does what + DEFMACRO used to do. + (defmacro): Now does CL style destructuring. + +2000-01-27 Radey Shouman <Radey_Shouman@splashtech.com> + + * Init5d2.scm (defmacro): Now accepts + (DEFMACRO (<name> . <args>) ...) as equivalent to + (DEFMACRO <name> (<args>) ...) + +2000-01-24 Radey Shouman <Radey_Shouman@splashtech.com> + + * eval.c (map, for_each): Check that the cdr of each list + argument is in fact a pair -- averting possible segfault. + +2000-01-11 Aubrey Jaffer <jaffer@ai.mit.edu> + + * Makefile (SCMLIT, SCMEXE): local executables for build, bench, ... + +2000-01-09 Aubrey Jaffer <jaffer@ai.mit.edu> + + * Init5d2.scm (track-all, stack-all, break-all): Added autoloads. + (trace, break): Improved Macro Autoloads. + +2000-01-04 Aubrey Jaffer <jaffer@ai.mit.edu> + + * Init5d2.scm (boot-tail): Added -h(ave) feature option. + +2000-01-03 Aubrey Jaffer <jaffer@ai.mit.edu> + + * Init5d2.scm (error, warn): print-call-stack. + +1999-12-23 Radey Shouman <Radey_Shouman@splashtech.com> + + * repl.c (scm_top_level): Moved dowinds() call later in the error + recovery sequence so that the errjmp_recursive flag is cleared + before calling DYNAMIC-WIND exit thunks. This move prevents + spurious "recursive error" exits. + Bug report by Tomas Lozano-Perez <tlp@ai.mit.edu>. + +1999-12-17 Aubrey Jaffer <jaffer@ai.mit.edu> + + * scm.texi (Bibliography): Added (Japanese) SchemePrimer. + +1999-12-17 Radey Shouman <Radey_Shouman@splashtech.com> + + * Init5d2.scm (@print): Added. + +1999-12-10 Aubrey Jaffer <jaffer@ai.mit.edu> + + * r4rstest.scm (SECTION 6 9): Added tests for map of single + argument +, -, and *. + +1999-12-10 Radey Shouman <Radey_Shouman@splashtech.com> + + * eval.c (scm_cvapply): Fixed bug in handling of asubrs. + +Sun Dec 5 22:04:18 EST 1999 Aubrey Jaffer <jaffer@ai.mit.edu> * patchlvl.h (SCMVERSION): Bumped from 5d1 to 5d2. -1999-12-02 Aubrey Jaffer <aubrey_jaffer@splashtech.com> +1999-12-02 Aubrey Jaffer <jaffer@ai.mit.edu> * Makefile (install): Make sure $(libscmdir)require.scm exists. (libscmdir): Use instead of IMPLPATH. @@ -16,11 +1366,11 @@ Sun Dec 5 22:04:18 EST 1999 Aubrey Jaffer <jaffer@aubrey.jaffer> * 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. -1999-11-14 Aubrey Jaffer <aubrey_jaffer@splashtech.com> +1999-11-14 Aubrey Jaffer <jaffer@ai.mit.edu> * build.scm (define-compile-commands): Added. (defcommand): Added. @@ -53,7 +1403,7 @@ Sun Dec 5 22:04:18 EST 1999 Aubrey Jaffer <jaffer@aubrey.jaffer> 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 + (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. @@ -69,23 +1419,23 @@ Sun Dec 5 22:04:18 EST 1999 Aubrey Jaffer <jaffer@aubrey.jaffer> 1999-11-04 David Yeh <theyeh@uclink.berkeley.edu> * scl.c (makdbl): Mods to compile using MSVC -1999-11-01 Aubrey Jaffer <aubrey_jaffer@splashtech.com> +1999-11-01 Aubrey Jaffer <jaffer@ai.mit.edu> * gmalloc.c: include "getpagesize.h" conditionalized on __svr4__. -1999-10-31 Aubrey Jaffer <aubrey_jaffer@splashtech.com> +1999-10-31 Aubrey Jaffer <jaffer@ai.mit.edu> * 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. -1999-10-17 Aubrey Jaffer <aubrey_jaffer@splashtech.com> +1999-10-17 Aubrey Jaffer <jaffer@ai.mit.edu> * Makefile: Added platform.txi dependency where dependent on scm.texi. -1999-10-16 Aubrey Jaffer <aubrey_jaffer@splashtech.com> +1999-10-16 Aubrey Jaffer <jaffer@ai.mit.edu> * Makefile (scm.info require.scm): "cp -p" more portable than "cp -a"? @@ -104,7 +1454,7 @@ Sun Dec 5 22:04:18 EST 1999 Aubrey Jaffer <jaffer@aubrey.jaffer> will hold a mode string suitable to pass to fopen(), without any SCM extension characters. -1999-10-13 Aubrey Jaffer <aubrey_jaffer@splashtech.com> +1999-10-13 Aubrey Jaffer <jaffer@ai.mit.edu> * r4rstest.scm (float-print-test): stop after first error. @@ -124,20 +1474,20 @@ Sun Dec 5 22:04:18 EST 1999 Aubrey Jaffer <jaffer@aubrey.jaffer> * 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): + (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 + * 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 + * 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 + * 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. @@ -159,13 +1509,13 @@ Sun Dec 5 22:04:18 EST 1999 Aubrey Jaffer <jaffer@aubrey.jaffer> 1999-10-04 Radey Shouman <Radey_Shouman@splashtech.com> - * eval.c (scm_arity_check): (macroexp1): Argument number checking + * 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 + (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 + (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. @@ -175,7 +1525,7 @@ Sun Dec 5 22:04:18 EST 1999 Aubrey Jaffer <jaffer@aubrey.jaffer> * sys.c (scm_env_v2lst): Now takes last cdr of list as argument. -1999-09-21 Aubrey Jaffer <aubrey_jaffer@splashtech.com> +1999-09-21 Aubrey Jaffer <jaffer@ai.mit.edu> * sys.c (scm_port_entry): Make 16-bit safe. @@ -184,21 +1534,21 @@ Sun Dec 5 22:04:18 EST 1999 Aubrey Jaffer <jaffer@aubrey.jaffer> * Tscript.scm: File added to implement transcript-on, transcript-off without burdening normal i/o. - * Init5d1.scm (transcript-on): (transcript-off): Now autoloads + * 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 + * socket.c (l_socket, l_connect, l_listen): Modified to use port table. - (l_shutdown): (l_getpeername): (l_getsockname): Test for OPFPORTP, not + (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 + * ioext.c (reopen_file, l_dup, l_dup2): Modified to use port table. * crs.c (prinwindow): Removed. @@ -206,19 +1556,17 @@ Sun Dec 5 22:04:18 EST 1999 Aubrey Jaffer <jaffer@aubrey.jaffer> (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. - (input_waiting): (wait_for_input): - - (trans_on): (trans_off): Removed in favor of soft-port implementation. - - (lputc): (lgetc): (lputs): (lfwrite): (lungetc): Removed check for + (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 + (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. + (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 @@ -227,24 +1575,24 @@ Sun Dec 5 22:04:18 EST 1999 Aubrey Jaffer <jaffer@aubrey.jaffer> * 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 + * 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_init_gra, scm_grow_gra): Use above feature. - (scm_port_entry): Added, allocates entry in a port table used to store + (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. + (mark_port_table, sweep_port_table): Gc support for port table. ptobfuns now has a "name" element, used for printing. - (prinfport): (prinstpt): (prinsfpt): Removed. + (prinfport, prinstpt, prinsfpt): Removed. -Sun Sep 12 22:54:58 EDT 1999 Aubrey Jaffer <jaffer@aubrey.jaffer> +Sun Sep 12 22:54:58 EDT 1999 Aubrey Jaffer <jaffer@ai.mit.edu> * patchlvl.h (SCMVERSION): Bumped from 5d0 to 5d1. -1999-09-12 Aubrey Jaffer <aubrey_jaffer@splashtech.com> +1999-09-12 Aubrey Jaffer <jaffer@ai.mit.edu> * x.c (init_x): Load "xevent.scm". @@ -256,7 +1604,7 @@ Sun Sep 12 22:54:58 EDT 1999 Aubrey Jaffer <jaffer@aubrey.jaffer> * requires.scm: Sample "require.scm". -1999-09-11 Aubrey Jaffer <aubrey_jaffer@splashtech.com> +1999-09-11 Aubrey Jaffer <jaffer@ai.mit.edu> * Xlibscm.texi (Event): Documented x:event-ref. @@ -273,7 +1621,7 @@ Sun Sep 12 22:54:58 EDT 1999 Aubrey Jaffer <jaffer@aubrey.jaffer> * repl.c (def_err_response): Now prints "expand-time environment" message only when relevant. -1999-08-21 Aubrey Jaffer <aubrey_jaffer@splashtech.com> +1999-08-21 Aubrey Jaffer <jaffer@ai.mit.edu> * xgen.scm (event-map): Added. @@ -284,11 +1632,11 @@ Sun Sep 12 22:54:58 EDT 1999 Aubrey Jaffer <jaffer@aubrey.jaffer> * repl.c (def_err_response): Error message for expand-time only environment. - * eval.c (lookupcar): (id_denote): Now handle environment objects + * eval.c (lookupcar, id_denote): Now handle environment objects in scm_env, lookupcar will complain if this happens in a run-time (rather than expand-time) context. - (eval_syntax): Added, to be used in Macroexpand.scm for LET-SYNTAX, + (eval_syntax): Added, to be used in Macroexpand.scm for LET-SYNTAX, LETREC-SYNTAX. (ceval_1): Fixed bug in eval. @@ -314,7 +1662,7 @@ Sun Sep 12 22:54:58 EDT 1999 Aubrey Jaffer <jaffer@aubrey.jaffer> `scm_trace'. Nested expressions involving primitives now give more accurate stack traces, without a speed penalty. - (map): (for_each): Always push an estk frame for the sake of stack + (map, for_each): Always push an estk frame for the sake of stack tracing. * repl.c (scm_stack_trace): Now may print out the value of the @@ -342,7 +1690,7 @@ Sun Sep 12 22:54:58 EDT 1999 Aubrey Jaffer <jaffer@aubrey.jaffer> * repl.c (def_err_response): Changed setjump to setjmp when setting up safeport. -1999-07-11 Aubrey Jaffer <aubrey_jaffer@splashtech.com> +1999-07-11 Aubrey Jaffer <jaffer@ai.mit.edu> * Makefile (incdir): Added to abstract include directory location. @@ -361,11 +1709,11 @@ Sun Sep 12 22:54:58 EDT 1999 Aubrey Jaffer <jaffer@aubrey.jaffer> prototypes if they are small enough to be elements of a uvect, similarly for negative bignums and ivects. - (make_uve): (arrayp): Now use scm_prot2type. + (make_uve, arrayp): Now use scm_prot2type. SINGLES no longer need to be #DEFINEd in order to allow fvects. - * ramap.c: Modifications for fvects if SINGLES not #DEFINEd. + * ramap.c: Modifications for fvects if SINGLES not #DEFINEd. 1999-07-06 Radey Shouman <Radey_Shouman@splashtech.com> @@ -374,7 +1722,7 @@ Sun Sep 12 22:54:58 EDT 1999 Aubrey Jaffer <jaffer@aubrey.jaffer> conform to R5RS, in response to posting of Allegro Petrofsky <Allegro@Petrofsky.Berkeley.CA.US> to comp.lang.scheme -1999-07-04 Aubrey Jaffer <aubrey_jaffer@splashtech.com> +1999-07-04 Aubrey Jaffer <jaffer@ai.mit.edu> * crs.c (lwinsch): Renamed from lwinsert. Why were idlok and nodelay commented out? @@ -448,7 +1796,7 @@ Sun Sep 12 22:54:58 EDT 1999 Aubrey Jaffer <jaffer@aubrey.jaffer> below -MAXEXP, since this such numbers can be represented with gradually underflowing denormals. -1999-04-15 Aubrey Jaffer <aubrey_jaffer@splashtech.com> +1999-04-15 Aubrey Jaffer <jaffer@ai.mit.edu> * Makefile (require.scm): Added constructor. @@ -489,7 +1837,7 @@ Sun Sep 12 22:54:58 EDT 1999 Aubrey Jaffer <jaffer@aubrey.jaffer> * sys.c (scm_grow_gra): Fixed error in mallocated accounting, made increment grow with allocated size. -1999-03-22 Aubrey Jaffer <aubrey_jaffer@splashtech.com> +1999-03-22 Aubrey Jaffer <jaffer@ai.mit.edu> * Init5d0.scm (exec-self): Undo *script* meta-argument processing. @@ -501,7 +1849,7 @@ Sun Sep 12 22:54:58 EDT 1999 Aubrey Jaffer <jaffer@aubrey.jaffer> 1999-03-17 Radey Shouman <Radey_Shouman@splashtech.com> * unif.c (raprin1): New write syntax for uniform vectors and arrays. - (array2list): (list2ura): Fixed for zero-rank arrays. + (array2list, list2ura): Fixed for zero-rank arrays. * Init5d0.scm (read:sharp): New read syntax for uniform vectors and arrays. @@ -542,7 +1890,7 @@ Sun Sep 12 22:54:58 EDT 1999 Aubrey Jaffer <jaffer@aubrey.jaffer> * Makefile (mydlls): build edit-line separately to link in libraries correctly. -1999-02-17 Aubrey Jaffer <aubrey_jaffer@splashtech.com> +1999-02-17 Aubrey Jaffer <jaffer@ai.mit.edu> * build.scm, mkimpcat.scm, x.c, x.h, x11.scm, xgen.scm, xscm.doc, xtest.scm: Xlib interface from xscm-2.01 @@ -588,7 +1936,7 @@ Sun Sep 12 22:54:58 EDT 1999 Aubrey Jaffer <jaffer@aubrey.jaffer> * build.scm (read-version): 5d0 READ as a number; Assemble characters till whitespace. -Sun Jan 17 14:52:11 EST 1999 Aubrey Jaffer <jaffer@aubrey.jaffer> +Sun Jan 17 14:52:11 EST 1999 Aubrey Jaffer <jaffer@ai.mit.edu> * patchlvl.h (SCMVERSION): Bumped from 5c4 to 5d0. @@ -605,7 +1953,7 @@ Sun Jan 17 14:52:11 EST 1999 Aubrey Jaffer <jaffer@aubrey.jaffer> * scm.texi (SCM_VERSION): abstracted to version.txi. -1999-01-12 Aubrey Jaffer <aubrey_jaffer@splashtech.com> +1999-01-12 Aubrey Jaffer <jaffer@ai.mit.edu> * build (make-readme): moved (require 'posix) here. @@ -615,7 +1963,7 @@ Sun Jan 17 14:52:11 EST 1999 Aubrey Jaffer <jaffer@aubrey.jaffer> * build (make-readme): added. Makes README from scm5c4.info. -1999-01-11 Aubrey Jaffer <aubrey_jaffer@splashtech.com> +1999-01-11 Aubrey Jaffer <jaffer@ai.mit.edu> * Makefile (README): added target. @@ -643,7 +1991,7 @@ Sun Jan 17 14:52:11 EST 1999 Aubrey Jaffer <jaffer@aubrey.jaffer> * ioext.c (director-for-each): fail gracefully if can't open directory. -1999-01-08 Aubrey Jaffer <aubrey_jaffer@splashtech.com> +1999-01-08 Aubrey Jaffer <jaffer@ai.mit.edu> * scm.texi (Smob Cells): Explained NUMDIGS_MAX limit. @@ -663,7 +2011,7 @@ Sun Jan 17 14:52:11 EST 1999 Aubrey Jaffer <jaffer@aubrey.jaffer> * repl.c (heap_report): Only call scm_brk_report() if scm_init_brk has been set. -1999-01-04 Aubrey Jaffer <aubrey_jaffer@splashtech.com> +1999-01-04 Aubrey Jaffer <jaffer@ai.mit.edu> * scm.texi (Unix Shell Scripts): merged in "SCSH scripts". Removed description of single non-\ argument on first script line. @@ -725,14 +2073,14 @@ Sun Jan 17 14:52:11 EST 1999 Aubrey Jaffer <jaffer@aubrey.jaffer> 1998-12-14 Radey Shouman <Radey_Shouman@splashtech.com> - * eval.c (m_lambda): (closure): Now checks that argc <= 3 during + * eval.c (m_lambda, closure): Now checks that argc <= 3 during memoization instead of each time a closure is made. (macroexp1): Gives more sensible error messages when a non-identifier non-list is in the function position. 1998-12-10 Radey Shouman <Radey_Shouman@splashtech.com> - * (scm_top_level): (repl): Made repl an acceptable second argument to + * (scm_top_level, repl): Made repl an acceptable second argument to scm_top_level. 1998-12-09 Aubrey Jaffer <jaffer@ai.mit.edu> @@ -796,7 +2144,7 @@ Sun Jan 17 14:52:11 EST 1999 Aubrey Jaffer <jaffer@aubrey.jaffer> done with native C types. Moved from subr.c to scl.c because of FLOAT dependencies. - * eval.c (lookupcar): (ceval_1): Added MEMOIZE_LOCALS cpp macro to + * eval.c (lookupcar, ceval_1): Added MEMOIZE_LOCALS cpp macro to control memoization of local variables to ilocs. 1998-12-05 Aubrey Jaffer <jaffer@ai.mit.edu> @@ -831,9 +2179,9 @@ Sun Jan 17 14:52:11 EST 1999 Aubrey Jaffer <jaffer@aubrey.jaffer> * scl.c (makdbl): Combined some DEFER_INTS and ALLOW_INTS, possible because NEWCELL is now callable with ints deferred. - (product): (divide): Now scale bignums if necessary before + (product, divide): Now scale bignums if necessary before converting them to doubles for calculating inexact results. - (big2scaldbl): (bigdblop): (inex_divbigbig): Auxiliary functions + (big2scaldbl, bigdblop, inex_divbigbig): Auxiliary functions added. (idbl2str): Decrease minimum exponent to allow printing of gradually underflowing IEEE doubles. @@ -849,7 +2197,7 @@ Sun Jan 17 14:52:11 EST 1999 Aubrey Jaffer <jaffer@aubrey.jaffer> * scm.h (NUMDIGS): Added cast so that NALLOC error reports would print correctly. -1998-12-02 Aubrey Jaffer <aubrey_jaffer@splashtech.com> +1998-12-02 Aubrey Jaffer <jaffer@ai.mit.edu> * setjump.h: windframe removed -- dowinds could only be processed while (possibly oversize) stack was intact. @@ -901,7 +2249,7 @@ Sun Jan 17 14:52:11 EST 1999 Aubrey Jaffer <jaffer@aubrey.jaffer> setjump *must* be called with this argument before using a safeport. - * repl.c (scm_stack_trace): (def_err_response): Use new + * repl.c (scm_stack_trace, def_err_response): Use new safeport features. * Macro.scm (substitute-in-template): Added check that all pattern @@ -936,13 +2284,13 @@ Sun Jan 17 14:52:11 EST 1999 Aubrey Jaffer <jaffer@aubrey.jaffer> 1998-11-26 Radey Shouman <rshouman@metro2000.com> - * eval.c (ceval): (env2tree): (ident_eqp): Removed redundant + * eval.c (ceval, env2tree, ident_eqp): Removed redundant DEFER_INTS_EGC before ENV_PUSH. (ceval_1): Removed label retunspec, replaced by jumps to retx. Seems to run a tad faster, be a little easier to look at. (copy_list): Now takes second argument giving minimum length of list, allowing the removal of several calls to ilength. - (m_case): (m_cond): (ceval_1): ilength checks replaced. + (m_case, m_cond, ceval_1): ilength checks replaced. 1998-11-25 Radey Shouman <Radey_Shouman@splashtech.com> @@ -959,7 +2307,7 @@ Sun Jan 17 14:52:11 EST 1999 Aubrey Jaffer <jaffer@aubrey.jaffer> * sys.c (init_types): Initialize sys_safep to tmp_errp. (reset_safeport): Now does exactly nothing if handed a non-safe-port. - (init_types): (init_storage): Moved initialization of tmp_errp and + (init_types, init_storage): Moved initialization of tmp_errp and sys_protects earlier, in case allocating ptobs or smobs causes errors to be thrown. @@ -974,7 +2322,7 @@ Sun Jan 17 14:52:11 EST 1999 Aubrey Jaffer <jaffer@aubrey.jaffer> allocate pairs for a safe-port. * repl.c (scm_stack_trace): Now uses sys_safep and reset_safeport. - (def_err_response): (handle_it): (repl_driver): (everr): + (def_err_response, handle_it, repl_driver, everr): Now checks and dies horribly but predictably if def_err_response is recursively entered. @@ -986,14 +2334,14 @@ Sun Jan 17 14:52:11 EST 1999 Aubrey Jaffer <jaffer@aubrey.jaffer> message (I don't remember when that disappeared) and prints at most 12 traced frames. - * sys.c (makesafeport): (safewrite): (safeputs): (safeputc): + * sys.c (makesafeport, safewrite, safeputs, safeputc): (safeflush): Added support for `safe' ports for error messages, which will accept and re-output only a fixed number of characters. Subsequent characters are simply discarded. 1998-11-19 Radey Shouman <rshouman@metro2000.com> - * record.c (rec_error): (rec_accessor1): (rec_modifier1): + * record.c (rec_error, rec_accessor1, rec_modifier1): (rec_constr1): Better error reporting, including the name of the expected record type and the relevant field. @@ -1012,7 +2360,7 @@ Sun Jan 17 14:52:11 EST 1999 Aubrey Jaffer <jaffer@aubrey.jaffer> (renaming-transformer): Added to support `explicit renaming' low-level macros. - * eval.c (varcheck): (m_lambda): Some checks moved from m_lambda + * eval.c (varcheck, m_lambda): Some checks moved from m_lambda to varcheck, argument added to varcheck to give different message (about "formals") in case of lambda. (ENVP): Added predicate macro local to eval.c. @@ -1022,8 +2370,8 @@ Sun Jan 17 14:52:11 EST 1999 Aubrey Jaffer <jaffer@aubrey.jaffer> * eval.c (varcheck): Renamed from uniqcheck, now checks that elements are identifiers so m_do, m_lambda, m_letrec1 don't have to. - * Init5c4.scm (alarm-interrupt) (profile-alarm-interrupt) - (virtual-alarm-interrupt) Now initially defined to turn off their + * Init5c4.scm (alarm-interrupt, profile-alarm-interrupt): + (virtual-alarm-interrupt): Now initially defined to turn off their respective alarms, so that restarting does not cause an error when an alarm is pending. @@ -1045,14 +2393,14 @@ Sun Jan 17 14:52:11 EST 1999 Aubrey Jaffer <jaffer@aubrey.jaffer> unmemocar. (uniqcheck): Added, checks for non-unique identifiers in a binding list. - (m_lambda): (m_letrec1): (m_do): Now check for duplicate bound + (m_lambda, m_letrec1, m_do): Now check for duplicate bound names. 1998-11-13 Radey Shouman <Radey_Shouman@splashtech.com> * unif.c (shap2ra): better error checking of dimension specs -1998-11-12 Aubrey Jaffer <aubrey_jaffer@splashtech.com> +1998-11-12 Aubrey Jaffer <jaffer@ai.mit.edu> * scmfig.h (SCM_NEED_FDS SCM_INTERRUPTED): added argument to make clear that this is not a constant. @@ -1073,7 +2421,7 @@ Sun Jan 17 14:52:11 EST 1999 Aubrey Jaffer <jaffer@aubrey.jaffer> If an open fails because there are no unused file handles, GC for for file handles. -1998-11-11 Aubrey Jaffer <aubrey_jaffer@splashtech.com> +1998-11-11 Aubrey Jaffer <jaffer@ai.mit.edu> * Init5c4.scm (vicinity:suffix?): Abstracted from pathname->vicinity and "Link.scm". @@ -1087,13 +2435,13 @@ Sun Jan 17 14:52:11 EST 1999 Aubrey Jaffer <jaffer@aubrey.jaffer> 1998-11-05 Aubrey Jaffer <jaffer@ai.mit.edu> - * ioext.c (init_ioext): (provide 'directory-for-each) changed to + * ioext.c (init_ioext, provide 'directory-for-each) changed to add_feature("directory-for-each"); so ioext.o can be statically linked. 1998-11-04 Radey Shouman <Radey_Shouman@splashtech.com> - * scm.h (ESTK_PARENT): (ESTK_PARENT_WRITABLEP): + * scm.h (ESTK_PARENT, ESTK_PARENT_WRITABLEP): (ESTK_PARENT_INDEX): SCM_ prepended, definition moved to scm.h, now used in repl.c. @@ -1111,7 +2459,7 @@ Tue Nov 3 17:41:40 EST 1998 Aubrey Jaffer <jaffer@scm.colorage.net> * patchlvl.h (SCMVERSION): Bumped from 5c3 to 5c4. -1998-11-03 Aubrey Jaffer <aubrey_jaffer@splashtech.com> +1998-11-03 Aubrey Jaffer <jaffer@ai.mit.edu> * ioext.c (directory-for-each): Added. @@ -1121,7 +2469,7 @@ Tue Nov 3 17:41:40 EST 1998 Aubrey Jaffer <jaffer@scm.colorage.net> * sys.c (makcclo): Fixed argument to ASSERT. -1998-11-02 Aubrey Jaffer <aubrey_jaffer@splashtech.com> +1998-11-02 Aubrey Jaffer <jaffer@ai.mit.edu> * record.c rgx.c scm.texi socket.c subr.c sys.c unif.c: Callers to must_malloc and friends now check that length will fit in field. @@ -1144,18 +2492,18 @@ Tue Nov 3 17:41:40 EST 1998 Aubrey Jaffer <jaffer@scm.colorage.net> 1998-10-29 Radey Shouman <Radey_Shouman@splashtech.com> - * eval.c (m_and): (m_or): Special case for one argument. + * eval.c (m_and, m_or): Special case for one argument. 1998-10-28 Radey Shouman <Radey_Shouman@splashtech.com> * setjump.h - * sys.c (scm_make_cont): (scm_dynthrow): (egc_copy_roots): + * sys.c (scm_make_cont, scm_dynthrow, egc_copy_roots): No longer copy scm_estk if CHEAP_CONTINUATIONS is #defined. * eval.c (ceval_1): Fix up environment stack accounting for CHEAP_CONTINUATIONS. -1998-10-27 Aubrey Jaffer <aubrey_jaffer@splashtech.com> +1998-10-27 Aubrey Jaffer <jaffer@ai.mit.edu> * scm.c (scm_init_extensions): Added call to init_user_scm for RTL case. @@ -1168,13 +2516,13 @@ Tue Nov 3 17:41:40 EST 1998 Aubrey Jaffer <jaffer@scm.colorage.net> * Init5c3.scm (with-XXX-to-port): Oops. fixed earlier change. -1998-10-19 Aubrey Jaffer <aubrey_jaffer@splashtech.com> +1998-10-19 Aubrey Jaffer <jaffer@ai.mit.edu> * scm.texi (Build Options): Build platform table in Makefile and @include. 1998-10-19 Radey Shouman <Radey_Shouman@splashtech.com> - * dynl.c (l_dyn_call): (l_dyn_main_call): Now use new P_SHL macro, + * dynl.c (l_dyn_call, l_dyn_main_call): Now use new P_SHL macro, prevents compiler warning under hpux. * sys.c (scm_free_gra): Now sets elts pointer to zero. @@ -1182,7 +2530,7 @@ Tue Nov 3 17:41:40 EST 1998 Aubrey Jaffer <jaffer@scm.colorage.net> (egc_sweep): Give dead cells immediate values, prevents obscure gc bug seen in hpux. - * sys.c (scm_estk_grow): (scm_estk_shrink): Deleted incorrect + * sys.c (scm_estk_grow, scm_estk_shrink): Deleted incorrect DEFER/ALLOW_INTS. (init_storage): SHORT_INT fixconfig message now suggests changing @@ -1217,11 +2565,11 @@ Tue Nov 3 17:41:40 EST 1998 Aubrey Jaffer <jaffer@scm.colorage.net> * sys.c (scm_estk_reset): Now takes an argument giving the size of the environment stack to create, 0 gives a default size. - (scm_estk_grow): (scm_estk_shrink): Rewritten to use segmented + (scm_estk_grow, scm_estk_shrink): Rewritten to use segmented stack, so all of the stack need not be copied when the stack grows or when a continuation is captured. - (scm_env_cons): (scm_env_cons2): (scm_env_cons_tmp): + (scm_env_cons, scm_env_cons2, scm_env_cons_tmp): (scm_extend_env): Rewritten using local temporary for indexing into ecache. @@ -1230,7 +2578,7 @@ Tue Nov 3 17:41:40 EST 1998 Aubrey Jaffer <jaffer@scm.colorage.net> * scm.c: SIGPROF #undefined if LACK_SETITIMER is #defined, needed to build profiling version of SCM. -1998-10-06 Aubrey Jaffer <aubrey_jaffer@splashtech.com> +1998-10-06 Aubrey Jaffer <jaffer@ai.mit.edu> * build.scm (read-version): Will use implementation-vicinity if scm-srcdir does not contain "patchlvl.h". @@ -1239,7 +2587,7 @@ Tue Nov 3 17:41:40 EST 1998 Aubrey Jaffer <jaffer@scm.colorage.net> * scm.c (run_scm): Fixed finals call loop -1998-10-02 Aubrey Jaffer <aubrey_jaffer@splashtech.com> +1998-10-02 Aubrey Jaffer <jaffer@ai.mit.edu> * unif.c, sys.c, subr.c, socket.c, scm.h, scl.c, rgx.c, posix.c: Fixed argument types in calls to must_malloc_cell(). @@ -1269,9 +2617,9 @@ Tue Nov 3 17:41:40 EST 1998 Aubrey Jaffer <jaffer@scm.colorage.net> * sys.c (must_malloc_cell): Takes an argument specifying the CAR of the cell to be returned. - * scm.h (MAKE_LENGTH): (MAKE_NUMDIGS): Preprocessor macros added. + * scm.h (MAKE_LENGTH, MAKE_NUMDIGS): Preprocessor macros added. -1998-09-29 Aubrey Jaffer <aubrey_jaffer@splashtech.com> +1998-09-29 Aubrey Jaffer <jaffer@ai.mit.edu> * build (build-from-argv): slib:warns if not successful. (bi): Exits with error indication when build not successful. @@ -1282,13 +2630,13 @@ Tue Nov 3 17:41:40 EST 1998 Aubrey Jaffer <jaffer@scm.colorage.net> 1998-09-22 Radey Shouman <Radey_Shouman@splashtech.com> - * sys.c (scm_init_gra): (scm_grow_gra): (scm_free_gra): GRowable + * sys.c (scm_init_gra, scm_grow_gra, scm_free_gra): GRowable Array type. - (newsmob): (newptob): (add_final): Implemented using scm_gra type. + (newsmob, newptob, add_final): Implemented using scm_gra type. 1998-09-18 Radey Shouman <Radey_Shouman@splashtech.com> - * Init5c3.scm (profile-timer): (milli-alarm): Defined in terms of + * Init5c3.scm (profile-timer, milli-alarm): Defined in terms of SETITIMER. * sys.c (sysintern): No longer changes the CDR of an existing @@ -1305,7 +2653,7 @@ Tue Nov 3 17:41:40 EST 1998 Aubrey Jaffer <jaffer@scm.colorage.net> 1998-09-17 Aubrey Jaffer <jaffer@ai.mit.edu> - * Init5c3.scm (with-input-from-port): (with-output-to-port): + * Init5c3.scm (with-input-from-port, with-output-to-port): (with-error-to-port): Replicated procedure rather than using SWAPPORTS twice. This in combo with repl.c change fixes Radey's strange multi-process bug! @@ -1329,11 +2677,11 @@ Tue Nov 3 17:41:40 EST 1998 Aubrey Jaffer <jaffer@scm.colorage.net> * unif.c (resizuve): Fixed accounting of mallocated storage for strings and bitvectors. - * sys.c (igc_for_alloc): (must_malloc): (must_realloc): + * sys.c (igc_for_alloc, must_malloc, must_realloc): (must_malloc_cell): (must_realloc_cell): Fixed accounting of mallocated storage. - (igc): Added malloc consistency check for patched gmalloc, conditional + (igc): Added malloc consistency check for patched gmalloc, conditional on #define DEBUG_GMALLOC. (gc_sweep): Fixed accounting of bignum storage for DIGSTOOBIG case. @@ -1352,7 +2700,7 @@ Fri Sep 11 17:25:14 EDT 1998 Aubrey Jaffer <jaffer@scm.colorage.net> * gmalloc.c: Imported gmalloc.c from emacs 20.2.1. - (check_block): (check_frag_blocks): Debugging functions added. + (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 @@ -1360,7 +2708,7 @@ Fri Sep 11 17:25:14 EDT 1998 Aubrey Jaffer <jaffer@scm.colorage.net> * scl.c (big2str): Added call to scm_protect_temp. - * eval.c (map): (for_each): Added calls to scm_protect_temp. + * eval.c (map, for_each): Added calls to scm_protect_temp. * rgx.c (lregcomp): Added call to scm_protect_temp. @@ -1388,19 +2736,19 @@ Fri Sep 11 17:25:14 EDT 1998 Aubrey Jaffer <jaffer@scm.colorage.net> * 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. + (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): + (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, + * 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, + (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. @@ -1409,7 +2757,7 @@ Fri Sep 11 17:25:14 EDT 1998 Aubrey Jaffer <jaffer@scm.colorage.net> * 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 + (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, @@ -1440,11 +2788,11 @@ Fri Sep 11 17:25:14 EDT 1998 Aubrey Jaffer <jaffer@scm.colorage.net> 1998-08-24 Radey Shouman <radey@colorage.com> - * scm.c (scmable_signal): (err_signal): (init_signals): + * scm.c (scmable_signal, err_signal, init_signals): (ignore_signals): - (unignore_signals): (restore_signals): Abstracted signal handling. + (unignore_signals, restore_signals): Abstracted signal handling. - (fpe_signal): (bus_signal): (segv_signal): (alrm_signal): + (fpe_signal, bus_signal, segv_signal, alrm_signal): (prof_signal): Removed. * repl.c (process_signals): Moved to scm.c @@ -1453,7 +2801,7 @@ Fri Sep 11 17:25:14 EDT 1998 Aubrey Jaffer <jaffer@scm.colorage.net> 1998-08-20 Radey Shouman <radey@colorage.com> - * scm.c (prof_signal): (scm_proftimer): (ignore_signals): + * scm.c (prof_signal, scm_proftimer, ignore_signals): (unignore_signals): Added handler for SIGPROF, raised via call to setitimer (Scheme function PROFILE-TIMER). @@ -1483,7 +2831,7 @@ Fri Sep 11 17:25:14 EDT 1998 Aubrey Jaffer <jaffer@scm.colorage.net> 1998-08-17 Radey Shouman <radey@colorage.com> - * sys.c (scm_egc): (scm_egc_copy_roots): Eliminated extra root + * sys.c (scm_egc, scm_egc_copy_roots): Eliminated extra root argument, made safe because EGC_ROOT is always called with ints deferred. @@ -1492,15 +2840,15 @@ Fri Sep 11 17:25:14 EDT 1998 Aubrey Jaffer <jaffer@scm.colorage.net> (gc_sweep): Now uses HUGE_LENGTH instead of LENGTH for string termination check. - (must_malloc_cell): (must_realloc_cell): Added. + (must_malloc_cell, must_realloc_cell): Added. - (gc_for_alloc): Static function abstracts gc calls for malloc/realloc. + (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. + (resizuve): Now uses must_realloc_cell. - * subr.c (make_vector): (mkbig): (adjbig): Now use + * subr.c (make_vector, mkbig, adjbig): Now use must_malloc_cell, must_realloc_cell. * socket.c (maksknm): Now uses must_malloc_cell. @@ -1514,11 +2862,11 @@ Fri Sep 11 17:25:14 EDT 1998 Aubrey Jaffer <jaffer@scm.colorage.net> * repl.c (handle_it): Keep pointers to discarded new cells. - * record.c (rec_constr1): (init_record): Now use must_malloc_cell. + * 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 + * dynl.c (l_dyn_link, l_dyn_call): Moved NEWCELL out of deferred ints sections. For dlopen versions, print more error messages. 1998-08-17 Aubrey Jaffer <jaffer@colorage.com> @@ -1548,7 +2896,7 @@ Fri Sep 11 17:25:14 EDT 1998 Aubrey Jaffer <jaffer@scm.colorage.net> * 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 + * eval.c (ENV_PUSH, ENV_POP): Now done with DEFER_INTS_EGC to prevent problems with interrupt handlers that run Scheme code. 1998-07-27 Radey Shouman <radey@colorage.com> @@ -1556,7 +2904,7 @@ Fri Sep 11 17:25:14 EDT 1998 Aubrey Jaffer <jaffer@scm.colorage.net> * sys.c (scm_estk_grow): Protected critical section with DEFER/ALLOW_INTS - (must_malloc): (must_realloc): Protected igc call with + (must_malloc, must_realloc): Protected igc call with DEFER/ALLOW_INTS. (scm_egc): Added DEFER/ALLOW_INTS around call to igc -- prevents @@ -1565,7 +2913,7 @@ Fri Sep 11 17:25:14 EDT 1998 Aubrey Jaffer <jaffer@scm.colorage.net> (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 + (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. @@ -1589,10 +2937,10 @@ Wed Jul 22 16:36:48 EDT 1998 Aubrey Jaffer <jaffer@scm.colorage.net> several meaningful values for ints_disabled. (handle_it): More careful about interrupts when saving estk. * - *scmfig.h (DEFER_INTS): (ALLOW_INTS): (DEFER_INTS_EGC): + *scmfig.h (DEFER_INTS, ALLOW_INTS, DEFER_INTS_EGC): (ALLOW_INTS_EGC): ints_viol calls changed. - * ramap.c (array_for_each): (array_map): Always act as if CCLO is + * ramap.c (array_for_each, array_map): Always act as if CCLO is defined, this does no harm, and allows CCLO optimizations for the dynamicly loaded case. @@ -1602,7 +2950,7 @@ Wed Jul 22 16:36:48 EDT 1998 Aubrey Jaffer <jaffer@scm.colorage.net> IDENTIFIER->SYMBOL. (closure): Removed env argument, now uses scm_env and is more careful about interrupts. - (env2tree): Now uses DEFER_INTS_EGC. + (env2tree): Now uses DEFER_INTS_EGC. 1998-07-22 Aubrey Jaffer <jaffer@colorage.com> @@ -1649,23 +2997,23 @@ Wed Jul 22 16:36:48 EDT 1998 Aubrey Jaffer <jaffer@scm.colorage.net> 1998-07-14 Radey Shouman <radey@colorage.com> - * eval.c (ENV_PUSH): (ENV_POP): Modified for interrupt safety. + * eval.c (ENV_PUSH, ENV_POP): Modified for interrupt safety. - (ceval_1): (apply): (procedurep): (macroexp1): (make_specfun): + (ceval_1, apply, procedurep, macroexp1, make_specfun): cclo is now a subtype of tc7_specfun, which also includes tc16_apply and tc16_call_cc, smobs are now never procedures. (apply): Added call/cc support, error checking for subr_2o and subr_3 types. - * sys.c (gc_mark): (gc_sweep): Modified for new specfun, cclo + * sys.c (gc_mark, gc_sweep): Modified for new specfun, cclo representation. (gc): Now does ecache gc if given optional argument. * repl.c (iprin1): Modified for new specfun, cclo representation. - (handle_it): Now saves and restores estk for interrupt safety. + (handle_it): Now saves and restores estk for interrupt safety. * ramap.c (array_map): Changed for new cclo representation. @@ -1691,10 +3039,10 @@ Wed Jul 22 16:36:48 EDT 1998 Aubrey Jaffer <jaffer@scm.colorage.net> (m_body): Added, error checks bodies and inserts the ISYM tokens. - (m_lambda): (m_letstar): (m_letrec1): (m_letrec): (m_let): Now + (m_lambda, m_letstar, m_letrec1, m_letrec, m_let): Now call m_body. - (m_cond): (m_case): (m_quote): Modified to avoid destructively changing + (m_cond, m_case, m_quote): Modified to avoid destructively changing their argument forms. Since m_expand_body speculatively macro expands forms the process must be reversible. @@ -1707,7 +3055,7 @@ Wed Jul 22 16:36:48 EDT 1998 Aubrey Jaffer <jaffer@scm.colorage.net> 1998-07-07 Radey Shouman <radey@colorage.com> * eval.c (SPECFUN): Removed -- now the only case. - (ceval_1): (m_cont): IM_CONT case removed. + (ceval_1, m_cont): IM_CONT case removed. (scm_evalatomcar): Added check for tc16_specfun. Made unquoted vector message conditional on RECKLESS. @@ -1725,7 +3073,7 @@ Wed Jul 22 16:36:48 EDT 1998 Aubrey Jaffer <jaffer@scm.colorage.net> * eval.c (ceval_1): Fixed argument number check for closures and made conditional on CAUTIOUS. - (ceval_1): (evalatomcar): (lookupcar): Moved check for + (ceval_1, evalatomcar, lookupcar): Moved check for using macro as variable from ceval_1 and evalatomcar to lookupcar. 1998-07-02 Radey Shouman <radey@colorage.com> @@ -1738,7 +3086,7 @@ Wed Jul 22 16:36:48 EDT 1998 Aubrey Jaffer <jaffer@scm.colorage.net> ecache allocated lists now no longer passed to apply of asubrs and rpsubrs -- this is not interrupt safe. - (macroexp1): Added argument number checks for subrs, this gives error + (macroexp1): Added argument number checks for subrs, this gives error messages with unmemoized code. * eval.c (ceval_1): Fixed error reporting -- "wrong number of @@ -1749,7 +3097,7 @@ Wed Jul 22 16:36:48 EDT 1998 Aubrey Jaffer <jaffer@scm.colorage.net> 1998-07-01 Radey Shouman <radey@colorage.com> - * eval.c (ceval): (ceval_1): (ilookup): (lookupcar): (farlookup): + * eval.c (ceval, ceval_1, ilookup, lookupcar, farlookup): New model of interrupt control for protecting ecache references using DEFER_INTS_EGC, ALLOW_INTS_EGC. These need not be strictly nested, ints are always allowed by ceval_1 before tail-calling a @@ -1760,9 +3108,9 @@ Wed Jul 22 16:36:48 EDT 1998 Aubrey Jaffer <jaffer@scm.colorage.net> (scm_macroexp1): Now checks arity for closures, checking had been broken for non-CAUTIOUS SCM. - * scmfig.h (DEFER_INTS_EGC): (ALLOW_INTS_EGC): Defined. + * scmfig.h (DEFER_INTS_EGC, ALLOW_INTS_EGC): Defined. - * sys.c (scm_env_cons): (scm_env_cons): (scm_env_cons2): + * sys.c (scm_env_cons, scm_env_cons, scm_env_cons2): (scm_extend_env): DEFER_INTS replaced with DEFER_INTS_EGC. * repl.c (repl_report): At verbose level 3 now reports number of @@ -1785,15 +3133,15 @@ Wed Jul 22 16:36:48 EDT 1998 Aubrey Jaffer <jaffer@scm.colorage.net> 1998-06-19 Radey Shouman <radey@colorage.com> - * eval.c (ilookup): (farlookup): (unmemocar): (ceval_1): + * eval.c (ilookup, farlookup, unmemocar, ceval_1): (id_denote): Wrapped all pointer-chasing of possible ecache cells in DEFER/ALLOW_INTS for safety when interrupt handlers may evaluate Scheme code asynchronously. - (scm_macroexp1): (m_define): (m_atlet_syntax): Environments now + (scm_macroexp1, m_define, m_atlet_syntax): Environments now always wrapped when passed to macro expanders. - (ecache_p): (debug_env_car): (debug_env_cdr): Added for CAREFUL_INTS + (ecache_p, debug_env_car, debug_env_cdr): Added for CAREFUL_INTS checking. (test_ints): Added when CAREFUL_INTS is defined for checking interrupt @@ -1803,15 +3151,15 @@ Wed Jul 22 16:36:48 EDT 1998 Aubrey Jaffer <jaffer@scm.colorage.net> 1998-06-15 Radey Shouman <radey@colorage.com> - * scm.h (SCM_ENV_SAVE): (SCM_ENV_RESTORE): Added, to prevent + * scm.h (SCM_ENV_SAVE, SCM_ENV_RESTORE): Added, to prevent oversights in sys.c. - * sys.c (scm_env_cons): (scm_env_cons2): Made interrupt safe; + * sys.c (scm_env_cons, scm_env_cons2): Made interrupt safe; return results in global scm_env_tmp, use DEFER/ALLOW_INTS. - (scm_extend_env): (scm_env_cons_tmp): Added. + (scm_extend_env, scm_env_cons_tmp): Added. (scm_env_acons): Deleted, superseded by scm_extend_env. - *eval.c (ceval_1): (apply): Replaced and rewrote scm_env_ routines + *eval.c (ceval_1, apply): Replaced and rewrote scm_env_ routines to use new interrupt safe versions. ENV_TMP replaced by scm_env_tmp, it was hard to remember that ENV_TMP might move. CLEAR_ENV_TMP removed since scm_env_tmp will be overwritten almost @@ -1959,7 +3307,7 @@ Fri Jun 5 16:01:02 EDT 1998 Aubrey Jaffer <jaffer@scm.colorage.net> * sys.c: cosmetic changes. -Wed May 20 17:53:52 EDT 1998 Aubrey Jaffer <jaffer@aubrey.jaffer> +Wed May 20 17:53:52 EDT 1998 Aubrey Jaffer <jaffer@ai.mit.edu> * patchlvl.h (SCMVERSION): Bumped from 5b5 to 5c0. @@ -1983,13 +3331,13 @@ Wed May 20 17:53:52 EDT 1998 Aubrey Jaffer <jaffer@aubrey.jaffer> 1998-05-14 Radey Shouman <radey@colorage.com> - * Init.scm (bit-extract): (logical:bit-field): - (logical:bitwise-if): (logical:copy-bit): + * Init.scm (bit-extract, logical:bit-field): + (logical:bitwise-if, logical:copy-bit): (logical:copy-bit-field): definitions added for SLIB compatibility. * subr.c (scm_bitfield): renamed BIT-EXTRACT to BIT-FIELD, added range check on END. - (scm_bitif): (scm_copybitfield): (scm_copybit): added. + (scm_bitif, scm_copybitfield, scm_copybit): added. 1998-05-12 Aubrey Jaffer <jaffer@colorage.com> @@ -2036,7 +3384,7 @@ Fri May 8 17:40:44 EDT 1998 Aubrey Jaffer <jaffer@scm.colorage.net> 1998-04-16 <radey@colorage.com> - * unif.c (scm_logaref): (scm_logaset): Added. + * unif.c (scm_logaref, scm_logaset): Added. Thu Apr 9 11:31:20 EDT 1998 Aubrey Jaffer <jaffer@scm.colorage.net> @@ -2102,16 +3450,16 @@ Thu Apr 9 11:31:20 EDT 1998 Aubrey Jaffer <jaffer@scm.colorage.net> 1998-03-26 Radey Shouman <radey@colorage.com> - * eval.c (ilookup): (lookupcar): (farlookup): (ceval): (evalatomcar): - (ceval_1): (iqq): (wrapenv): Substantial changes to use + * eval.c (ilookup, lookupcar, farlookup, ceval, evalatomcar): + (ceval_1, iqq, wrapenv): Substantial changes to use copy-collected stack cache intended to reduce time in gc. - * sys.c (egc_mark): (egc_sweep): (egc_copy): (egc_copy_stack): - (egc_copy_roots): (scm_egc): The cache garbage collector. - (scm_env_cons): (scm_env_cons2): (scm_env_acons): Functions to + * sys.c (egc_mark, egc_sweep, egc_copy, egc_copy_stack): + (egc_copy_roots, scm_egc): The cache garbage collector. + (scm_env_cons, scm_env_cons2, scm_env_acons): Functions to allocate storage in the environment cache. - * repl.c (scm_egc_start): (scm_egc_end): (scm_ecache_report): + * repl.c (scm_egc_start, scm_egc_end, scm_ecache_report): (scm_stack_trace): Added to support environment cache. stack-trace now does not print all of stacktraces deeper than 10 levels. @@ -2312,7 +3660,7 @@ Sun Sep 28 14:48:10 1997 Radey Shouman <shouman@zianet.com> * ramap.c (array_imap): Fixed for zero-rank arrays arguments. -Fri Sep 19 23:23:46 EDT 1997 Aubrey Jaffer <jaffer@aubrey.jaffer> +Fri Sep 19 23:23:46 EDT 1997 Aubrey Jaffer <jaffer@ai.mit.edu> * patchlvl.h (SCMVERSION): Bumped from 5b1 to 5b2. @@ -2550,16 +3898,16 @@ Sat Feb 1 21:41:15 EST 1997 Aubrey Jaffer <jaffer@scm.bertronics.com> Sat Jan 25 19:48:19 1997 Radey Shouman <shouman@zianet.com> - * scm.h (IM_DELAY) (IM_QUASIQUOTE) (IM_UNQUOTE) (IM_UQ_SPLICING) - (IM_ELSE) (IM_ARROW): Added to support hygienic macros. + * scm.h (IM_DELAY, IM_QUASIQUOTE, IM_UNQUOTE, IM_UQ_SPLICING): + (IM_ELSE, IM_ARROW): Added to support hygienic macros. * repl.c: isymnames modified. * eval.c (lookupcar): Added support for hygienic macros - (evalatomcar): Added. - (ident2sym) (id_denote) (unpaint) (prinid) (ident_eqp) - (rename_ident) (syn_quote) (m_atlet_syntax) (m_the_macro): added. - (m_quote) (m_cond) (m_case) (m_quasiquote): Modified to be + (evalatomcar): Added. + (ident2sym, id_denote, unpaint, prinid, ident_eqp) + (rename_ident, syn_quote, m_atlet_syntax, m_the_macro): added. + (m_quote, m_cond, m_case, m_quasiquote): Modified to be referentially transparent. (m_iqq): added. (m_delay): now memoizes to prevent speed hit from slower lookupcar. @@ -2592,7 +3940,7 @@ Mon Dec 2 20:40:40 1996 Radey Shouman <shouman@zianet.com> (ceval): Modified to do the right thing with farlocs. * scm.h (MAKILOC): Added, now used in lookupcar. - (IM_FARLOC_CDR) (IM_FARLOC_CAR): ISYMS added. + (IM_FARLOC_CDR, IM_FARLOC_CAR): ISYMS added. Sun Dec 1 00:41:07 1996 Aubrey Jaffer <jaffer@martigny.ai.mit.edu> @@ -2922,9 +4270,9 @@ Sun Mar 24 00:18:10 1996 Aubrey Jaffer <jaffer@jacal.bertronics> Sun Mar 10 17:23:39 1996 Radey Shouman <shouman@ccwf.cc.utexas.edu> * ramap.c (sc2array): Added, converts a scalar to a shared array. - (ramapc): Uses sc2array to convert scalar arguments to arrays + (ramapc): Uses sc2array to convert scalar arguments to arrays for ARRAY-MAP! &c. - (ura_read, ura_write, ura_fill): Added. + (ura_read, ura_write, ura_fill): Added. (array_map): Added check for number of arguments when procedure arg is a subr. Added cclo case. @@ -2942,10 +4290,10 @@ Sun Mar 10 17:23:39 1996 Radey Shouman <shouman@ccwf.cc.utexas.edu> dynamic linking of ramap.c. (rafill): moved from ramap.c, to allow filling of arrays on creation without needing ramap.c. - (uve_fill): Added, for filling uves / 1-d arrays without needing + (uve_fill): Added, for filling uves / 1-d arrays without needing ramap.c. - (uve_read, uve_write): (Re)added - (ura_read, ura_write): Moved to ramap.c, now call uve_[read write]. + (uve_read, uve_write): (Re)added + (ura_read, ura_write): Moved to ramap.c, now call uve_[read write]. (ra2l): uses cvref instead of aref, maybe faster and works for enclosed arrays. (init_unif): Added feature 'string-case, to prevent require @@ -3215,7 +4563,7 @@ Sat Mar 25 20:37:48 1995 Aubrey Jaffer (jaffer@jacal) regex library is conditionalized with _GNU_SOURCE. From: Radey Shouman <shouman@ccwf.cc.utexas.edu> - * Iedline.scm ((make-edited-line-port)): + * Iedline.scm (make-edited-line-port): * edline.c (lreadline): Added Gnu `readline' input editing (get ftp.sys.toronto.edu:/pub/rc/editline.shar). @@ -3307,7 +4655,7 @@ Sat Feb 11 17:30:14 1995 Aubrey Jaffer (jaffer@jacal) (lexecp i_exec l_putenv): added. * posix.c (open_pipe l_open_input_pipe l_open_output_pipe - prinpipe): moved from ioext.c. + prinpipe): moved from ioext.c. (l_fork): added. Fri Feb 10 10:50:03 1995 Aubrey Jaffer (jaffer@jacal) @@ -4634,7 +5982,7 @@ Sun Oct 4 01:45:25 1992 Aubrey Jaffer (jaffer at camelot) optimizations for AND and OR. From: hugh@ear.MIT.EDU (Hugh Secker-Walker) - * eval.c repl.c scm.h (syntax_mem): syntax forms are now memoized + * eval.c repl.c scm.h (syntax_mem): syntax forms are now memoized so that syntax checks are done only once. Interpreter is now smaller and faster and uses less stack space. Modifications to code are now made under DEFER_INTS as they always should have @@ -4796,7 +6144,7 @@ Wed May 13 14:01:07 1992 Aubrey Jaffer (jaffer at Ivan) Tue May 12 15:36:17 1992 Aubrey Jaffer (jaffer at train) - * config.h sys.c (alloc_some_heap expmem): expmem captures + * config.h sys.c (alloc_some_heap expmem): expmem captures whether the INIT_HEAP_SIZE allocation was successful. If so, alloc_some_heap uses exponential heap allocation instead of HEAP_SEG_SIZE. @@ -5014,7 +6362,7 @@ Mon Feb 10 14:31:24 1992 Aubrey Jaffer (jaffer at Ivan) * sys.c (alloc_some_heap): fixed bugs. One fix from bowles@is.s.u-tokyo.ac.jp. - * eval.c (ceval): fixed bug with internal (define foo bar) where + * eval.c (ceval): fixed bug with internal (define foo bar) where bar is a global. Put badfun2: back in for better error reporting. * patchlvl.h (PATCHLEVEL): 11 @@ -5035,7 +6383,7 @@ Fri Jan 17 16:36:07 1992 Aubrey Jaffer (jaffer at Ivan) sizet. init_storage no longer uses it. gc() now uses it instead of pointer to local. This fixes bug with gcc -O. - * sys.c (cons cons2 cons2r): &w;&x;&y; removed because of above + * sys.c (cons cons2 cons2r): &w;&x;&y; removed because of above fix. Thu Jan 16 22:33:00 1992 Aubrey Jaffer (jaffer at Ivan) @@ -5085,7 +6433,7 @@ Thu Dec 19 19:16:50 1991 Aubrey Jaffer (jaffer at train) * makefile.unix (subr.o): explicit compilation line added. - * scl.c (truncate -> ltrunc): Name conflict with DJGCC libraries. + * scl.c (truncate -> ltrunc): Name conflict with DJGCC libraries. Sun Dec 8 23:31:04 1991 Aubrey Jaffer (jaffer at Ivan) |