From 3278b75942bdbe706f7a0fba87729bb1e935b68b Mon Sep 17 00:00:00 2001 From: Bryan Newbold Date: Mon, 20 Feb 2017 00:05:25 -0800 Subject: Import Upstream version 5d2 --- ChangeLog | 1360 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 1353 insertions(+), 7 deletions(-) (limited to 'ChangeLog') diff --git a/ChangeLog b/ChangeLog index e9e3e19..56ca861 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,1349 @@ +Sun Dec 5 22:04:18 EST 1999 Aubrey Jaffer + + * patchlvl.h (SCMVERSION): Bumped from 5d1 to 5d2. + +1999-12-02 Aubrey Jaffer + + * Makefile (install): Make sure $(libscmdir)require.scm exists. + (libscmdir): Use instead of IMPLPATH. + +1999-12-02 Radey Shouman + + * scmfig.h: Don't #define SINGLES for MSC, per suggestion of David + Yeh + +1999-12-01 Radey Shouman + + * 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 + + * build.scm (define-compile-commands): Added. + (defcommand): Added. + (platform): formatted; simplified names. + + * Makefile (features.txi): Added. + + * scm.texi (Build Options): take feature documentation from + "features.txi". + + * build (make-features-txi): Creates documentation of build + features from 'features table. + + * build.scm (build:define-feature): Added. Feature definitions + moved to top level. + + * Init5d1.scm (comment): Added. + (read:sharp): Added `#;' comment syntax, *feature* SHARP:SEMI. + +1999-11-09 Radey Shouman + + * sys.c (scm_env_v2lst): Made tolerant to argc of zero, + since ecache_evalx may call it thus for DO loops binding + no values. + + * eval.c (debug_env_save): Function for use in ENV_SAVE when the + CAREFUL_INTS paranoid debugging flag is #defined. + + (ecache_eval_args): Now calls ecache_evalx(), which + evaluates a list of expressions and returns a list allocated on + the ecache in scm_env_tmp. + + (m_do): (m_letrec1): (ceval_1): LET, LETREC, and DO now call + ecache_evalx instead of using inline loops, this seems to improve + speed by 5% - 10% for jacal and for simsynch simulation. C stack + usage will increase somewhat for large env frames. + + (lookupcar): Added support for constant bindings, to be created by + LET, LETREC, LET*. + +1999-11-04 Radey Shouman + + * scl.c (dbl_prec): Use dbl_mant_dig in preference of potentially + undefined DBL_MANT_DIG. + +1999-11-04 David Yeh + * scl.c (makdbl): Mods to compile using MSVC + +1999-11-01 Aubrey Jaffer + + * gmalloc.c: include "getpagesize.h" conditionalized on __svr4__. + +1999-10-31 Aubrey Jaffer + + * 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 + + * Makefile: Added platform.txi dependency where dependent on + scm.texi. + +1999-10-16 Aubrey Jaffer + + * Makefile (scm.info require.scm): "cp -p" more portable than "cp -a"? + +1999-10-15 Radey Shouman + + * sys.c (mode_bits): Fix for null output string case. + +1999-10-14 Radey Shouman + + * unif.c (make_sh_array): Reduced consing by using scm_cvapply + instead of apply. + +1999-10-13 Radey Shouman + + *sys.c (mode_bits): Now takes an optional buffer which, on exit, + will hold a mode string suitable to pass to fopen(), without any + SCM extension characters. + +1999-10-13 Aubrey Jaffer + + * r4rstest.scm (float-print-test): stop after first error. + +1999-10-13 Radey Shouman + + * sys.c (try_open_file): Insure that only 'r', 'w', 'b', or '+' + may be included in mode strings passed to fopen. + +1999-10-11 Radey Shouman + + * repl.c (scm_freshline): Added FRESHLINE. + * sys.c (init_storage): Make def_outp tracked, so freshline will + work with it. + +1999-10-10 Radey Shouman + + * ramap.c (cind): Now takes C vector of indices, which may be + allocated on the C stack, rather than a uve. + + (ramapc): (ramap): (ramap_cxr): (array_imap): (array_for_each): (rafe): + Use scm_cvapply instead of apply, allocate index and argument vectors + on the C stack for array ranks < 5. + + * record.c (makrectyp): (recprin1): Use scm_cvapply instead of + apply. + (rec_prinset): Checks arity of argument procedure. + + * sys.c (sfputc): (sfwrite): (sfgetc): Use scm_cvapply instead of + apply. + (mksfpt): Checks arities of soft port procedures when the port is made. + + * eval.c (scm_cvapply): (scm_arity_check): Exported. + (makacro): (makmacro): (makmmacro): Call scm_cvapply rather than + consing up argument lists. Check arity of macro transformers + once, when syntax is defined. + +1999-10-09 Radey Shouman + + * subr.c (make_vector): Fixed broken length argument test. + +1999-10-08 Radey Shouman + + * sys.c (scm_env_v2lst): Now takes list tail in scm_env_tmp, so + tail can be allocated on ecache. + +1999-10-06 Radey Shouman + + * repl.c (scm_top_level): Print out supplied program arguments for + failure exits to simplify debugging scripts. + + * eval.c (varcheck): Fixed for RECKLESS case. + +1999-10-04 Radey Shouman + + * eval.c (scm_arity_check): (macroexp1): Argument number checking + in macroexp1 abstracted as scm_arity_check, for use in map, + for-each ... + (scm_cvapply): Apply a function to a C vector of arguments, used by + map and for-each. + (scm_v2lst): Added for use in scm_cvapply. + (map): (for_each): Speed considerably improved: No longer allocate + Scheme vector temporaries for up to 5 list arguments. No longer + allocate unnecessary argument lists, allocate on ecache if + possible. + + * repl.c (iprin1): Print out first elt of cclo environment -- + makes record procedures more identifiable. + + * sys.c (scm_env_v2lst): Now takes last cdr of list as argument. + +1999-09-21 Aubrey Jaffer + + * sys.c (scm_port_entry): Make 16-bit safe. + +1999-09-19 Radey Shouman + + * Tscript.scm: File added to implement transcript-on, + transcript-off without burdening normal i/o. + + * Init5d1.scm (transcript-on): (transcript-off): Now autoloads + from SCM/Tscript.scm + + (_TRACKED): Added. + + * socket.c (l_socket): (l_connect): (l_listen): Modified to use + port table. + + (l_shutdown): (l_getpeername): (l_getsockname): Test for OPFPORTP, not + just OPPORTP. + + * posix.c (l_pipe): Modified to use port table. + (prinpipe): Removed. + + * ioext.c (reopen_file): (l_dup): (l_dup2): Modified to use port + table. + + * crs.c (prinwindow): Removed. + + (mkwindow): Uses scm_port_entry. + + * repl.c (iprin1): Uses "name" field for printing ports. + + (input_waiting): (wait_for_input): + + (trans_on): (trans_off): Removed in favor of soft-port implementation. + + (lputc): (lgetc): (lputs): (lfwrite): (lungetc): Removed check for + transcript, added line and column number support. Unread char now + kept in port table rather than CAR. + + (lreadpr): (line_num): Removed line counting for load port, now done + using general line and column counting. + + (scm_port_line): (scm_port_column): (scm_port_filename): Added. + + (err_head): Now prints out multiple filenames for nested loads. + Tries to recover from recursive errors if current-error-port is a + soft-port. + + * unif.c (uve_read): Removed ungetc call, if there is an unread + character, just call lgetc repeatedly for the first elt. + + * sys.c (must_malloc): (must_realloc): Now check whether the heap + is initialized or not, so may be called earlier. + + (scm_init_gra): (scm_grow_gra): Use above feature. + + (scm_port_entry): Added, allocates entry in a port table used to store + unread characters, file names, line & column numbers, &c. + + (mark_port_table): (sweep_port_table): Gc support for port table. + + ptobfuns now has a "name" element, used for printing. + (prinfport): (prinstpt): (prinsfpt): Removed. + +Sun Sep 12 22:54:58 EDT 1999 Aubrey Jaffer + + * patchlvl.h (SCMVERSION): Bumped from 5d0 to 5d1. + +1999-09-12 Aubrey Jaffer + + * x.c (init_x): Load "xevent.scm". + + * xtest.scm: Test key-press event. + + * xevent.h: Generated by "xgen.scm" + + * xevent.scm: Generated by "xgen.scm" + + * requires.scm: Sample "require.scm". + +1999-09-11 Aubrey Jaffer + + * Xlibscm.texi (Event): Documented x:event-ref. + +1999-08-26 Radey Shouman + + * sys.c (scm_egc): More robust test for sufficient cells in + freelist. + +1999-08-24 Radey Shouman + + * eval.c (wrapenv): Will no longer wrap an already wrapped + environment. + + * repl.c (def_err_response): Now prints "expand-time environment" + message only when relevant. + +1999-08-21 Aubrey Jaffer + + * xgen.scm (event-map): Added. + + * x.c: Absorbed event_names into "xevent.h". + +1999-08-20 Radey Shouman + + * repl.c (def_err_response): Error message for expand-time only + environment. + + * 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, + LETREC-SYNTAX. + + (ceval_1): Fixed bug in eval. + + * scm.h (ENVP): exported macro from eval.c. + +1999-08-18 Radey Shouman + + * eval.c (apply): Removed some unreached statements, merged + duplicate code in tc7_specfun case. + +1999-08-17 Radey Shouman + + * eval.c: (ceval_1): Made EVAL tail recursive. + Cleaned up some stack tracing cases, renamed POP_TRACE + to TOP_TRACE, since POP_TRACE sounds as though it should be the + inverse of PUSH_TRACE. + + (ceval_1): Now modifies stack trace only after an estk + frame may be pushed, that is, when some invocation of eval may + modify the environment. The bottom of the stack trace (the form + being evaluated during a call to a subr) is kept in a global + `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 + tracing. + + * repl.c (scm_stack_trace): Now may print out the value of the + global `scm_trace' as the top of the stack trace. + +1999-08-13 Radey Shouman + + * repl.c: Include for Cygwin, needed for select + support macros. + * scmfig.h: Define HAVE_SELECT for the Cygwin environment. + +1999-07-23 Radey Shouman + + * repl.c (scm_stack_trace): Put semi colons after frame numbers in + stack trace, rather than colons so emacs will not try to balance + parens. + +1999-07-20 Radey Shouman + + * build: Require build.scm in program-vicinity, since build.scm + may not be installed in implementation-vicinity. + +1999-07-19 + + * repl.c (def_err_response): Changed setjump to setjmp when + setting up safeport. + +1999-07-11 Aubrey Jaffer + + * Makefile (incdir): Added to abstract include directory location. + + * xgen.scm: Rewritten. generates xevent.h and xevent.scm from + . + + * inc2scm (scm<-usr/includes): System include path can be passed + as argument. + +1999-07-07 Radey Shouman + + * unif.c (arrayp): Fixed problem with immediate arguments. + + (scm_prot2type): Added, abstracts prototype -> + internal-array-type mapping. Accepts positive bignums as uvect + 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. + + SINGLES no longer need to be #DEFINEd in order to allow fvects. + + * ramap.c: Modifications for fvects if SINGLES not #DEFINEd. + +1999-07-06 Radey Shouman + + * r4rstest.scm: Added named LET test for scope of init forms. + * eval.c (m_let): Changed scope of init forms in named LET, to + conform to R5RS, in response to posting of Allegro Petrofsky + to comp.lang.scheme + +1999-07-04 Aubrey Jaffer + + * crs.c (lwinsch): Renamed from lwinsert. Why were idlok and + nodelay commented out? + +1999-07-02 "Dai INUKAI(GAF05" + + * rgx.c: __FreeBSD__ include should be "gnuregex.h". + +1999-05-31 Aubrey Jaffer + + * Xlibscm.texi: Pulled out of "scm.texi". + +1999-05-29 Aubrey Jaffer + + * scl.c (llog2 lpow10): renamed from log2 and lpow10, which + conflicted with djgpp include file /d/djgpp/include/math.h. + +1999-05-15 Dai INUKAI + + * Transcen.scm (expt): R5RS: 0^z is 1 if z = 0 and 0 otherwise. + * r4rstest.scm (test-inexact): Added tests for EXPT of zero. + +1999-05-12 Radey Shouman + + * eval.c (lookupcar): Combined some error checking cases. + + (scm_macroexpand1): + (scm_extended_env): + (scm_env_ref): Low level support for hygienic macro expansion. + + * Macroexpand.scm (macro:expand): Added for hygienic macro expansion. + + * Macro.scm (renaming-transformer): Now passes a memoizing RENAME + procedure, so that renaming the same identifier results in renamed + identifiers that are EQV? per "Hygienic Macros Through Explicit + Renaming". + + * Init5d0.scm (defconst): Now allows redefinitions without effect + in the sense of EQUAL? rather than EQV? to allow reloading code + defining constant list structure. + +1999-05-09 Aubrey Jaffer + + * r4rstest.scm (test-eq?-eqv?-agreement): Added tests for eqv? + vs. eq? agreement discussed in section "Equivalence predicates". + +1999-05-09 Arne Glenstrup + + * Makefile (udscm5): Added '-s $(IMPLPATH)' for executable builds. + +1999-04-26 Radey Shouman + + * scl.c (inex_divbigbig): Was broken (did not return valid SCM) + for some cases. + +1999-04-22 Radey Shouman + + * r4rstest.scm (test-inexact-printing): Added to check that + (EQV? X (STRING->NUMBER (NUMBER->STRING X))) holds for inexact X. + + * scl.c (iflo2str): Revamped so that (EQV? X (STRING->NUMBER + (NUMBER->STRING X))) holds for floating point X. Somewhat as in: + Burger & Dybvig + "Printing Floating-Point Numbers Quickly and Accurately" + + But floating point rather than bignum arithmetic is used -- due to + this state of sin one slop factor was introduced. It would be + good to check this on non-IEEE-754 architectures. + + (istr2flo): Now reads floating point numbers with exponents somewhat + below -MAXEXP, since this such numbers can be represented with + gradually underflowing denormals. + +1999-04-15 Aubrey Jaffer + + * Makefile (require.scm): Added constructor. + +1999-04-01 Radey Shouman + + * sys.c (scm_maksubr): Added, returns a subr not (yet) bound to an + interned symbol, abstracts the addition of the subr_table entry. + (make_subr): Now uses scm_maksubr. + + * gsubr.c (make_gsubr): Now uses scm_maksubr (was buggily using + old subr name encoding.) + + * eval.c (make_synt): Now uses scm_maksubr. + + * scm.h: Added prototypes for make_gsubr, scm_maksubr. + +1999-03-26 Arne John Glenstrup + + * scm.h (ptobfuns): added const to puts() and fwrite() prototypes. + + * gmalloc.c: fixed compilation on hpux. + +1999-03-26 Radey Shouman + + * Init5d0.scm (identity): Now a subr: CR. + * eval.c + * gsubr.c + * repl.c + * scm.h + * subr.c + * sys.c (SNAME): Pointers to subr names now kept in a mallocated + data structure, the top 16 bits of the CAR of a subr is an index + into this table. Eventually this should help support eg generic + arithmetic. + +1999-03-25 Radey Shouman + + * sys.c (scm_grow_gra): Fixed error in mallocated accounting, made + increment grow with allocated size. + +1999-03-22 Aubrey Jaffer + + * Init5d0.scm (exec-self): Undo *script* meta-argument processing. + +1999-03-18 Radey Shouman + + * Init5d0.scm (read:sharp): Simplified somewhat; again accepts + '#2((a b c) (1 2 3)) as array read syntax, with warning. + +1999-03-17 Radey Shouman + + * unif.c (raprin1): New write syntax for uniform vectors and arrays. + (array2list): (list2ura): Fixed for zero-rank arrays. + + * Init5d0.scm (read:sharp): New read syntax for uniform vectors + and arrays. + +1999-03-16 Radey Shouman + + * x.c (scm2int_pair): Generalized to accept uniform vectors and + arrays. + + * eval.c + * ramap.c + * repl.c + * rope.c + * scl.c + * scm.h + * sys.c + * unif.c + Added uniform vector type for signed short integers, tc7_svect. + The prototype is the symbol 'short, the print representation is + not currently readable. (Both items subject to change.) + +1999-03-11 Aubrey Jaffer + + * x.c (x:close): Merged from x:close-display and x:destroy-window. + Flushes after closing window. + + * x.c: Use OPN and other bits in type-word. Fixed GC of closed + windows and displays. + +1999-03-10 Aubrey Jaffer + + * x.c: Added copyright notice. + +1999-03-07 Aubrey Jaffer + + * mkimpcat.scm (edit-line): editline -> readline. + + * Makefile (mydlls): build edit-line separately to link in + libraries correctly. + +1999-02-17 Aubrey Jaffer + + * build.scm, mkimpcat.scm, x.c, x.h, x11.scm, xgen.scm, xscm.doc, + xtest.scm: Xlib interface from xscm-2.01 + +1999-02-12 Hakan L. Younes + + * build.scm, findexec.c, scm.c, scm.texi, scmfig.h, time.c: + amiga-gcc port. + +1999-02-11 Aubrey Jaffer + + * repl.c (scm_warn): renamed from warn(). + +1999-02-04 Radey Shouman + + * setjump.h + * repl.c (scm_stack_trace): + * sys.c (safewrite): + Made all safeport operations consistently use the standard C + setjmp, longjmp, and jmp_buf. + +1999-01-27 Aubrey Jaffer + + * build.scm (build): -Dfreebsd no longer necessary for freebsd + builds. + + * findexec.c: freebsd -> __FreeBSD__. + * ioext.c: freebsd -> __FreeBSD__. + * time.c: freebsd -> __FreeBSD__. + +1999-01-27 Bakul Shah + + * sys.c (add_final): Fixed call to scm_grow_gra. + + * subr.c (promisep): Added PROMISE? + +1999-01-23 Aubrey Jaffer + + * build.scm (obj->): Added (was called but not defined). + +1999-01-17 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 + + * patchlvl.h (SCMVERSION): Bumped from 5c4 to 5d0. + +1999-01-16 Aubrey Jaffer + + * ramap.c (init_ramap): definition for ARRAY-INDEXES added. + + * scmmain.c (generic_name): Added (local char** init wasn't + portable). + +1999-01-12 Aubrey Jaffer + + * Makefile (version.txi): support added. + + * scm.texi (SCM_VERSION): abstracted to version.txi. + +1999-01-12 Aubrey Jaffer + + * build (make-readme): moved (require 'posix) here. + +1999-01-11 Aubrey Jaffer + + * build.scm (read-version): simplified. + + * build (make-readme): added. Makes README from scm5c4.info. + +1999-01-11 Aubrey Jaffer + + * Makefile (README): added target. + + * build (print-manifest): added. + + * scm.texi: Added spacing workaround for Texinfo @deftypefun bugs. + (Problems *): @table --> @multitable. + (Standards Compliance): Updated for R5RS. + (SCM Options): fixed - and --; @minus{} breaks TeX! + +1999-01-10 Aubrey Jaffer + + * scm.texi (Scripting): renamed from Shell Scripts. Reorganized; + rewrote examples. + (SCM Options): fixed -- as well as texinfo can. + + * Init5c4.scm (boot-tail): load *script* if not done by options. + + * script.c (script_process_argv): Allow space between #! and + pathname. + + * scm.c (scm_init_from_argv): gets additional argument + `script_arg', which becomes the value of *script*. + + * ioext.c (director-for-each): fail gracefully if can't open + directory. + +1999-01-08 Aubrey Jaffer + + * scm.texi (Smob Cells): Explained NUMDIGS_MAX limit. + + * sys.c (init_storage): Added check for NUMDIGS_MAX. + + * scmfig.h (NUMDIGS_MAX): moved from "scm.h". Reduced to 1000 + (4816 decimal digits). + +1999-01-04 Aubrey Jaffer + + * scm.texi (Embedding SCM): Added libtest.c example. + + * Makefile (libtest): Added target. + + * scm.c (dirsep): added variable. + + * repl.c (heap_report): Only call scm_brk_report() if scm_init_brk + has been set. + +1999-01-04 Aubrey Jaffer + + * scm.texi (Unix Shell Scripts): merged in "SCSH scripts". + Removed description of single non-\ argument on first script line. + +1999-01-03 Aubrey Jaffer + + * scm.texi (Embedding SCM): Rewrote. + + * repl.c (scm_top_level): Pass initpath string to boot-tail + (rather than #t) for dumped executables. + + * scmfig.h (RTL): removed. main() is now in scmmain.c. + + * build.scm (C-libraries): Added `lib', which excludes + "scmmain.c"; Removed RTL flag. + + * dynl.c (init_dynl): Don't try to compute execpath. + + * script.c (find_impl_file): Renamed from scm_find_impl_file. + Fixed reduntant "lib" check. Added tests for executable-name peer + and generic peer directories. + + * Init5c4.scm (set-vicinities!): Simplified. Now takes init-file + argument. + + * scmmain.c: created, stealing main() and scm_find_implpath() from + "scm.c". + + * scm.c (scm_find_impl RTL main): removed. + +1999-01-02 Aubrey Jaffer + + * repl.c, scm.c: moved initpath==0 argument handling from main to + scm_top_level(). + + * Makefile: Redundant DFLAG = -DIMPLINIT=\"$(IMPLINIT)\" removed. + IMPLINIT still #defined by scmflags.h. + +1998-12-18 Aubrey Jaffer + + * Link.scm (compile-file): Converted from replace-suffix to + filename:substitute??. + + * build.scm (c->): Added. + (c->o): Added. + (c->obj): Added. + (obj->exe): Converted from replace-suffix to filename:substitute??. + +1998-12-15 Radey Shouman + + * eval.c (ecache_eval_args): Added, allocates an environment frame + in the ecache and does argument number checking for closures with + >= 3 arguments (and no rest argument). + (asubr_apply): Added to apply multiargument rpsubrs and asubrs without + consing. + + * sys.c (scm_env_v2lst): Added for ecache_eval_args, builds a list + of ecache cells from an argument vector. + +1998-12-14 Radey Shouman + + * 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 + + * (scm_top_level): (repl): Made repl an acceptable second argument to + scm_top_level. + +1998-12-09 Aubrey Jaffer + + * sys.c (VERIFY_INTS): Pass 0L rather than 0 for null pointer args. + + * scm.c: Pass 0L rather than 0 for null pointer args. + + * rgx.c (lregerror): Pass 0L rather than 0 for null pointer args. + +1998-12-09 Radey Shouman + + * repl.c (scm_top_level): Now takes a second argument, toplvl_fun, + which is a function of no arguments returning SCM. If this + variable is non-null, it will be called instead of repl(), if + toplvl_fun returns BOOL_T, it may be called again, otherwise + scm_top_level will return. + + Now checks that BOOT-TAIL is non-immediate before applying it, so + that it becomes optional. + + * scm.c (run_scm): Deleted, subsumed by main(). + + * patchlvl.h (INIT_FILE_NAME): #defined even for RTL case. The + init file is probably useful even if the default top level is not + used. + + * eval.c (varcheck): Now counts required arguments so m_lambda + doesn't have to. + +1998-12-08 Radey Shouman + + * Macro.scm (Macro:compile-syntax-rules) Check that car of each + rule is a pair. + +1998-12-08 Aubrey Jaffer + + * scm.c (main): Changed argc==0 argv[0] from "scm" to + GENERIC_NAME. + +1998-12-06 Aubrey Jaffer + + * scm.texi (Embedding SCM): Changed from "Calling Scheme From C". + + * scm.c (scm_execpath scm_find_executable): moved from repl.c. + (init_banner): Changed to use pre-processor concatenation. + (main): modularized. + (run_scm): freeall argument added to control calling of + free_storage(). + + * repl.c (scm_top_level): initpath with leading '(', ';', or + whitespace taken as string to load (rather than filename). + (init_sbrk): extracted from main(). + + * dynl.c (init_dynl): ifdef RTL removed. + +1998-12-06 Radey Shouman + + * subr.c + * scl.c (scm_intexpt): Special cases for arithmetic that can be + 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 + control memoization of local variables to ilocs. + +1998-12-05 Aubrey Jaffer + + * repl.c (tryload): Removed TAIL_RECURSIVE_LOAD version. + (scm_top_level): If string argument starts with whitespace, `)', or + `;', then call scm_ldstr() with argument rather than scm_ldfile(). + + * build.scm (compile-dll-c-files linux): delete .o after making .so. + + * scm.c (init_scm): Rest of inits moved into. + (final_scm): Handles finals. + (scm_init_from_argv): Handles universal argv processing; + platform-dependent argv processing remains in main(). + +1998-12-04 Radey Shouman + + * repl.c (def_err_response): Fixed to print stack trace even if + err_exp is not defined. + + * repl.c + * sys.c + * scm.h errjmp_bad is now a pointer to a string, rather than an + int, so that the final error message can say in which critical + code section the error occured. + +1998-12-03 Aubrey Jaffer + + * repl.c (scm_top_level): renamed from repl_driver. + +1998-12-03 Radey Shouman + + * 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 + converting them to doubles for calculating inexact results. + (big2scaldbl): (bigdblop): (inex_divbigbig): Auxiliary functions + added. + (idbl2str): Decrease minimum exponent to allow printing of + gradually underflowing IEEE doubles. + + * scm.c (setitimer): Made each option individually controlled by #ifdef, + now returns #f instead of error if given an unsupported option. + + * Init5c4.scm This is used to initialize the appropriate alarm + procedures. + +1998-12-02 Radey Shouman + + * scm.h (NUMDIGS): Added cast so that NALLOC error reports would + print correctly. + +1998-12-02 Aubrey Jaffer + + * setjump.h: windframe removed -- dowinds could only be processed + while (possibly oversize) stack was intact. + + * scm.h (ARGn .. PROF_SIGNAL): Special err_pos values renumbered + from 1; this allows 0 to indicate message has been printed. + (dynwinds): restored to sys_protects. + + * repl.c (repl_driver): dowinds() call moved from abrt(), quit(), + and restart(); dowinds() now done after longjump. + (repl_driver): cur_inp being closed now indicates that SCM should + exit -- after printing error messages. + (def_err_response): err_pos = 0 after printing message. If + err_pos==0, don't print message. + + * Init5c4.scm (fluid-let): Shrunk using multi_set returns. + + * eval.c (scm_multi_set): Now returns new list of old values. + + * scm.c (l_pause): DJGPP2.0 lacks ITIMER_VIRTUAL; can't quit SCM! + #undef SIGPROF if ITIMER_VIRTUAL not defined. + + * sys.c (reset_safeport): fixed 16-bit argument to + must_malloc_cell. + (dowinds): fixed limit case behavior. + +1998-12-01 Aubrey Jaffer + + * Init5c4.scm (fluid-let): defmacro added. + + * eval.c (scm_multi_set): Added. (set! (a b c) (list 10 20 30)) + sets 3 variables. + + * sys.c (dowinds): Eliminated second argument. + (dynwinds): No longer a sysprotect. + + * setjump.h (windframe): Dynamic wind information now kept in + linked struct windframe on C-stack. + +1998-12-01 Radey Shouman + + * sys.c safeport now includes jmp_buf, to which it will longjump + after writing its character limit. This makes it safe to print + out possibly circular structures in error handling routines. + (reset_safeport): Now returns non-zero only if its argument + really was a safeport. + + * setjump.h (SAFEP_JMPBUF): Macro accessor for the jmp_buf, + setjump *must* be called with this argument before using a + safeport. + + * repl.c (scm_stack_trace): (def_err_response): Use new + safeport features. + + * Macro.scm (substitute-in-template): Added check that all pattern + variables combined in an ellipsis template have the same length. + +1998-11-29 Aubrey Jaffer + + * scm.texi (Socket): examples updated to use wait-for-input; no + longer spin-wait. + + * repl.c (wait_for_input): `select'-like procedure added. + (char_readyp): now supported by DJGPP. + + * ioext.c (l_putenv lexec*): DJGPP now supports. + + * scm.c (l_raise SIGALRM): DJGPP now supports. + + * scmfig.h: include now seems safe for DJGPP. + +1998-11-28 Aubrey Jaffer + + * scm.texi (Data Type Representations): PTOBs had wrong code and + lsubr was missing! + +1998-11-26 Aubrey Jaffer + + * repl.c (def_err_response): Now truncates ALL long expressions + being printed. + + * sys.c (must_malloc must_malloc_cell): 0 -> 0L to fix 16-bit + scmlit. + +1998-11-26 Radey Shouman + + * 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. + +1998-11-25 Radey Shouman + + * repl.c (scm_stack_trace): Changed numbering of stack frames. + (def_err_response): Now prints erring expression before + stack trace. + (init_tables): Removed unnecessary assignment to + scm_verbose, which was already 1 under any circumstances. + (def_err_response): Now truncates long expressions being + printed. + (err_head): More robust test for output to stderr, to + decide whether to call perror or not. + + * 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 + sys_protects earlier, in case allocating ptobs or smobs causes + errors to be thrown. + +1998-11-24 Radey Shouman + + * scm.h (NUM_IFLAGS): Added to make COOKIE, UNCOOK definitions a + little easier to read. + + * sys.c (reset_safeport): Added, resets count and optionally + parent port on a safe-port. + (sys_safep): New sys_protect, so stack-trace doesn't have to + 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): + Now checks and dies horribly but predictably if def_err_response + is recursively entered. + +1998-11-20 Radey Shouman + + * eval.c (env2tree): Check for undefineds in environment to + prevent endless loop, substitute #. + * repl.c (stack_trace): Now uses safe ports, prints "STACK TRACE" + message (I don't remember when that disappeared) and prints at + most 12 traced frames. + + * 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 + + * 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. + + (rec_prinset): Added PRINTER field to RTDs so they may be printed + by a user- specified procedure. Scheme signature: + (RECORD-PRINTER-SET! RTD PRINT-PROCEDURE) where PRINT-PROCEDURE + takes as arguments the record and a port. + + Added local accessor macros for record & rtd fields, removed + questionable union type declarations. + +1998-11-18 Radey Shouman + + * Macro.scm (macro:compile-syntax-rules): Minor cleanup, made + internal rule representation a record type rather than list. + (renaming-transformer): Added to support `explicit + renaming' low-level macros. + + * 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. + +1998-11-16 Radey Shouman + + * 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 + respective alarms, so that restarting does not cause an error when + an alarm is pending. + + * sys.c (gc_mark): Now marks the header of smobs and ptobs, so the + mark function doesn't have to. + * unif.c: + * record.c: + * rgx.c: + * rope.c: + * scm.h: Ptob and smob mark functions modified to not mark headers. + +1998-11-15 Radey Shouman + + * eval.c (bodycheck): Removed, was only used in m_do. + (m_do): No longer calls bodycheck. + (lookupcar): No longer memoizes if no checking is to be done, eg + if doing speculative expansion. + (macroexp1): Now saves car in local variable to avoid calling + unmemocar. + (uniqcheck): Added, checks for non-unique identifiers in a binding + list. + (m_lambda): (m_letrec1): (m_do): Now check for duplicate bound + names. + +1998-11-13 Radey Shouman + + * unif.c (shap2ra): better error checking of dimension specs + +1998-11-12 Aubrey Jaffer + + * scmfig.h (SCM_NEED_FDS SCM_INTERRUPTED): added argument to make + clear that this is not a constant. + +1998-11-11 Radey Shouman + + * scmfig.h (SCM_INTERRUPTED): Abstracted the interrupted test from + SYSCALL. + (SCM_OPENCALL): Similar to SYSCALL, but will gc to reclaim + file descriptors. + + * sys.c (try_open_file): Now uses SCM_OPENCALL. + (gc_for_open_files): Added. + + * ioext.c: + * posix.c: + * socket.c: File opening system calls now use SCM_OPENCALL. + If an open fails because there are no unused file handles, GC for + for file handles. + +1998-11-11 Aubrey Jaffer + + * Init5c4.scm (vicinity:suffix?): Abstracted from + pathname->vicinity and "Link.scm". + +1998-11-08 Aubrey Jaffer + + * sys.c, scm.c, record.c, ramap.c: Changed some intern -> sysintern. + + * build.scm (compile-c-files linux): gcc -O2 produces unreliable + objects for Cyrix 6x86 processor; -O2 option removed. + +1998-11-05 Aubrey Jaffer + + * 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 + + * scm.h (ESTK_PARENT): (ESTK_PARENT_WRITABLEP): + (ESTK_PARENT_INDEX): SCM_ prepended, definition moved to scm.h, + now used in repl.c. + + * repl.c (handle_it): Fixed so stack traces extend before + interrupt handler calls. + (scm_stack_trace): Fixed for segmented environment stack. + +1998-11-03 Aubrey Jaffer + + * repl.c (def_err_response): print out errobj if short string; if + long string, print out first 57 characters and "...". This makes + messages about not finding Init???.scm more informative. + +Tue Nov 3 17:41:40 EST 1998 Aubrey Jaffer + + * patchlvl.h (SCMVERSION): Bumped from 5c3 to 5c4. + +1998-11-03 Aubrey Jaffer + + * ioext.c (directory-for-each): Added. + + * Makefile (build): Added to TAGS. + +1998-11-02 Radey Shouman + + * sys.c (makcclo): Fixed argument to ASSERT. + +1998-11-02 Aubrey Jaffer + + * 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. + + * scmfig.h sys.c (SHORT_SIZET): Added to detect whether sizet + width or LENGTH field more restrictive. + + * rope.c (must_free_argv): changed to use must_free. + + * scm.h (LENGTH_MAX): Changed from fixed constant to cpp computed. + (NUMDIGS_MAX): Added. + +1998-11-01 Aubrey Jaffer + + * sys.c (gc_sweep): Continuation storage was not being counted + when freed. + + * time.c (your_time): fixed scaling so numbers returned use full + INUM range. + +1998-10-29 Radey Shouman + + * eval.c (m_and): (m_or): Special case for one argument. + +1998-10-28 Radey Shouman + + * setjump.h + * 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 + + * scm.c (scm_init_extensions): Added call to init_user_scm + for RTL case. + Moved #ifndef RTL to insure DIRSEP and GENERIC_NAME are #defined + for RTL case. + + * build.scm Now builds archive called libscm.a rather than scm.a + +1998-10-20 Aubrey Jaffer + + * Init5c3.scm (with-XXX-to-port): Oops. fixed earlier change. + +1998-10-19 Aubrey Jaffer + + * scm.texi (Build Options): Build platform table in Makefile and + @include. + +1998-10-19 Radey Shouman + * 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. + (free_storage): scm_free_gra now sets smobs and ptobs to zero. + (egc_sweep): Give dead cells immediate values, prevents obscure + gc bug seen in hpux. + + * sys.c (scm_estk_grow): (scm_estk_shrink): Deleted incorrect + DEFER/ALLOW_INTS. + + (init_storage): SHORT_INT fixconfig message now suggests changing + scmfig.h rather than setjump.h + +1998-10-16 Basile STARYNKEVITCH + + * repl.c (lreadr): linum now incremented for LINE_INCREMENTORS + within strings. + +1998-10-16 Aubrey Jaffer + + * scmfig.h (SHORT_INT): __alpha is. + +1998-10-14 Radey Shouman + + * eval.c (apply): Deleted redundant DEFER_INTS_EGC, added + ALLOW_INTS_EGC to closure apply case. + +1998-10-13 Radey Shouman + + * sys.c (egc_copy_stack): Provide strict bound on live locations. + + * eval.c (apply): Added default case for tc7_specfun type, + replaces special handling for (apply apply ...) and (apply + call-with-current-continuation ...) + +1998-10-12 Radey Shouman + + * scm.h (ISYMSETVAL): renamed to MAKISYMVAL. + + * 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 + 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_extend_env): Rewritten using local temporary for indexing + into ecache. + +1998-10-06 Radey Shouman + + * scm.c: SIGPROF #undefined if LACK_SETITIMER is #defined, needed + to build profiling version of SCM. + +1998-10-06 Aubrey Jaffer + + * build.scm (read-version): Will use implementation-vicinity if + scm-srcdir does not contain "patchlvl.h". + +1998-10-03 Radey Shouman + + * scm.c (run_scm): Fixed finals call loop + +1998-10-02 Aubrey Jaffer + + * 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(). + + * scm.h, repl.c, dynl.c, continue.h: + CodeWarrior-Pro-3 port from Bob Schumaker + +1998-10-01 Bob Schumaker + + * dynl.c: must_free_argv() was called with extra argument! + + * continue.h (SHORT_ALIGN): Port for `CodeWarrior Pro 3'. + + * repl.c, scm.h: declarations added for `CodeWarrior Pro 3'. + +1998-09-29 Aubrey Jaffer + + * Link.scm (link-named-scm): simplified; prepping for hobbit5. + +1998-09-29 Radey Shouman + + * scm.c Added SIGVTALRM callback. + + * Init5c3.scm (profile-alarm-timer): Renamed from profile-timer, + (virtual-alarm-timer): added. + + * 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. + +1998-09-29 Aubrey Jaffer + + * build (build-from-argv): slib:warns if not successful. + (bi): Exits with error indication when build not successful. + + * build.scm (build): Sense was wrong; heap-can-shrink renamed + no-heap-shrink + (batch:rebuild-catalog): always return #t. + +1998-09-22 Radey Shouman + + * sys.c (scm_init_gra): (scm_grow_gra): (scm_free_gra): GRowable + Array type. + (newsmob): (newptob): (add_final): Implemented using scm_gra type. + +1998-09-18 Radey Shouman + + * Init5c3.scm (profile-timer): (milli-alarm): Defined in terms of + SETITIMER. + + * sys.c (sysintern): No longer changes the CDR of an existing + symhash value cell if second argument is UNDEFINED. For use with + scm_setitimer, which uses symbols as keys, but not as identifiers. + + * scm.c (scm_proftimer): Removed. + (scm_setitimer): Added, interface to setitimer/getitimer allowing + use of ITIMER_REAL, ITIMER_VIRTUAL, ITIMER_PROF. + +1998-09-18 Aubrey Jaffer + + * posix.c (scm_getgroups): added scm_protect_temp(&grps); + +1998-09-17 Aubrey Jaffer + + * 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! + + * repl.c (set_inp set_outp set_errp): Made variable swap atomic. + Also changed so port argument can be closed. + +1998-09-17 Radey Shouman + + * sys.c (init_storage): Fixed estk initialization to work when + restarted. + +1998-09-16 Radey Shouman + + * Init5c3.scm (read:sharp-char): Added, parses emacs style meta + and control char syntax. + + * repl.c (lreadpr): Added callout to READ:SHARP-CHAR for otherwise + undefined #\ read sequences, memoized references to READ:SHARP. + + * unif.c (resizuve): Fixed accounting of mallocated storage for + strings and bitvectors. + + * 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 + on #define DEBUG_GMALLOC. + + (gc_sweep): Fixed accounting of bignum storage for DIGSTOOBIG case. + + (intern): Avoid possible race condition by deferring ints during + search. + + * scm.c (process_signals): Process from low numbers to higher, ala + Unix signals. More fatal errors should come earlier in the list. + Fri Sep 11 17:25:14 EDT 1998 Aubrey Jaffer * patchlvl.h (SCMVERSION): Bumped from 5c2 to 5c3. @@ -5,7 +1351,7 @@ Fri Sep 11 17:25:14 EDT 1998 Aubrey Jaffer 1998-09-11 Radey Shouman * gmalloc.c: Imported gmalloc.c from emacs 20.2.1. - + (check_block): (check_frag_blocks): Debugging functions added. * sys.c (scm_protect_temp): Added, is currently, and probably will @@ -15,7 +1361,7 @@ Fri Sep 11 17:25:14 EDT 1998 Aubrey Jaffer * scl.c (big2str): Added call to scm_protect_temp. * eval.c (map): (for_each): Added calls to scm_protect_temp. - + * rgx.c (lregcomp): Added call to scm_protect_temp. 1998-09-04 Radey Shouman @@ -41,7 +1387,7 @@ Fri Sep 11 17:25:14 EDT 1998 Aubrey Jaffer * scmfig.h (VERIFY_INTS): Added macro to print warnings if interrupts are improperly allowed and CAREFUL_INTS is #defined. - + (VOLATILE): Expands to `volatile' keyword if __STDC__ is #defined. * sys.c (sys_errp): Interrupt safe system output port added. @@ -59,7 +1405,7 @@ Fri Sep 11 17:25:14 EDT 1998 Aubrey Jaffer (closure): Now takes the number of required closure arguments as a second argument. (m_lambda): Computes and memoizes the number of required arguments. - + * repl.c (iprlist): Uses GCCDR so that fatal error messages during gc may print better. (handle_it): Call to scm_egc made conditional on NO_ENV_CACHE. @@ -76,7 +1422,7 @@ Fri Sep 11 17:25:14 EDT 1998 Aubrey Jaffer * Init5c2.scm (array-shape): No longer signals an error when passed a non-array -- now returns whatever ARRAY-DIMENSIONS returned (currently #f). - + 1998-08-26 Aubrey Jaffer * scm.c (scm_proftimer): Also conditional on SIGALRM. @@ -435,7 +1781,7 @@ Wed Jul 22 16:36:48 EDT 1998 Aubrey Jaffer 1998-06-22 Radey Shouman * eval.c (ENV_PUSH): Fixed problem introduced during last change: - estk was overstepping its bounds. + estk was overstepping its bounds. 1998-06-19 Radey Shouman @@ -638,7 +1984,7 @@ Wed May 20 17:53:52 EDT 1998 Aubrey Jaffer 1998-05-14 Radey Shouman * Init.scm (bit-extract): (logical:bit-field): - (logical:bitwise-if): (logical:copy-bit): + (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, -- cgit v1.2.3