1Wed Apr  5 14:32:51 1995  Gary Houston  <ghouston@actrix.gen.nz>
2
3	* unix.c, ioext.c, posix.c, sys.c: Scheme name changes,
4	  semantic cleanups, the port table, missing system calls
5	  and coding cleanups from ghouston@actrix.gen.nz
6
7Thu Mar 16 14:37:38 1995  Tom Lord  <lord@x1.cygnus.com>
8
9	* guile.c: fixed the gcc-specific definition of the macro "AT(x)".
10
11	* guile.c (gscm_init_from_fn): Parameterize what init functions
12	get called (see guile_ks, below).
13
14	* guile-mini.c (guile_mini): a minimalist alternative to guile_ks.
15
16	* guile-ks.c (guile_ks): factor out the call to optional inits to
17	a separate file so you can link against libguile without getting
18	the kitchen sink.
19
20	* Ginit.scm (try-load of "ScmInit.scm"): Be robust in the absense
21	of a binding for the environment varialbe HOME.  Try
22	 (getpw (geteuid)) or just use "/".
23
24
25Thu Mar  9 15:35:20 1995  Tom Lord  <lord@x1.cygnus.com>
26
27	* gmain.c (main): Print additional error message if init file
28	  can't be opened.
29
30	* guile.c (initialize_gscm): Report an error if the
31	  init file can't be opened.
32
33Thu Mar 23 23:22:59 1995  Aubrey Jaffer  (jaffer@jacal)
34
35	* scm.texi (I/O-Extensions): Finished.
36
37	* Init.scm (scm:load): `loading' messages now indented.
38
39Sat Mar  4 20:58:51 1995  Aubrey Jaffer  (jaffer@jacal)
40
41	* scm.texi: documentation finished for "posix.c" and "unix.c".
42
43	* posix.c (scm_getgroups): added.
44
45	* posix.c (makfrom0str): According to glibc.info, some field in
46	structures like pwent may have NULL pointers.  Changed makfrom0str
47	to return BOOL_F in this case.
48
49Thu Mar  2 12:52:25 1995  Aubrey Jaffer  (jaffer@jacal)
50
51	* time.c: CLKTCK set from CLOCKS_PER_SEC, if available.  Metaware
52	HighC ported.
53
54	* scm.h: USE_ANSI_PROTOTYPES now controls prototypes (was
55	__STDC__).  This allows an overly fussy compiler to still have
56	__STDC__.
57
58	From: dorai@ses.com (Dorai Sitaram)
59	* ioext.c (l_utime): include files fixed for __EMX__
60
61Sun Feb 26 23:46:18 1995  Tom Lord  <lord@x1.cygnus.com>
62
63	* repl.c (scm_app_wdr): Like scm_apply, but takes an error function.
64	  The caller's continuation is never captured or escaped.
65	  The error function is invoked as with scm_cwdr.
66
67Sun Feb 26 21:03:04 1995  Aubrey Jaffer  (jaffer@jacal)
68
69	* sys.c (gc_mark gc_sweep): tc7_ssymbol now gets GCed because it
70	gets used for non-GCed strings in scm_evalstr scm_loadstr.
71	(mkstrport cwos cwis): changed so caller's name is passed into
72	mkstrport().
73
74	* repl.c
75	(scm_eval_string scm_evalstr scm_load_string scm_loadstr): added
76	for easier C to scheme callbacks.
77	(loadport): variable added so lreadr() and flush_ws()
78	increment linum only when reading from the correct port.
79	(def_err_response): now handles ARGn for argument numbers > 5 and
80	unknown position arguments.
81
82	* dynl.c: Dynamic Linking now sets and restores *load-pathname*
83	around the init_ call.
84
85Sat Feb 25 11:03:56 1995  Aubrey Jaffer  (jaffer@jacal)
86
87	* scm.c (lsystem getenv softtype ed vms_debug): moved from scl.c.
88	(add_feature): moved from repl.c.
89	(features): init table removed (caused multiple symbols).
90
91Fri Feb 24 23:48:03 1995  Aubrey Jaffer  (jaffer@jacal)
92
93	* scm.c (scm_init_extensions COMPILED_INITS): Added so that
94	statically linked, compiled code can be initialized *after* most
95	of Init.scm has loaded.
96
97Wed Feb 22 15:54:01 1995  Aubrey Jaffer  (jaffer@jacal)
98
99	* subr.c (append): Added check for bad arguments and fixed errobj.
100
101Sun Feb 19 01:31:59 1995  Aubrey Jaffer  (jaffer@jacal)
102
103	* ioext.c (exec execp): changed so that 2nd arguments is argv[0]
104	(like posix) and renamed to execl and execlp.
105	(execv execvp): added.
106
107Sat Feb 11 17:30:14 1995  Aubrey Jaffer  (jaffer@jacal)
108
109	* ioext.c (lexec): moved from repl.c and scm.c.
110	(lexecp i_exec l_putenv): added.
111
112	* posix.c (open_pipe l_open_input_pipe l_open_output_pipe
113	prinpipe):  moved from ioext.c.
114	(l_fork): added.
115
116Fri Feb 10 10:50:03 1995  Aubrey Jaffer  (jaffer@jacal)
117
118	* scl.c (num2long long2num): moved here from subr.c.
119	(num2ulong): fixed (< to >=) bug.
120
121	* unif.c (aset array2list array_ref cvref): uniform integers and
122	unsigned integer arrays now handle full size integers (and
123	inexacts) using num2long, num2ulong, long2num, and ulong2num when
124	INUMS_ONLY is not defined.
125
126	* scmfig.h (INUMS_ONLY): defined when INUMs are the only numbers.
127
128Wed Feb  8 17:57:26 1995  Tom Lord  (lord@x1.cygnus.com)
129
130	* Ginit.scm (stand-alone-repl): Use new function (rooted-repl)
131	  (rooted-repl):  new function
132
133Tue Jan 31 16:46:26 1995  Tom Lord  (lord@x1.cygnus.com)
134
135	* repl.c (lreadr): compare string constant names
136	  in a case insensative way.
137
138	  (scm_lread): Take an optional parameter CASEP.
139	  If specified and not #f, then symbols are read
140	  in a case sensative way.
141
142	  If not specified, the state variable default_case_i is checked
143	  (a C int, either 0 or 1).  The state variable hasn't been
144	  exposed and so is constant and depends on compile-time flags --
145	  but in the future it might be made more explicit if there is a
146	  need.
147
148Sun Jan 29 23:22:40 1995  Aubrey Jaffer  (jaffer@jacal)
149
150	* scm.texi (Overview): scm.1 converted to texinfo format and
151	incorporated.
152
153Sat Jan 28 23:11:40 1995  Tom Lord  (lord@x1.cygnus.com)
154
155	* repl.c (compiled-library-path): return the value of the
156	  compile-time cpp macro "LIBRARY_PATH" or #f.
157
158	* Ginit.scm: use the above path to find slib on unix.
159	  This solution should be generalized.
160
161Fri Jan 27 19:58:27 1995  Tom Lord  (lord@x1.cygnus.com)
162
163	* sys.c (gc_sweep): Fixed a gc bug that caused circular free-lists
164	  resulting in Cells that thought they were free long after they
165	  were allocated for some nefarious purpose or other.
166
167	* Makefile.in (manifest): ship all pieces of the info manual.
168	  Typos fixes from ghouston.
169
170Thu Jan 26 01:52:00 1995  Tom Lord  <lord@x1.cygnus.com>
171
172	From: cessu@cs.hut.fi (Kenneth Oksanen)
173
174	* configure.in:
175	  AC_CHECK_LIB(nsl, gethostent)
176	  AC_CHECK_LIB(ucb, bzero)
177	  AC_CHECK_LIB(socket, socket)
178	  AC_CHECK_LIB(bsd, bzero)
179
180
181 	From: brent@jade.ssd.csd.harris.com (Brent Benson)
182
183	* gmain.c: line 31: In ANSI C, string literals cannot span multiple
184	  source lines.
185
186  	* guile.c: line 592: The two cases in the ifdef are reversed, AT(X)
187	  should expand to nothing if you are *not* using GNUC.
188
189	* ioext.c: line 29: On my system it is necessary to
190	  include <unistd.h> *before* <sys/stat.h> in order to
191	  have the correct types defined.
192
193	* ioext.c: line 194: Declaration of popen conflicts with my system's
194	  popen() defined in <unistd.h>.  Let the header file provide the
195	  prototype!!
196
197Sun Jan 22 11:13:58 1995  Aubrey Jaffer  (jaffer@jacal)
198
199	* scm.texi (Internals): code.doc converted to texinfo format.
200	Much added and reorganized.  code.doc removed.
201
202Thu Jan 19 00:40:11 1995  Aubrey Jaffer  (jaffer@jacal)
203
204	* subr.c (logbitp logtest): added.
205
206Mon Jan 16 01:42:20 1995  Tom Lord  <lord@x1.cygnus.com>
207
208	* repl.c (scm_repl): takes two arguments now (prompt and top-level).
209	Callable from Scheme.
210
211	* sys.c (scm_init_storage): only use stdin if scm_take_stdin is true.
212	Otherwise, use an empty string port. If using stdin, make it
213	unbuffered.
214
215Sun Jan 15 21:51:37 1995  Tom Lord  <lord@x1.cygnus.com>
216
217	* sys.c (scm_mkarray, scm_free_array, mark_arrays): support for
218	C programs.  malloc/free style interface to allcoating
219	protected storage of type SCM*.
220
221Sun Jan 15 17:49:43 1995  Tom Lord  (lord@x1.cygnus.com)
222
223	* guile.c: new file.  Friendly C interface for Guile.
224	  (see file GUILE)
225
226	* repl.c (scm_cwdr): added call-with-dynamic-root (see scm.texi).
227
228Sat Jan 14 23:35:21 1995  Tom Lord  (lord@x1.cygnus.com)
229
230	* repl.c, subr.c: re-arrangement, commenting
231	  of source in preparation for pulling repls apart
232	  for libguile.
233
234Wed Jan 11 14:45:17 1995  Aubrey Jaffer  (jaffer@jacal)
235
236	* scl.c (num2ulong): checks for bignum sign and magnitude added.
237
238	* subr.c (logand logior logxor lognot): lognot restriction to
239	INUMs removed.  Logand, logior, and logxor now will work for up to
240	32 bit signed numbers.
241
242Tue Jan 10 13:19:52 1995  Aubrey Jaffer  (jaffer@jacal)
243
244	* repl.c (def_err_response): Circuitous call to quit() replaced
245	with exit(EXIT_FAILURE);
246	(everr): Now calls def_err_response() in interrupt frame if
247	errjmp_bad or there are dynwinds to do.  This prevents silent
248	failure in batch mode.
249
250
251Mon Jan  9 00:12:14 1995  Aubrey Jaffer  (jaffer@jacal)
252
253	* repl.c (handle_it): Now discards possibly used top freelist cell
254	for GC safety.  Also now just punts if errjmp_bad.
255
256	* scm.texi: converted from MANUAL.  GUILE documentation merged in.
257
258Sat Jan  7 13:51:04 1995  Miles Bader  (miles@eskimo.com)
259
260	* mrequire.scm: New file: Wrapper for slib require/provide that
261	makes it modular (that is, each slib package is loaded into its
262	own module, and sees only other modules that it requires).
263
264	* defmod.scm: Allow use-interface in the default module.
265
266	* libguile.scm: Put symbols common to both guile and scm
267	interfaces into the internal interface `EXTRA' (which is included
268	by both).  Other random shuffling, mostly to make slib happy.
269
270	* modops.scm (extend-interface, export-interface, export): Add
271	another operation type, #f, which turns off automatic exporting of
272	the current source interface when finishing up with it.  This is
273	used by export-interface to prevent trying to export all symbols.
274
275	* modops.scm (import): No longer signal an error when trying to
276	export a whole module, as we want to do this sometimes.
277
278	* Ginit.scm: No longer try to load require.scm, or depend on it;
279	In the case of getopt, we just load it manually.  Also make
280	defmacro module-safe.
281
282Sat Jan  7 01:54:11 1995  Tom Lord  <lord@x1.cygnus.com>
283
284	* sys.c (scm_intern_obarray_soft): Reserve room for symbol slots.
285
286	* sys.c (scm_makstr, scm_makfromstr): added an extra parameter SLOTS.
287	The parameter means:
288		0: same as the old behavior
289		1: not useful
290		> 1: allocate SLOTS - 1 extra slots in the string storage.
291
292	The base address of SLOTS, an array of SCM, is at SLOTS(obj).
293	This is for symbol slots, and later for procedure slots.
294	If you use this in the constructor for your new type (usually
295	done by creating a string and then invoking SETLENGTH to change
296	its type), you are responsible for making sure slot contents
297	are properly gc'ed.
298
299	Callers of these were fixed as well.
300
301Tue Jan  3 14:30:34 1995  Miles Bader  (miles@eskimo.com)
302
303	* modops.scm, extlibs.scm, libguile.scm, defmod.scm: New files:
304	    These implement the user-level module system.
305
306	* sys.c (scm_sym2vcell): Add another argument: definedp, which is
307	    passed as additional argument to the lookup-thunk (if any).
308	    If this argument is BOOL_T, this lookup is for a define (which
309	    has somewhat different semantics for modules); otherwise it
310	    should be satisfied with an existing variable.  If the thunk
311	    returns BOOL_F (meaning there was no such variable), sym2vcell
312	    returns BOOL_F as well.
313	* eval.c (scm_lookupcar, scm_m_define): Use the new sym2vcell param.
314	* variable.c (scm_builtin_var): Use the new sym2vcell param.
315
316	* eval.c (scm_top_level_env): New function: return an environment
317	    using the given top-level-lookup thunk.
318	* eval.c (scm_eval2): Use scm_top_level_env.
319	* eval.c (scm_eval): Use an env with a top-level lookup thunk from
320	    scm_top_level_lookup_thunk_var (aka *top-level-lookup-thunk*).
321	* eval.c (scm_neval): New function: just like scm_eval, but may
322	    destroy its argument.  Known in scheme as eval!.
323
324	* repl.c (scm_repl, scm_tryload, lreadr): Use scm_neval, not eval_3.
325
326	* Ginit.scm (make-module): Use the new definition of top-level thunks.
327	* Ginit.scm (set-current-module): Set *top-level-lookup-thunk* too.
328	* Ginit.scm: Trash all the repl stuff; we just use the C repl now.
329	    Load the user module system.
330
331	* Makefile.in: Install the user-module implementation files.
332
333Mon Jan  2 16:27:25 1995  Miles Bader  (miles@eskimo.com)
334
335	* Ginit.scm (repl:repl): Have the guile repl redefine try-load
336	   instead of load, as this is the SCM primitive.
337	(module-for-each): Write module-for-each.
338	(module-search): Make this recurse into each module use-list
339	   entry, as per the low-level module spec.
340	(define-macro): Make this function usable by modules that don't
341	   have access to the internals of the guile module.
342
343Sun Jan  1 22:30:25 1995  Tom Lord  <lord@x1.cygnus.com>
344
345	* repl.c (scm_iprin1), subr.c (scm_lock_vector, scm_unlock_vector,
346	scm_lvector_ref, scm_lvector_set):
347
348	Added locked vectors.  See N
349
350Sat Dec 31 15:45:22 1994  Miles Bader <miles@eskimo.com>
351
352	* Ginit.scm:
353	Add define-macro, delq!.
354
355	Add a module print-function, and some new name fields
356	to the module that the modops code uses to make modules
357	print nicely (e.g., #<interface guile/module 7a89c>)
358
359
360	* eval.c(ceval): Here's a patch that makes closures & subrs
361	self-evaluating.
362
363
364Wed Dec 28 00:31:22 1994  Tom Lord  <lord@cygnus.com>
365
366	* scm.c (raise): use kill not raise, since it is more portable.
367
368Wed Dec 21 05:18:47 1994  Tom Lord  <lord@x1.cygnus.com>
369
370	* eval.c (scm_eval2): Two argument eval.  The
371	second argument is #f or a proc returning a variable.
372
373Fri Dec  9 00:40:26 1994  Tom Lord  <lord@x1.cygnus.com>
374
375	* eval.c (scm_fasl_eval): eval without copying the source form.
376	This is just a temporary hack.
377
378Sun Dec  4 21:50:37 1994  Tom Lord  <lord@x1.cygnus.com>
379
380	* eval.c (scm_ceval): Added special forms LITERAL-VARIABLE-SET!
381	and LITERAL-VARIABLE-REF.  The first argument of each is a
382	variable object (see variable.c).  The second argument
383	of set! is an expression.  They do what you'd expect.
384	-SET! returns UNSPECIFIED.
385
386	Note that one can not read a form which uses literal-variable*
387	correctly because there is no way to read a variable object.
388	These forms exist for the sake of the module system.
389
390Fri Dec  2 19:52:40 1994  Tom Lord  (lord@x1.cygnus.com)
391
392	* subr.c (string->obarray-symbol, intern-symbol, unintern-symbol,
393	          symbol-set!, symbol-binding)
394	  Multiple obarrays.
395
396	* variable.c (scm_make_variable, scm_variable_{ref,set}
397	  Implemented variables.  Variables are anonymous
398	  objects holding one settable value.
399
400Wed Nov 30 04:31:18 1994  Tom Lord  (lord@x1.cygnus.com)
401
402	* *.[ch]: renamed all global identifiers to have the prefix scm_.
403
404	* sys.c (gc_sweep, scm_mark_locations, scm_init_heap):
405
406	   Modified gc to allow objects of any multiple of sizeof(CELLPTR).
407	   In addition, each heap segment gets to specify a freelist (which
408	   may be shared).
409
410	   new function: scm_alloc_obj
411	   new vars: scm_heap_table (replaces hplims)
412	             scm_n_heap_segs (replaces (hpims_ind / 2))
413
414Thu Oct 27 12:57:02 1994  Aubrey Jaffer  (jaffer@jacal)
415
416	From: Jerry D. Hedden <hedden@esdsdf.dnet.ge.com>
417	* ioext.c: conditional code for vms and version (3.6) of Aztec C.
418	* pi.scm ((e digits)): Modified 'bigpi' for slight speed
419	improvement.  Added function to calculate digits of 'e'.
420
421Wed Oct 26 11:22:05 1994  Aubrey Jaffer  (jaffer@jacal)
422
423	From: Gary Houston <ghouston@actrix.gen.nz>
424	* scl.c (round): Now rounds as described in R4RS.
425
426	* test.scm (test-inexact): test cases for round.
427
428Tue Oct 25 00:02:27 1994  Aubrey Jaffer  (jaffer@jacal)
429
430	* sys.c	(grow_throw lthrow dynthrow): now pass arrays, check
431	for adequate growth, and clear out register windows (on sparc).
432
433Mon Oct 24 01:05:34 1994  Aubrey Jaffer  (jaffer@jacal)
434
435	* ioext.c (ttyname fileno): added.
436
437Sat Oct 22 12:12:57 1994  Aubrey Jaffer  (jaffer@jacal)
438
439	* unix.c (symlink readlink lstat): added.
440
441	* scmfig.h repl.c sys.c (IO_EXTENSIONS): flag removed.
442
443	* ioext.c (read-line read-line! file-position, file-set-position
444	reopen-file open-pipe opendir readdir rewinddir closedir chdir
445	umask rename-file isatty? access chmod mkdir rmdir stat utime
446	raise): moved from "repl.c" and "sys.c".
447
448Fri Oct 21 21:19:13 1994  Aubrey Jaffer  (jaffer@jacal)
449
450	From: Radey Shouman <shouman@ccwf.cc.utexas.edu>
451	* unif.c (ra2contig): now has a second parameter to indicate
452	whether copying is necessary or not.  Eliminates gratuitous copy
453	by UNIFORM-ARRAY-READ! when called with a noncontiguous array.
454
455	(array_map): more liberal check on when ARRAY-MAP! can use
456	array-ified asubrs.
457
458Thu Oct 20 18:00:35 1994  Aubrey Jaffer  (jaffer@jacal)
459
460	* sys.c (opendir readdir rewinddir closedir reopen-file): added
461	under IO_EXTENSIONS.
462
463Wed Oct 19 14:18:26 1994  Aubrey Jaffer  (jaffer@jacal)
464
465	* eval.c (badargsp): added under ifndef RECKLESS to check @apply
466	and apply() arg counts.
467
468Tue Oct 18 00:02:10 1994  Aubrey Jaffer  (jaffer@jacal)
469
470	* unix.c (mknod acct nice sync): added.
471
472	* socket.c (socket bind! gethost connect! listen! accept): added.
473
474	* time.c (utime): added under IO_EXTENSIONS.
475
476Mon Oct 17 23:49:06 1994  Aubrey Jaffer  (jaffer@jacal)
477
478	* sys.c (getcwd umask access chmod mkdir rmdir): added
479	under IO_EXTENSIONS.
480
481	* scm.c (l_pause): added if SIGALRM defined.
482	(l_sleep): added if SIGALRM not defined.
483
484	* scl.c (num2ulong): added.  Used in "time.c"
485
486Sun Oct 16 22:41:04 1994  Aubrey Jaffer  (jaffer@jacal)
487
488	* sys.c (access chmod): Posix access added under IO_EXTENSIONS.
489
490Fri Oct 14 09:45:32 1994  Aubrey Jaffer  (jaffer@jacal)
491
492	* posix.c (chown link pipe waitpid, kill, getpw, getgr, get*id,
493	set*id): added.
494
495	* time.c (l_raise l_getpid): added
496	* subr.c (ulong2big):
497	* scl.c (ulong2num): useful routines for system call data
498	conversion moved from "time.c".
499
500Thu Sep 22 14:48:16 1994  Aubrey Jaffer  (jaffer@jacal)
501
502	* subr.c (big2inum): (more accruately) renamed from big2long.
503
504Tue Sep  6 22:22:16 1994  Aubrey Jaffer  (jaffer@jacal)
505
506	From: rshouman@hpcf.cc.utexas.edu (Radey Shouman)
507	Date: Mon, 29 Aug 1994 11:36:46 +0600
508	* unif.c: This is a large patch, but also a bit larger than it
509	appears -- I moved a few function definitions around to eliminate
510	gratuitous forward references.
511
512	* unif.c repl.c (raprin1): Combined print routine for arrays with
513	that for uves.
514
515	* unif.c (UNIFORM-VECTOR-READ! and -WRITE): work with general
516	arrays, by copying when necessary, renamed them to
517	UNIFORM-ARRAY-READ! and -WRITE.
518
519	* unif.c (ARRAY-CONTENTS): Generalized so that it returns a 1-d
520	array even when the stride in the last dimension is greater than
521	one, gave it an optional second argument STRICT, which makes it
522	behave as it did before, returning an array/vector only if the
523	contents are contiguous in memory.
524
525	* unif.c (ARRAY-CONTIGUOUS?) Eliminated. Instead, use
526		(lambda (ra) (array? (array-contents ra #t)))
527
528	* unif.c code.doc (ramapc): unrolls arrays mapping into one loop
529	if possible, to make this quick, changed the format of the array
530	CAR, now uses one bit to indicate that an array is contiguous --
531	this still allows a ridiculous number of dimensions.
532
533	* scm.h (DSUBRF): dsubrs are mapped directly, to allow this I
534	moved the typedef for dsubr and #define for DSUBRF to scm.h
535
536	* unif.c (ARRAY-MAP!) taught something about subrs, now most subrs
537	may be mapped without going through apply(), saving time and
538	reducing consing.  +, -, *, /, =, <, <=, >, and >= are mapped
539	directly as special cases -- for uniform arrays this is nearly as
540	fast as the equivalent C, and doesnt' cons.  I've made sure that
541	+, -, *, and / vectorize on the CRAY, this may be wasted effort
542	but the effort is not great.
543
544	* unif.c (ARRAY-COPY!) now copies many arrays of differing types
545	to each other without going through the aref/aset, e.g. float ->
546	double, double -> complex, integer -> float ...  This should make
547	array type coercions for arithmetic faster.
548
549	* unif.c (TRANSPOSE-ARRAY) Added, which returns a shared array
550	that is the transpose of its first argument.  I think this does
551	what an APL:TRANSPOSE would.
552
553	* unif.c (ENCLOSE-ARRAY) Added, this returns an array that looks
554	like an array of shared arrays, the difference being that the
555	shared arrays are not actually allocated until referenced.
556	Internally, the contents of an enclosed array is another array.
557	The main reason for this is to allow a reasonably efficient
558	implementation of APL:COMPRESS, EXPAND, and INDEXING.  In order to
559	actually make an array of shared arrays, just use ARRAY-COPY!.
560
561	* unif.c (cvref): Created internal version of aref(), cvref() that
562	doesn't do error checking; Thus speeding things up.  Profiling of
563	SCM running array code revealed that aref() was taking a
564	surprising fraction of the CPU time
565
566	TO DO:
567
568	The mechanism for looking up the vectorized functions is a little
569	kludgy, I was tempted to steal some of the CAR of the subr type to
570	encode an offset into a table of vectorized functions, but this
571	would make it more likely that dynamically loaded subrs lose thier
572	names.
573
574	It is almost possible to write APL:+ and friends now, it is just
575	necessary to figure out the appropriate type of the returned array
576	and allocate it, and to promote scalar arguments to arrays (with
577	increments 0).
578
579	This doesn't include vectorized REAL-PART, IMAG-PART,
580	MAKE-RECTANGULAR ...
581
582	I think some C support for APL:REDUCE and maybe INNER-PRODUCT will
583	be needed for a reasonably fast APL.scm
584
585	unif.c is getting quite big, time to split it up?
586
587
588Mon Sep  5 22:44:50 1994  Aubrey Jaffer  (jaffer@jacal)
589
590	* Init.scm repl.c (quit): code was not using return values
591	correctly.
592
593Sun Aug 21 01:02:48 1994  Aubrey Jaffer  (jaffer@jacal)
594
595	* record.c (init_record): remaining record functions moved into C
596	code.
597	* eval.c sys.c: compiled closures now conditional under CCLO.
598
599Sat Aug 20 23:03:36 1994  Aubrey Jaffer  (jaffer@jacal)
600
601	From: rshouman@chpc.utexas.edu (Radey Shouman)
602	* eval.c (ceval apply):
603	* sys.c (makcclo): tc7_cclo, compiled closures, now supported.
604	* record.c (init_record): C implementation of slib "Record"s using
605	CCLO.
606	* scm.h subr.c (QUOTIENT MODULO REMAINDER): fixes a bug for
607	bignums with DIGSTOOBIG defined.  Also, changed the return type of
608	longdigs() to void, since that value is no longer used anywhere.
609
610Mon Aug  1 11:16:56 1994  Aubrey Jaffer  (jaffer@jacal)
611
612	* time.c (curtime): replaces get-universal-time.  Other time
613	functions removed (SLIB support more complete).
614
615	* subr.c (divbigbig): fixed (modulo -2177452800 86400) => 86400
616	bug.  Also added to test.scm.
617
618Sun Jul 24 16:09:48 1994  Aubrey Jaffer  (jaffer@jacal)
619
620	* dynl.c (init_dynl): *feature* dld:dyncm added for dynamically
621	(ldso) linked libc.sa and libm.sa (under Linux).
622
623Fri Jul 15 12:53:48 1994  Aubrey Jaffer  (jaffer@jacal)
624
625	* unif.c (array-fill!): bug with increment in default clause fixed.
626	Fast string support added.
627
628	From: rshouman@chpc.utexas.edu (Radey Shouman)
629	* unif.c (array-fill! array-for-each): bug fixes.
630
631Sun Jul 10 01:51:00 1994  Aubrey Jaffer  (jaffer@jacal)
632
633	* scm.c (run_scm init_scm): "-a" heap allocation argument supported.
634
635	* Makefile (proto.h): removed.
636
637	From: Drew Whitehouse, Drew.Whitehouse@anu.edu.au
638	* scm.h (P): Conditionalized ANSI'fied version of the scm.h.
639
640Sun Jun 26 12:41:59 1994  Aubrey Jaffer  (jaffer@jacal)
641
642	* Link.scm (usr:lib lib): Now checks for shared libraries
643	(lib*.sa) first.
644
645Thu Jun 23 19:45:53 1994  Aubrey Jaffer  (jaffer@jacal)
646
647	* scl.c scm.c: Support for compilation under Turbo C++ for Windows
648	 (system and exec disabled) added under C flag "_Windows".
649
650Sat Jun 18 11:47:17 1994  Aubrey Jaffer  (jaffer@jacal)
651
652	* test.scm ((test-delay)): added.
653	((test-bignum)): added and called automatically if bignums
654	suported.  test-inexact called automatically if inexacts
655	supported.
656
657Mon Jun  6 09:26:35 1994  Aubrey Jaffer  (jaffer@jacal)
658
659	* Init.scm (trace untrace): moved to SLIB/trace.scm.
660
661Thu May 12 00:01:20 1994  Aubrey Jaffer  (jaffer@jacal)
662
663	* Link.scm: Autoload for hobbit now does (provide 'hobbit).  This
664	allows hobbit to know if it is self compiling (although reloads of
665	hobbit will not be quite right).
666	((compile file . args)): removed.
667
668	* makefile.unix (proto.h): removed.
669
670	* Transcen.scm: compile-allnumbers HOBBIT declaration added.
671	Init.scm will now load compiled Transcen.o.
672
673	* scm.h: HOBBIT section removed.
674
675	* README (SLIB): Now strongly recommends getting SLIB and lists
676	ftp sites.
677
678	* eval.c (m_delay): fixed bug with multiple sets of (delay x).
679
680Thu Apr 28 22:41:41 1994  Aubrey Jaffer  (jaffer@jacal)
681
682	* unif.c (makflo): shortcut for single precision float arrays
683	added.
684
685Fri Apr 15 00:54:14 1994  Aubrey Jaffer  (jaffer@jacal)
686
687	From: rshouman@chpc.utexas.edu (Radey Shouman)
688	* unif.c: no longer uses pointer comparisons in loops.  Should
689	fix problems on 8086 processors.
690	* unif.c (make_sh_array): Fixes MAKE-SHARED-ARRAY so that shared
691	arrays with only 1 element in some direction may still be
692	ARRAY-CONTIGUOUS?
693	(uve_write uve_read): Fixes bug in UNIFORM-ARRAY-WRITE,
694	UNIFORM-ARRAY_READ!.  Now they do the right thing for shared
695	bit-arrays not starting at the beginning of their contents vector.
696	(array_contents ARRAY-SIMPLE?): ARRAY-CONTENTS may now return a
697	shared, contiguous, 1-d array, instead of a vector, if the array
698	cannot access all of the contents vector.  ARRAY-SIMPLE? removed.
699	(array-fill!): a replacement and generalization of
700	UNIFORM-VECTOR-FILL!.
701	(raequal): Combines with uve_equal(), providing also ARRAY-EQUAL?
702	ARRAY-EQUAL? is equivalent to EQUAL? if all its arguments are
703	uniform vectors or if all are arrays.  It differs from EQUAL? in
704	that a shared, 1-d array may be ARRAY-EQUAL? to a uniform vector.
705	  for example
706	  (define sh (make-shared-array '#(0 1 2 3) list '(0 1))) ==> #1(0 1)
707	  (equal? '#(0 1) sh)       ==> #F
708	  (array-equal? '#(0 1) sh) ==> #T
709	(list2ura): Combines list2uve() and list2ura().
710
711Thu Apr 14 23:26:54 1994  Aubrey Jaffer  (jaffer@jacal)
712
713	* time.c (LACK_FTIME LACK_TIMES): defined for vms.
714
715Mon Apr  4 10:39:47 1994  Aubrey Jaffer  (jaffer@jacal)
716
717	* eval.c (copytree): now copies vectors as well.
718
719	* repl.c (quit): now accepts #t and #f values.
720
721Sun Apr  3 23:30:14 1994  Aubrey Jaffer  (jaffer@jacal)
722
723	* repl.c (repl): call to my_time() moved to not include READ time.
724
725	* time.c (mytime): now prefers to use times() over clock().
726	Compilation constant CLOCKS_PER_SEC doesn't scale when a binary is
727	moved between machines.
728
729Thu Mar 31 16:22:53 1994  Aubrey Jaffer  (jaffer@jacal)
730
731	* Init.scm (*SCM-VERSION*): added.
732
733	* Makefile (intro): Added message for those who just make.
734	Cleaned up and reorganized Makefile.
735
736	* patchlvl.h (PATCHLEVEL): removed.  Whole version now just in
737	SCMVERSION.
738
739Wed Mar 23 00:09:51 1994  Aubrey Jaffer  (jaffer@jacal)
740
741	From: rshouman@chpc.utexas.edu (Radey Shouman)
742	* repl.c (iprin1): Characters higher than 127 print as
743	#\<octal-number>.
744
745	* Init.scm ((read:array digit port)): added.  Most # syntax
746	handled in read:sharp.
747
748	* unif.c (clist2uve clist2array): removed.
749
750Fri Mar 11 15:10:53 1994  Radey Shouman  (rshouman@chpc.utexas.edu)
751
752	* sys.c (sfgetc): can now return EOF.
753
754Mon Mar  7 17:07:26 1994  Aubrey Jaffer  (jaffer@jacal)
755
756	* patchlvl.h (SCMVERSION): 4e0
757
758	* scmfig.h: was config.h (too generic).
759
760	* scm.c (main run_scm) repl.c (repl_driver init_init): now take
761	initpath argument.  IMPLINIT now used in scm.c
762
763Sun Feb 27 00:27:45 1994  Aubrey Jaffer  (jaffer@jacal)
764
765	* eval.c (ceval m_cont IM_CONT): @call-with-current-continuation
766	special form for tail recursive call-with-current-continuation
767	added.  call_cc() routine removed.
768
769Fri Feb 25 01:55:06 1994  Aubrey Jaffer  (jaffer@jacal)
770
771	* eval.c (ceval m_apply IM_APPLY apply:nconc-to-last): @apply
772	special form for tail-recursive apply added.  ISYMs reactivated.
773
774Mon Feb 21 14:42:12 1994  Aubrey Jaffer  (jaffer@jacal)
775
776	* crs.c (nodelay): added.  In NODELAY mode WGETCH returns
777	eof-object when no input is ready.
778
779	* Init.scm ((read:sharp c port)): defined to handle #', #+, and
780	#-.
781
782	* repl.c (lreadr): Now calls out to Scheme function read:sharp
783	when encountering unknown #<char>.
784
785Tue Feb 15 01:08:10 1994  Aubrey Jaffer  (jaffer@jacal)
786
787	From: Shiro KAWAI <kawai@sail.t.u-tokyo.ac.jp>
788	* eval.c (ceval apply): under flag CAUTIOUS, checks for applying
789	to non-lists added.
790
791Sat Feb 12 21:23:01 1994  Aubrey Jaffer  (jaffer@jacal)
792
793	* sys.c (sym2vcell intern sysintern): now use internal strhash().
794
795	* scl.c sys.c (hash hashv hashq strhash()): added.
796
797Sat Feb  5 01:24:35 1994  Aubrey Jaffer  (jaffer@jacal)
798
799	* scm.h (ARRAY_NDIM): #define ARRAY_NDIM NUMDIGS changed to
800	#define ARRAY_NDIM(x) NUMDIGS(x) to correct problem on Next.
801
802Fri Feb  4 23:15:21 1994  Aubrey Jaffer  (jaffer@jacal)
803
804	From: rshouman@chpc.utexas.edu (Radey Shouman)
805	* unif.c: 0d arrays added.  Serial array mapping functions and
806	ARRAY-SIMPLE? added.
807
808Thu Feb  3 12:42:18 1994  Aubrey Jaffer  (jaffer@jacal)
809
810	* scm.h (LENGTH): now does unsigned shift.
811
812Wed Feb  2 23:40:25 1994  Aubrey Jaffer  (jaffer@jacal)
813
814	* Link.scm (*catalog*): catalog entries for db (wb),
815	turtle-graphics, curses, regex, rev2-procedures, and
816	rev3-procedures added.
817
818Sun Jan 30 19:25:24 1994  Aubrey Jaffer  (jaffer@jacal)
819
820	From: rshouman@chpc.utexas.edu (Radey Shouman)
821	* sys.c eval.c setjump.h setjump.s (longjump setjump): full
822	continuations now work on Cray YMP.
823
824Thu Jan 27 01:09:13 1994  Aubrey Jaffer  (jaffer@jacal)
825
826	* dynl.c MANUAL Init.scm (init_dynl): dynamic linking modified for
827	modern linux.
828
829Sat Jan 22 17:58:55 1994  Aubrey Jaffer  (jaffer@jacal)
830
831	From: ucs3028@aberdeen.ac.uk (Al Slater)
832	* makefile.acorn repl.c (set_erase): Port to acorn archimedes.
833	This uses Huw Rogers free unix function call library for the
834	archimedes - this is very very widely available and should pose no
835	problem to anyone trying to find it - its on every archimedes ftp
836	site.
837
838	From: hugh@cosc.canterbury.ac.nz (Hugh Emberson)
839	* dynl.c Link.scm: Dynamic Linking with SunOS.
840
841Thu Jan  6 22:12:51 1994    (jaffer at jacal)
842
843	* sys.c (gc_mark mark_locations): now externally callable.
844
845Sun Jan  2 19:32:59 1994    (jaffer at jacal)
846
847	From: fred@sce.carleton.ca (Fred J Kaudel)
848	* unif.c (ra_matchp ramapc): patch to unif.c avoids two problems
849	(K&R C does not allow initialization of "automatic" arrays or
850	structures).  This was not use in 4d2 or previously, and the
851	following patch ensures that such initialization only occurs for
852	ANSI C compilers (Note that K&R C compilers need to explicitly
853	assign the values).
854
855Sat Dec 18 23:55:30 1993    (jaffer at jacal)
856
857	* scm.1 scm.doc (FEATURES): improved and updated manual page.
858
859	* repl.c (BRACKETS_AS_PARENS): controls whether [ and ] are read
860	as ( and ) in forms.
861
862Wed Dec  8 23:13:09 1993    (jaffer at jacal)
863
864	From: rshouman@chpc.utexas.edu (Radey Shouman)
865	* unif.c: More array fixes and functions.
866
867Tue Dec  7 00:44:23 1993    (jaffer at jacal)
868
869	* dynl.c (dld_stub): removed since dld is working better on Linux.
870
871Wed Dec  1 15:27:44 1993    (jaffer at jacal)
872
873	* scm.h (SNAME): explicit cast added to get rid of compiler
874	warnings.
875
876	From: bh@anarres.CS.Berkeley.EDU (Brian Harvey)
877	* repl.c (repl) output newlines when more than one form on a line
878	for Borland C.
879
880	From: rshouman@chpc.utexas.edu (Radey Shouman)
881	* unif.c: More array fixes and documentation.
882
883Mon Nov 29 01:06:21 1993  Aubrey Jaffer  (jaffer at montreux)
884
885	From: rshouman@chpc.utexas.edu (Radey Shouman)
886	* unif.c: More array functions (need documentation).
887
888Sun Nov 28 01:34:22 1993    (jaffer at jacal)
889
890	* scm.h (SNAME): returns a pointer to nullstr if offset is 0.
891
892	* subr.c eval.c (make_synt make_subr): now check that offset from
893	heap_org hack works for each subr.  If not, 0 is used.
894
895	* Link.scm (compile-file): compiles SCM file to object suitable
896	for LOAD.
897
898	* Link.scm: initialization file created with Scheme code for
899	compilation and	linking.  LOAD now automatically loads SCM object
900	files.
901
902	* dynl.c Init.scm: dynamic linking now works under DLD on Linux.
903	Wb, crs, and sc2 can by dynamically loaded.
904
905Thu Nov 25 22:58:36 1993    (jaffer at jacal)
906
907	* sys.c (ltmpnam): return value of mktemp call tested in accord
908	with HP-UX documentation (returns "" on error).
909
910	* config.h (SYSCALLDEF): removed.  Macro I/O calls (getc, putc)
911	replaced with function versions.  Control-C interrupts should work
912	while pending input on all systems again.
913
914Tue Nov 23 01:18:35 1993    (jaffer at jacal)
915
916	From: dorai@cs.rice.edu (Dorai Sitaram)
917	* repl.c sys.c time.c config.h: MWC (Mark Williams C) support.
918
919Sun Nov  7 10:58:53 1993    (jaffer at jacal)
920
921	From: "Greg Wilson" <Greg.Wilson@cs.anu.edu.au>
922	* scm.c config.h (TICKS ticks tick-interrupt): if TICKS is
923	#defined, ticks and tick-interrupt work like alarm and
924	alarm-interrupt, but with units of evaluation rather than units of
925	time.
926
927Mon Nov  1 18:47:04 1993    (jaffer at jacal)
928
929	* unif.c (uniform-vector-ref => array-ref): integrated arrays
930	with uniform-vectors.  Strings, vectors, and uniform-vectors
931	now just special case of arrays (to the user).
932
933Fri Oct 29 01:26:53 1993    (jaffer at jacal)
934
935	* unif.c (rasmob tc16_array): arrays are now a smob.
936
937Thu Oct 28 01:21:43 1993    (jaffer at jacal)
938
939	* sys.c repl.c (igc gc_start): GC message gives reason for GC.
940
941Wed Oct 27 10:03:00 1993    (jaffer at jacal)
942
943	* config.h (SICP): flag makes (eq? '() '#f) and changes other
944	things in order to make SCM more compatible with Abelson and
945	Sussman's book.
946
947	* sys.c (gc_mark gc_sweep mark_locations): GC bug fixed.  GC from
948	must_malloc would collect the tc_free_cell already allocated.
949
950	* sys.c setjump.h (must_malloc must_realloc INIT_MALLOC_LIMIT):
951	modified to call igc when malloc usage exceeds mtrigger (idea from
952	hugh@ear.MIT.EDU, Hugh Secker-Walker).
953
954	From: Jerry D. Hedden
955	* pi.scm (bigpi): bignum version of pi calculator.
956
957Tue Oct 26 18:41:33 1993    (jaffer at jacal)
958
959	* repl.c (room): added procedure for printing storage statistics.
960
961Sun Oct 24 22:40:15 1993    (jaffer at jacal)
962
963	* config.h eval.c scl.c (STACK_LIMIT CHECK_STACK): added.
964	* sys.c (stack_check): added.
965
966Sat Oct 23 00:08:30 1993    (jaffer at jacal)
967
968	* sys.c (mallocated): added to keep track of non-heap usage.
969
970	* sys.c (igc): fixed interrupt vulnerabilities around gc.
971
972Sun Oct 17 13:06:11 1993    (jaffer at jacal)
973
974	* repl.c (exit_report): added.  Prints cumulative times if
975	(verbose > 2).  Called from free_storage().
976
977	* repl.c (repl): fixed CRDYP(stdin) BUG!  Transcripts should work
978	again.  Other annoying CR behaviour fixed.
979
980	* time.c (init_time your_base my_base): now not reset when
981	restarting so timing numbers for restarting are correct.
982
983	* scm.h (sys_protects): rearranged.
984	* sys.c (tmp_errp): now a statically allocated global variable,
985	used by init_storage and free_storage.
986	* scm.h sys.c (tc16_fport, tc16_pupe, tc16_strport, tc16_sfport):
987	now #defines (which must correspond to order of newptob calls).
988
989Sun Oct  3 20:38:09 1993  Bryan O'Sullivan  (bos@scrg.cs.tcd.ie)
990
991	* README.unix configure configure.in scmconfig.h.in
992	mkinstalldirs Makefile.in acconfig-1.5.h: SCM can now be built
993	using GNU autoconf.  Put in scmconfig4c5.tar.gz
994
995Sun Oct  3 00:33:57 1993    (jaffer at jacal)
996
997	* MANUAL (bit-count bit-position bit-set*! bit-count*
998	bit-invert!): (from unif.c) are now documented.
999
1000	* sys.c (fixconfig): added 3rd argument to distinguish between
1001	setjump.h and config.h.
1002	* setjump.h config.h: moved IN_SYS stuff from config.h to
1003	setjump.h.
1004	* config.h (HAVE_CONFIG_H): User config preferences now taken
1005	from "scmconfig.h" if HAVE_CONFIG_H is defined.
1006	* config.h (EXIT_SUCCESS EXIT_FAILURE): fixed for VMS.
1007
1008Sat Oct  2 00:34:38 1993    (jaffer at jacal)
1009
1010	From: rshouman@hermes.chpc.utexas.edu (Radey Shouman)
1011	* unif.c repl.c: added read and write syntax for uniform vectors.
1012	* unif.c (uniform-vector->list list->uniform-vector): created.
1013	* time.c (time_in_msec): conditionalized for wide range of CLKTCK
1014	values.
1015	* config.h (BITSPERDIG POINTERS_MUNGED)
1016	* scm.h (PTR2SCM SCM2PTR)
1017	* scl.c (DIGSTOOBIG)
1018	    Ported SCM to Unicos, the Cray operating system.
1019
1020	From: schwab@ls5.informatik.uni-dortmund.de (Andreas Schwab)
1021	* scl.c (dblprec): set from DBL_DIG, if available.
1022
1023Fri Oct  1 21:43:58 1993    (jaffer at jacal)
1024
1025	* unif.c (bit-position): now returns #f when item is not found.
1026	Now returns #f when 3rd argument is length of 2nd argument
1027	(instead of error).
1028
1029Fri Sep 24 14:30:47 1993    (jaffer at jacal)
1030
1031	* sys.c (free_storage): fixed bug where growth_mon was being
1032	called after the port cell had been freed.  gc_end now also
1033	called at end.
1034
1035Tue Sep 21 23:46:05 1993    (jaffer at jacal)
1036
1037	* Init.scm scm.c: Restored old command line behaviour (loading all
1038	command line arguments) for case when first command line argument
1039	does not have leading `-'.
1040
1041	* sys.c (mode_bits): abstracted from open_file and mksfpt.
1042
1043	* scm.h (*FPORTP): series of predicates added for operations which
1044	only work on some fports.
1045
1046	* sys.c crs.c: ungetc removed from ptobfuns structure and
1047	soft-ports.
1048
1049Mon Sep 20 23:53:25 1993    (jaffer at jacal)
1050
1051	* sys.c (make-soft-port): Soft-ports added, allowing Scheme
1052	i/o extensions.
1053
1054Sun Sep 19 22:55:28 1993    (jaffer at jacal)
1055
1056	* 4c4: released.
1057	* Init.scm scm.c scm.1: command line proccessing totally
1058	rewritten.  Thanks to Scott Schwartz
1059	<schwartz@groucho.cs.psu.edu> for help with this.
1060
1061Mon Sep 13 21:45:52 1993    (jaffer at jacal)
1062
1063	From: pegelow@moorea.uni-muenster.de (Ulrich Pegelow)
1064	* scl.c (add1): finally a way to fool optimizing gcc to not use
1065	extra precision registers.
1066
1067Sun Sep 12 18:46:02 1993    (jaffer at jacal)
1068
1069	* sys.c (pwrite): added to stubbify fwrite to fix bug on VMS.
1070	* config.h: moved flags to top per suggestions from Bryan
1071	O'Sullivan (bos@scrg.cs.tcd.ie).
1072
1073Fri Sep 10 11:42:27 1993    (jaffer at jacal)
1074
1075	* repl.c config.h (EXIT_SUCCESS EXIT_ERROR): added.  Values
1076	returned by SCM program.
1077
1078Thu Sep  9 13:09:28 1993  Aubrey Jaffer  (jaffer at camelot)
1079
1080	From: Vincent Manis <manis@cs.ubc.ca>
1081	* sys.c (stwrite init_types add_final): fixed declarations.
1082
1083Mon Sep	 6 16:10:50 1993  Bryan O'Sullivan  (bos@scrg.cs.tcd.ie)
1084
1085	* README: changed the build and installation instructions to bring
1086	them up to date with reality.
1087
1088Sun Sep	 5 23:08:54 1993  Bryan O'Sullivan  (bos@scrg.cs.tcd.ie)
1089
1090	* Wrote autoconf script to support GNU Autoconf configuration
1091	to make scm easier to build.
1092
1093	* Created Makefile.in; a radical overhaul of Makefile to remove
1094	some of the brokenness and allow cross-compilation and use of
1095	autoconf.
1096
1097Sat Sep  4 23:00:49 1993    (jaffer at jacal)
1098
1099	* 4c3: released.
1100	* sys.c (grow_throw): removed use of memset for SPARC machines.
1101
1102Sat Sep  4 18:09:59 1993  Bryan O'Sullivan  (bos@scrg.cs.tcd.ie)
1103
1104	* time.c: added SVR4 to the list of LACK_FTIME systems, because
1105	most all SVR4 BSD-compatibility stuff is a total mess.
1106
1107	* config.h: changed definition of STDC_HEADERS so it does the
1108	Right Thing on systems which run GCC but don't have header files
1109	with prototypes.
1110
1111	* makefile.unix: added a note for SVR4 users.
1112
1113Tue Aug 31 18:30:53 1993    (jaffer at jacal)
1114
1115	* eval.c (m_define): if verbose >= 5 warnings are issued for all
1116	top-level redefinitions.
1117
1118Mon Aug 30 16:24:26 1993    (jaffer at jacal)
1119
1120	* scm.c sys.c (finals num_finals add_final): Finalization calls
1121	now dynamically, incrementally, defined.
1122
1123Thu Aug 26 12:38:27 1993  Aubrey Jaffer  (jaffer at camelot)
1124
1125	* 4c2: fixed declaration problems in PTOB with K&R C.
1126
1127Sun Aug 22 23:02:51 1993    (jaffer at jacal)
1128
1129	* split.scm: code which directs input, output, and diagnostic
1130	output to separate windows (using curses functions defined in
1131	crs.c).
1132
1133Sat Aug 21 16:46:33 1993    (jaffer at jacal)
1134
1135	* Init.scm (output-port-height): added if not already defined.
1136	output-port-width also made conditional.
1137
1138	* sys.c (tc16_strport): string ports created.
1139
1140Thu Aug 19 11:37:07 1993    (jaffer at jacal)
1141
1142	* sys.c (init_types): freecell, floats, and bignums now have SMOB
1143	entries.  gc_sweep and gc_mark still inline codes for bignums and
1144	floats.
1145
1146	* sys.c repl.c code.doc: Ports now an extensible type.
1147	Indirection suggested by Shen <sls@aero.org>.
1148
1149Mon Aug 16 01:20:26 1993    (jaffer at jacal)
1150
1151	* crs.c: curses support created.
1152
1153Sun Aug 15 16:56:36 1993    (jaffer at jacal)
1154
1155	* rgx.c sys.c (mark0 equal0): mark0 moved to sys.c.  equal0
1156	created.
1157
1158Fri Jun 25 01:16:31 1993    (jaffer at jacal)
1159
1160	* QUICKREF: added.
1161
1162Tue Jun 22 00:40:58 1993  Aubrey Jaffer  (jaffer at camelot)
1163
1164	* repl.c (ungetted): replaced with CRDYP(stdin) to fix recently
1165	introduced transcript bug.
1166
1167Sun Jun 20 22:29:32 1993  Aubrey Jaffer  (jaffer at camelot)
1168
1169	* config.h (NOSETBUF): setbuf() now conditionalized on NOSETBUF.
1170
1171	* Init.scm (defmacro): now copies the results of macro expansion
1172	in order to avoid capture of memoized code by macros like:
1173	(defmacro f (x) `(list '= ',x ,x)).
1174
1175Wed Jun  2 23:32:05 1993  Aubrey Jaffer  (jaffer at caddr)
1176
1177	* eval.c (map for-each): now check that arguments are lists.
1178
1179Mon May 31 23:05:19 1993  Aubrey Jaffer  (jaffer at camelot)
1180
1181	* Init.scm (trace untrace): now defmacros which handle (trace) and
1182	(untrace) as in Common Lisp.
1183
1184Wed May  5 01:17:37 1993  Aubrey Jaffer  (jaffer at camelot)
1185
1186	From: Roland Orre  <orre@sans.kth.se>
1187	* all: internal output functions now take SCM ports instead of
1188	FILE* in preparation for string-ports.
1189
1190Tue May  4 17:49:49 1993  Aubrey Jaffer  (jaffer at wbtree)
1191
1192	* makefile.unix (escm.a): created scm "ar" file and used for
1193	dbscm.
1194
1195Sun Apr 25 21:35:46 1993  Aubrey Jaffer  (jaffer at camelot)
1196
1197	* sys.c (free_storage): i++ moved out of CELL_* in response to:
1198From: john kozak <jkozak@cix.compulink.co.uk>
1199Minor bug report: around line 10 of routine "free_storage" you do calls
1200to CELL_UP and CELL_DOWN with arguments having side-effects: with the
1201PROT386switch defined in config.h these args are evaluated twice...
1202
1203Sun Apr 11 22:56:19 1993  Aubrey Jaffer  (jaffer at camelot)
1204
1205	* eval.c (IM_DEFINE): added.  Internal defines are no longer
1206	turned into LETRECS.
1207
1208Wed Apr  7 13:32:53 1993  Aubrey Jaffer  (jaffer at camelot)
1209
1210	Jerry D. Hedden <HEDDEN@ESDSDF.dnet.ge.com>
1211	* scl.c (idbl2str): fix for bug introduced by removing +'s.
1212
1213Tue Mar 23 15:37:12 1993  Aubrey Jaffer  (jaffer at camelot)
1214
1215	* scl.c (idbl2str): now prints positivie infinity as +#.# again
1216	(instead of #.#).
1217
1218Mon Mar 22 01:38:02 1993  Aubrey Jaffer  (jaffer at montreux)
1219
1220	* subr.c (quotient): renamed to lquotient to avoid conflict with
1221	HP-UX 9.01.
1222
1223Fri Mar 19 01:21:08 1993  Aubrey Jaffer  (jaffer at camelot)
1224
1225	* sys.c repl.c: #ifndef THINK_C #include <sys/ioctl.h>
1226	* time.c (lstat): #ifndef THINK_C. ThinkC 5.0.1 lacked.
1227
1228Mon Mar 15 23:35:32 1993  Aubrey Jaffer  (jaffer at camelot)
1229
1230	From: jhowland@ariel.cs.trinity.edu (Dr. John E. Howland)
1231	* scl.c (idbl2str iflo2str big2str): leading + eliminated on
1232	output and number->string.
1233
1234Wed Mar 10 00:58:32 1993  Aubrey Jaffer  (jaffer at camelot)
1235
1236	* repl.c scm.h (CRDYP CLRDY CGETUN CUNGET): cleaned up ungetc hack.
1237
1238	* scm.c repl.c (exec): added.
1239
1240Sun Mar  7 22:44:23 1993  Aubrey Jaffer  (jaffer at camelot)
1241
1242	* repl.c (def_err_response): now will print errobjs if they are
1243	immediates, symbols, ports, procedures, or numbers.
1244
1245Fri Mar  5 23:15:54 1993  Aubrey Jaffer  (jaffer at camelot)
1246
1247	* repl.c (repl): now gives repl_report() for initialization.
1248
1249	* Init.scm (defvar): added.
1250
1251	From: Roland Orre  <orre@sans.kth.se>
1252	* repl.c (lungetc): no longer calls ungetc.  Fixed problem that
1253	many systems had with ungetc on unbuffered ports (setbuf(0)).
1254
1255Thu Mar  4 13:51:12 1993  Aubrey Jaffer  (jaffer at camelot)
1256
1257	From: Stephen Schissler
1258	* makefile.wcc: Watcom support added.
1259
1260Wed Mar  3 23:11:08 1993  Aubrey Jaffer  (jaffer at montreux)
1261
1262	* sys.c scm.h (dynwinds): made a sys_protect.
1263
1264Mon Feb 15 11:30:50 1993  Aubrey Jaffer  (jaffer at camelot)
1265
1266	* Init.scm (defmacro macroexpand macroexpand1 macro? gensym):
1267	added.
1268
1269	* repl.c (stdin): setbuf not done for __TURBOC__==1.
1270
1271	* makefile.bor: now has method to build turtegr.exe.
1272
1273	* eval.c (ceval): Memoizing macros now can return any legal Scheme
1274	expression.
1275
1276Sat Feb 13 18:01:13 1993  Aubrey Jaffer  (jaffer at camelot)
1277
1278	* subr.c (mkbig adjbig): now check for bignum size.
1279
1280	* Init.scm: reorganized so site-specific information is at the
1281	head.
1282
1283	* repl.c (errno): changed from set-errno now returns value.
1284
1285	* subr.c (intexpt): now handles bignum exponents.
1286
1287	From: "David J. Fiander" <davidf@golem.waterloo.on.ca>
1288	* time.c makefile.unix subr.c: SCO Unix and XENIX patches.
1289
1290Fri Feb 12 22:18:57 1993  Aubrey Jaffer  (jaffer at camelot)
1291
1292	* Init.scm (WITH-INPUT-FROM-PORT WITH-OUTPUT-TO-PORT
1293	WITH-ERROR-TO-PORT): added.
1294
1295	* subr.c (ash): fixed for case (ash 2 40) where INUM arguments
1296	make a bignum result.
1297
1298	* repl.c (lreadr): \ followed by a newline in a string is ignored.
1299
1300	From: Scott Schwartz <schwartz@groucho.cs.psu.edu>
1301	* repl.c (lreadr): Can now read \0\f\n\r\t\a\v in strings.
1302
1303Thu Feb 11 01:25:50 1993  Aubrey Jaffer  (jaffer at camelot)
1304
1305	* Init.scm (with-input-from-file with-output-to-file
1306	with-error-to-file): now use dynamic-wind.
1307
1308Sun Feb  7 22:51:08 1993  Aubrey Jaffer  (jaffer at camelot)
1309
1310	* eval.c (ceval): fixed bug with non-memoizing macro returning an
1311	IMP.
1312
1313Sat Feb  6 01:22:27 1993  Aubrey Jaffer  (jaffer at camelot)
1314
1315	* (current-error-port with-error-to-file): add.
1316
1317Fri Feb  5 00:51:23 1993  Aubrey Jaffer  (jaffer at camelot)
1318
1319	* time.c (stat): added.
1320
1321	From: rnelson@wsuaix.csc.wsu.edu (roger nelson)
1322	* dmakefile: support for DICE C on Amiga.
1323
1324Thu Feb  4 01:55:30 1993  Aubrey Jaffer  (jaffer at camelot)
1325
1326	* sys.c (open-file) makes unbuffered if isatty.
1327
1328	* repl.c (char-ready?) added.
1329
1330Mon Feb  1 15:24:18 1993  Aubrey Jaffer  (jaffer at camelot)
1331
1332	* subr.c (logor): changed to LOGIOR to be compatible with common
1333	Lisp.
1334
1335	* eval.c (bodycheck): now checks for empty bodies.
1336
1337Sun Jan 31 01:01:11 1993  Aubrey Jaffer  (jaffer at camelot)
1338
1339	* time.c (get-universal-time decode-universal-time): now use
1340	bignums.
1341
1342Tue Jan 26 00:17:06 1993  Aubrey Jaffer  (jaffer at camelot)
1343
1344	* sys.c (mark_locations): now length argument in terms of
1345	STACKITEM.  Does both alignments in one pass.
1346
1347Mon Jan 25 12:13:40 1993  Aubrey Jaffer  (jaffer at camelot)
1348
1349	From: soravi@Athena.MIT.EDU
1350	* makefile.emx: for OS/2
1351
1352Sun Jan 24 18:46:32 1993  Aubrey Jaffer  (jaffer at camelot)
1353
1354	From: stevev@miser.uoregon.edu (Steve VanDevender)
1355	* scl.c (big2str): now faster because it divides by as many 10s as
1356	fit in a BIGDIG.
1357
1358Sat Jan 23 00:23:53 1993  Aubrey Jaffer  (jaffer at camelot)
1359
1360	From: stevev@miser.uoregon.edu (Steve VanDevender):
1361	* config.h (INUM MAKINUM): shift optimization for TURBOC.
1362
1363Fri Jan 22 00:46:58 1993  Aubrey Jaffer  (jaffer at montreux)
1364
1365	From: hanche@ams.sunysb.edu (Harald Hanche-Olsen)
1366	* unif.c (uniform-vector?): added.
1367
1368Tue Jan 19 00:27:04 1993  Aubrey Jaffer  (jaffer at camelot)
1369
1370	From: stevev@miser.uoregon.edu (Steve VanDevender)
1371	* subr.c scl.c config.h: bignum bug fixes for MSDOS.
1372
1373Mon Jan 18 01:15:24 1993  Aubrey Jaffer  (jaffer at camelot)
1374
1375	* subr.c (ash lognot intlength logcount bitextract): now handle
1376	bignums.
1377
1378Sun Jan 17 10:42:44 1993  Aubrey Jaffer  (jaffer at camelot)
1379
1380	* sys.c (close_port): can now close pipes as well.
1381
1382	* subr.c (adjbig normbig divide quotient): fixed more divide bugs.
1383
1384	* subr.c (even? odd?): fixed problem with bignums.
1385
1386Sat Jan 16 00:02:05 1993  Aubrey Jaffer  (jaffer at camelot)
1387
1388	* subr.c (divbigbig): Fixed last divide bug?
1389
1390Fri Jan 15 00:07:27 1993  Aubrey Jaffer  (jaffer at camelot)
1391
1392	* rgx.c (regmatch?): added.  Debugged for both HP-UX and GNU
1393	regex-0.11.  Documentation added to MANUAL.
1394
1395Thu Jan 14 11:54:52 1993  Aubrey Jaffer  (jaffer at camelot)
1396
1397	* patchlvl.h (SCMVERSION): moved from config.h.
1398
1399	* scl.c (product): fixed missing {} bug.
1400
1401	From: HEDDEN@esdsdf.dnet.ge.com
1402	* scl.c (lmin lmax) bignum versions.
1403
1404Wed Jan 13 01:40:51 1993  Aubrey Jaffer  (jaffer at camelot)
1405
1406	* released scm4b0.
1407
1408	* subr.c: fixed bignum bugs found by jacal.
1409
1410	* code cleanup.
1411
1412	From: HEDDEN@esdsdf.dnet.ge.com
1413	* subr.c (lgcd quotent modulo lremainder): Bignum versions.
1414	* subr.c (divbigbig): new version.
1415
1416Sun Jan  3 00:29:35 1993  Aubrey Jaffer  (jaffer at camelot)
1417
1418	From: stevev@miser.uoregon.edu (Steve VanDevender)
1419	* Re-port to BorlandC v2.0
1420
1421	* sys.c (must_realloc): added
1422
1423	* config.h subr.c (BIGRAD pseudolong): now insensitive to ratio of
1424	sizeof(long)/sizeof(BIGDIG).
1425
1426Mon Dec 21 23:20:47 1992  Aubrey Jaffer  (jaffer at camelot)
1427
1428	From: Scott Schwartz <schwartz@groucho.cs.psu.edu>
1429	* rgx.c: created SCM interface to regex and regexp routines.
1430
1431	From: HEDDEN@esdsdf.dnet.ge.com
1432	* subr.c scl.c: Now just one mulbigbig and addbigbig routine.
1433
1434	from: soravi@Athena.MIT.EDU
1435	* README: directions for compiling SCM under OS/2 2.0.
1436
1437Wed Dec  9 15:34:30 1992  Aubrey Jaffer  (jaffer at camelot)
1438
1439	* eval.c (tc7_subr_2x): eliminated.  All comparison subrs now
1440	rpsubrs.
1441
1442	* scm.h: Changed SUBR numbers.  This improves HP-UX interpretation
1443	speed (why?).
1444
1445	* eval.c (PURE_FUNCTIONAL): removed.  Can now be done in
1446	initialization code.
1447
1448	* eval.c (tc7_rpsubr): added type for transitive comparison
1449	operators.  Suprisingly, this slows down (pi 100 5).
1450
1451Mon Dec  7 16:15:47 1992  Aubrey Jaffer  (jaffer at camelot)
1452
1453	* subr.c (logand logor logxor lognot ash logcount integer-length
1454	bit-extract): added.
1455
1456	From: HEDDEN@esdsdf.dnet.ge.com
1457	* scl.c: lots more numeric improvements and code reductions.
1458
1459Mon Nov 30 12:25:54 1992  Aubrey Jaffer  (jaffer at camelot)
1460
1461	* scm.h (IDINC ICDR IDIST): enlarged depth count in ILOCs.
1462
1463Sun Nov 29 01:10:18 1992  Aubrey Jaffer  (jaffer at camelot)
1464
1465	* subr.c scl.c: most arithmetic operations will now return
1466	bignums.
1467
1468	* config.h (FIXABLE POSFIXABLE NEGFIXABLE): added.
1469
1470	* sys.c (object-hash object-unhash): now use bignums.
1471
1472	* scl.c (big2str istr2int): bignum i/o implemented.
1473
1474	* unif.c: subr2s were incorrectly initialized as lsubr2s.
1475
1476Tue Nov 24 14:02:52 1992  Aubrey Jaffer  (jaffer at camelot)
1477
1478	* eval.c (ceval): added unmemocar calls to error handling when
1479	possible.
1480
1481	* scl.c (idbl2str): added back NAN and infinity support.
1482
1483	* eval.c (syntax_mem): replaced with individual macros.
1484	* eval.c (procedure->syntax procedure->macro
1485	procedure->memoizing-macro): All syntactic keywords are now
1486	tc7_symbol.  User definable macros added.
1487	* sys.c: ISYMs no longer in symhash.  ISYMs cannot be read.
1488	init_isyms merged into init_eval.
1489
1490Sat Nov 21 00:39:31 1992  Aubrey Jaffer  (jaffer at camelot)
1491
1492	* makefile.unix (check): now exits with error code.
1493
1494	* sys.c (init_isyms): eliminated.  ISYMS now inited in init_eval.
1495
1496Fri Nov 20 16:14:06 1992  Aubrey Jaffer  (jaffer at camelot)
1497
1498	* released scm4a13
1499
1500	* repl.c: longjmps now dowinds() first.
1501
1502	* setjump.h: now has all setjmp related definitions.
1503
1504	* Init.scm (trace untrace): use new macro system.
1505
1506	* eval.c (defined? procedure->macro procedure->memoizing-macro
1507	make_synt): macro system added.  defined? uses it.
1508
1509	From: HEDDEN@esdsdf.dnet.ge.com
1510	* scl.c: fixes for several transcendental functions.
1511
1512Thu Nov 19 01:14:38 1992  Aubrey Jaffer  (jaffer at camelot)
1513
1514	* repl.c sys.c: errjmp replaced with JMPBUF(rootcont).
1515
1516Sun Nov 15 01:49:00 1992  Aubrey Jaffer  (jaffer at camelot)
1517
1518	From: HEDDEN@esdsdf.dnet.ge.com
1519	* scl.c (istr2int istr2flo istring2number string2number): new
1520	versions.
1521
1522Thu Nov 12 23:00:04 1992  Aubrey Jaffer  (jaffer at Ivan)
1523
1524	* Init.scm (load): now prints out actual filename found in mesasge
1525	;done loading ...
1526
1527Wed Nov 11 01:01:59 1992  Aubrey Jaffer  (jaffer at camelot)
1528
1529	* repl.c (def_err_response): ARG1 error with errobj==UNDEFINED
1530	becomes WNA error.
1531
1532	From: HEDDEN@esdsdf.dnet.ge.com (Jerry D. Hedden)
1533	* scl.c (difference divide): Now are asubrs.
1534
1535	* Init.scm (*features*): fixed to correspond to SLIB conventions.
1536
1537Mon Nov  9 12:03:58 1992  Aubrey Jaffer  (jaffer at camelot)
1538
1539	* scl.h test.scm: (string->number "i") and "3I" and "3.3I" fixed
1540	to return #f.  Tests added to test.scm.
1541
1542Fri Nov  6 16:39:38 1992  Aubrey Jaffer  (jaffer at camelot)
1543
1544	* scm.h (rootcont): sysprotect added.
1545
1546	From: Vincent Manis <manis@cs.ubc.ca>
1547	* scm.h: __cplusplus prototype support.
1548
1549Thu Nov  5 00:39:50 1992  Aubrey Jaffer  (jaffer at Ivan)
1550
1551	* eval.c (lookupcar): now checks for UNDEFINED in local bindings
1552	becuase LETREC inits to UNDEFINED.
1553
1554	* sys.c (dynamic-wind): added.
1555
1556	* config.h eval.c (ceval): CAUTIOUS mode added.
1557
1558	From: hugh@ear.MIT.EDU (Hugh Secker-Walker)
1559	* eval.c (ceval): internal defines now transformed to letrecs.
1560
1561Sun Oct 25 12:27:23 1992  Aubrey Jaffer  (jaffer at Ivan)
1562
1563	* repl.c (read-line read-line!): created.
1564
1565Sat Oct 24 18:36:23 1992  Aubrey Jaffer  (jaffer at camelot)
1566
1567	* repl.c (lreadparen): now tail-recursive.
1568
1569	* eval.c (copy-tree eval): added.  dummy_cell replaced with a
1570	cons(obj,UNDEFINED).
1571
1572Thu Oct 22 21:26:53 1992  Aubrey Jaffer  (jaffer at Ivan)
1573
1574	* repl.c (set-errno!): changed to set-errno.
1575
1576Thu Oct 15 00:49:20 1992  Aubrey Jaffer  (jaffer at camelot)
1577
1578	* sys.c (must_free): must_free created.  Pointers are set to 0.
1579	It detects objects being freed twice.
1580
1581Wed Oct 14 23:57:43 1992  Aubrey Jaffer  (jaffer at camelot)
1582
1583	* scm.c (run_scm): Now has INITS and FINALS.
1584
1585	* scm.c (init_signals ignore_signals unignore_signals
1586	restore_signals): siginterrupt() for ultix.
1587
1588Fri Oct  9 14:25:06 1992  Aubrey Jaffer  (jaffer at camelot)
1589
1590	* all: put in explicit casts to (unsigned char *) and (long) to
1591	satisfy lint.
1592
1593	* sys.c (gc): all to gc_end was during deferred interrupts,
1594	causing problems with verbose=3 and interrupts during GC.
1595
1596	* config.h(SYSCALLDEF): fixed so that test on errno occurs before
1597	ALLOW_INTS (and possible call to user code).
1598
1599Sun Oct  4 01:45:25 1992  Aubrey Jaffer  (jaffer at camelot)
1600
1601	* eval.c (syntax_mem): removed gratuitous cons.
1602
1603	* eval.c repl.c scm.h: Reduced static string use.  Added peephole
1604	optimizations for AND and OR.
1605
1606	From: hugh@ear.MIT.EDU (Hugh Secker-Walker)
1607	* eval.c repl.c scm.h (syntax_mem):  syntax forms are now memoized
1608	so that syntax checks are done only once.  Interpreter is now
1609	smaller and faster and uses less stack space.  Modifications to
1610	code are now made under DEFER_INTS as they always should have
1611	been.
1612
1613Wed Sep 30 22:06:24 1992  Aubrey Jaffer  (jaffer at Ivan)
1614
1615	* scl.c subr.c scm.h config.h: Started adding bignum code.
1616
1617Sun Sep 27 22:59:59 1992  Aubrey Jaffer  (jaffer at Ivan)
1618
1619	* repl.c (restart): added.
1620
1621	* sys.c (freeall): finished.
1622
1623	* scm.h (tc7_symbol): split into tc7_ssymbol and tc7_msymbol to
1624	distinguish between non-GCable and GCable symbols.
1625
1626Wed Sep 23 00:36:23 1992  Aubrey Jaffer  (jaffer at Ivan)
1627
1628	* repl.c (peek_char lungetc): added workaround for TURBOC 1.0
1629	problem with ungetc inside SYSCALLDEF macro.
1630
1631	* repl.c (iprin1): uses ttyname for #<stream ..> if available.
1632
1633	* Init.scm: now sets verbose to 0 if stdin or stdout is not a tty.
1634
1635	* repl.c (isatty?): added.
1636
1637	* repl.c (verbose): levels bumped up by 1.  verbose == 0 means no
1638	prompt.
1639
1640	* makefile.djg config.h (GNUDOS -> GO32): flags changed for djgpp108.
1641
1642Wed Aug 26 21:46:26 1992  Aubrey Jaffer  (jaffer at Ivan)
1643
1644	* test.scm: put in (test #f < 1 3 2) and (test #f >= 1 3 2).
1645
1646	* scl.c (leqp greqp): put back in.  (not (< 1 3 2)) does not imply
1647	(>= 1 3 2).
1648
1649	* makefile.unix: tar and shar files now created in subdirectory.
1650
1651	* config.h time.c: Linux support added.
1652
1653	* repl.c: Greatly improved VMS interrupt support.
1654
1655	* eval.c (ceval): I_LET now changes to I_LETSTAR for single clause
1656	unnamed lets.y
1657
1658	* (tc7_lsubr_2n): removed.
1659
1660Fri Jul 31 00:24:50 1992  Aubrey Jaffer  (jaffer at Ivan)
1661
1662	* unif.c (bit-position): fixed;  I am sure I had done these
1663	changes before.  Also corrected some error messages.
1664
1665	From: campbell@redsox.bsw.com (Larry Campbell)
1666	* scm.h subr.c sys.c (equalp): smobfuns now include equalp.
1667
1668Mon Jul 20 16:44:30 1992  Aubrey Jaffer  (jaffer at Ivan)
1669
1670	From: Stephen Adams <S.R.Adams@ecs.southampton.ac.uk>
1671	* eval.c scm.h subr.c (BOOL_NOT) macro added to fix ^ bug in
1672	BorlandC.  This was fixed previously as well.
1673
1674	From: campbell@redsox.bsw.com (Larry Campbell)
1675	* unif.c (vector-set-length!): was always typing to tc7_vector.
1676
1677Sat Jul 18 01:07:33 1992  Aubrey Jaffer  (jaffer at Ivan)
1678
1679	* subr.c sys.c (make_vector init_storage resizuve): mallocs and
1680	reallocs are now always > 0.
1681
1682	* time.c (get_univ_time): bypassed mktime() for (__TURBOC__ == 1).
1683
1684Mon Jul 13 22:27:04 1992  Aubrey Jaffer  (jaffer at Ivan)
1685
1686	* repl.c (lreadr): now ignores first line of port if begins with "#!"
1687
1688	* scl.c (lesseqp greqp): removed; changed to use tc7_lsubr_2n.
1689
1690	* scm.h eval.c (tc7_lsubr_2n): type added.  Other subr types
1691	rearranged.
1692
1693Sat Jul 11 23:47:18 1992  Aubrey Jaffer  (jaffer at Ivan)
1694
1695	* scm.h sys.c repl.c eval.c code.doc (newsmob smobs smobfuns): now
1696	support	dynamically added smob types.  Promises moved to eval.c.
1697	Promises and arbiters are now newsmobs.
1698
1699	* makefile.unix repl.c scl.c (floprint): moved from repl.c to
1700	scl.c.  The only files which care about -DFLOATS are now scl.c,
1701	eval.c, scm.c, and unif.c.
1702
1703	* sys.c scm.h (init_storage): now uses variable num_protects
1704	instead of #define NUM_PROTECTS.
1705
1706Tue Jul  7 00:00:57 1992  Aubrey Jaffer  (jaffer at Ivan)
1707
1708	From: Ulf_Moeller@hh2.maus.de (Ulf Moeller)
1709	* Init.scm config.h makefile.prj: support for the ATARI-ST with
1710	Turbo C added.
1711
1712Tue Jun 30 23:45:50 1992  Aubrey Jaffer  (jaffer at Ivan)
1713
1714	* unif.c (make-uniform-vector uniform-vector-set!
1715	uniform-vector-ref): added.
1716
1717Tue Jun 23 11:49:13 1992  Aubrey Jaffer  (jaffer at Ivan)
1718
1719	* scm.h sys.c code.doc: rearranged tc7 codes and added bvect,
1720	ivect, uvect, fvect, dvect, cvect, and cclo.
1721
1722	* scm.h sys.c eval.c repl.c code.doc: Changed symbols to be
1723	tc7_symbol.
1724
1725Sat Jun  6 22:27:40 1992  Aubrey Jaffer  (jaffer at Ivan)
1726
1727	From: campbell@redsox.bsw.com (Larry Campbell)
1728	* scl.c (divide): divide by 0 and Exact-only divides of non
1729	multiples now cause exception in RECKLESS mode.
1730
1731Wed May 27 16:02:58 1992  Aubrey Jaffer  (jaffer at Ivan)
1732
1733	* config.h scl.c (NUMBUFLEN): split into INTBUFLEN and FLOBUFLEN
1734	and made proportional to size of numeric types.
1735
1736	From: fred@sce.carleton.ca (Fred J Kaudel)
1737	* makefile.ast scm.c Init.scm: minor chages for ATARI ST support.
1738
1739	* test.scm (test-inexact): created.
1740
1741Thu May 21 11:43:41 1992  Aubrey Jaffer  (jaffer at Ivan)
1742
1743	* patchlvl.h (PATCHLEVEL): 5
1744
1745	From: hugh@ear.mit.edu (Hugh Secker-Walker)
1746	* config.h: better wording for heap allocation strategy
1747	explanation.
1748
1749Wed May 20 00:31:18 1992  Aubrey Jaffer  (jaffer at Ivan)
1750
1751	From S.R.Adams@ecs.southampton.ac.uk
1752	* subr.c (stci_leqp st_leqp): reversed order of ^ clauses to avoid
1753	Borland 3.0 bug.
1754
1755	* sys.c (gc_sweep): missing i-=2; added when splicing out segment.
1756
1757	* MANUAL time.c (get-universal-time decode-universal-time): half
1758	hearted attempt to add these.  Needs bignums.
1759
1760Wed May 13 14:01:07 1992  Aubrey Jaffer  (jaffer at Ivan)
1761
1762	* sys.c (gc_mark): improved tail recursivness for CONSes.
1763
1764	* repl.c (growth_mon): now prints out the hplims table if
1765	verbose>3.
1766
1767	* sys.c (init_heap_seg): Serious bug in growing hplims fixed.
1768	num_heap_segs eliminated; hplims are realloced whenever grown.
1769
1770Tue May 12 15:36:17 1992  Aubrey Jaffer  (jaffer at train)
1771
1772	* config.h sys.c (alloc_some_heap expmem):  expmem captures
1773	whether the INIT_HEAP_SIZE allocation was successful.  If so,
1774	alloc_some_heap uses exponential heap allocation instead of
1775	HEAP_SEG_SIZE.
1776
1777Mon May 11 15:29:04 1992  Aubrey Jaffer  (jaffer at Ivan)
1778
1779	* sys.c (gc_sweep init_heap_seg heap_org): Empty heap segments
1780	are now freed.
1781
1782	* sc2.c (STR_EXTENSIONS): renamed REV2_PROCEDURES and R2RS and
1783	R3RS functions put into sc2.c.
1784
1785Sun May 10 01:34:11 1992  Aubrey Jaffer  (jaffer at Ivan)
1786
1787	* scm.c (ignore_interrupts unignore_interrupts): added for
1788	system, edt$edit, and popen to use.
1789
1790	* repl.c (lwrite display newline write_char): Close pipe if EPIPE.
1791
1792	* repl.c (file_set_position): now errs on ESPIPE.
1793
1794	* scm.c (SIGPIPE): now ignored (errs come back as EPIPE).
1795
1796Sat May  9 17:52:36 1992  Aubrey Jaffer  (jaffer at Ivan)
1797
1798	From: Stephen Adams <S.R.Adams@ecs.southampton.ac.uk>
1799	* config.h (PROT386): PROT386 added.  PTR_LT and CELL_UP modified.
1800
1801Fri May  8 17:57:22 1992  Aubrey Jaffer  (jaffer at Ivan)
1802
1803	From: hugh@ear.mit.edu (Hugh Secker-Walker)
1804	* Init.scm (last-pair append!): last-pair is faster version.
1805	Append! corrected for null first arg.  (getenv "HOME") now gets
1806	a "/" added if not present.
1807
1808	* config.scm (MIN_GC_YIELD): now proportional to HEAP_SEG_SIZE.
1809
1810	* README: setting environment variables corrected.
1811
1812	* subr.c (length): error message now has arg if not a list.
1813
1814	* sys.c (open-pipe): now turns off interrupts before forking.
1815
1816	* scl.c (lsystem): now turns off interrupts before forking.
1817
1818	* scm.c (ignore_signals): created.
1819
1820Sat May  2 01:02:16 1992  Aubrey Jaffer  (jaffer at Ivan)
1821
1822	* Init.c (WITH-INPUT-FROM-FILE WITH-OUTPUT-TO-FILE): defined in
1823	terms of current-input-port and current-output-port.  Bug in
1824	open-input-pipe and open-output-pipe fixed.
1825
1826	* sys.c repl.c (current-input-port current-output-port): moved
1827	from sys.c to repl.c.  set-current-input-port and
1828	set-current-output-port added to repl.c.
1829
1830Mon Apr 13 22:51:32 1992  Aubrey Jaffer  (jaffer at Ivan)
1831
1832	* patchlvl.h: (PATCHLEVEL): released scm4a1.
1833
1834	* makefile.* VMSBUILD.COM VMSGCC.COM: compile time.h.
1835
1836	* scm.c (alrm_signal int_signal): now save and restore errno so
1837	SYSCALL will work correctly across interrupts.
1838
1839Sun Apr 12 01:44:10 1992  Aubrey Jaffer  (jaffer at Ivan)
1840
1841	* patchlvl.h: (PATCHLEVEL): released scm4a0.
1842
1843	* repl.c (lread): tok_buf now local to each invocation of read.
1844	This makes READ interruptable and reentrant.
1845
1846	* sys.c MANUAL (STRING-SET-LENGTH! STRING-VECTOR-LENGTH!): created.
1847
1848	* sys.c repl.c (grow_tok_buf tok_buf tok_buf_len): moved to repl.c
1849
1850	* repl.c (lfwrite): now emulated for VMS.
1851
1852	* repl.c scl.c (num_buf): now local to all routines that use it.
1853
1854	* time.h: created by moving time functions from repl.c.  Read and
1855	write functions were moved from sys.c to repl.c.
1856
1857	* sys.c repl.c (DEFER_INTS ALLOW_INTS CHECK_INTS): totally
1858	rewritten.  SIGALRM and SIGINT now execute at interrupt level.
1859	Interrupts deferred only for protected code sections, not for
1860	reads and writes.
1861
1862	* sys.c repl.c (SYSCALL): created to reexecute system calls
1863	interrupted (EINTR) by SIGALRM and SIGINT.
1864
1865	* sys.c scl.c (flo0): 0.0 is now always flo0.
1866
1867	* repl.c sys.c (TRANSCRIPT-ON TRANSCRIPT-OFF): added.  This
1868	required shadowing putc, fputs, fwrite, and getc with lputc,
1869	lputs, lfwrite, and lgetc.
1870
1871Sun Apr  5 00:27:33 1992  Aubrey Jaffer  (jaffer at Ivan)
1872
1873	From: HEDDEN@esdsdf.dnet.ge.com (Jerry D. Hedden)
1874	* scl.c (eqp lessp greaterp lesseqp greatereqp):
1875	Comparisons with inexact numbers was not being performed
1876	correctly.  For example, (< 1.0 2.0 1.5) would yield #t.  What was
1877	missing was a line x=y; in the inexact comparison sections of
1878	lessp(), greaterp(), lesseqp() and greatereqp().  In addition, I
1879	modified these routines and eqp() to allow for mixed arithmetic
1880	types.
1881
1882Sat Apr  4 00:17:29 1992  Aubrey Jaffer  (jaffer at Ivan)
1883
1884	* scm.h code.doc: tc7_bignum => tc7_spare.  Added tc16_bigpos and
1885	tc16_bigneg.  SMOBS reordered.  tc16_record added.
1886
1887	* scm.h repl.c sys.c (make-arbiter try-arbiter release-arbiter):
1888	added.  tc16_arbiter added.
1889
1890Fri Apr  3 01:25:35 1992  Aubrey Jaffer  (jaffer at Ivan)
1891
1892	* sys.c config.h (TEMPTEMPLATE): created in config.h.
1893
1894	* scm.h: removed long aliases for C versions of Scheme functions.
1895
1896	* sys.c eval.c scm.h: (delay force makprom): added.  Also added
1897	tc16_promise data type.
1898
1899	* Init.scm (trace untrace): added autoloads and read macros.
1900
1901	From: T. Kurt Bond, tkb@mtnet2.wvnet.edu
1902	* sys.c (template): correct template for VMS.
1903
1904Tue Mar 31 01:50:12 1992  Aubrey Jaffer  (jaffer at Ivan)
1905
1906	* sys.c config.h Init.scm (open-file open-pipe): created and
1907	expressed other open functions in terms of.  Bracketed all i/o
1908	system calls with DEFER and ALLOW _SIGINTS.
1909
1910Sat Mar 28 00:24:01 1992  Aubrey Jaffer  (jaffer at Ivan)
1911
1912	* sys.c MANUAL (#.): read macro syntax added.  Balanced comments
1913	also documented.
1914
1915Fri Mar 27 22:53:26 1992  Aubrey Jaffer  (jaffer at Ivan)
1916
1917	* sys.c (iprin1): changed printed representation for unreadable
1918	objects from #[...] to #<...>.
1919
1920	From: brh@aquila.ahse.cdc.com (brian r hanson x6009):
1921	* scm.h config.h (NCELLP PTR_LT): fixes for 64 bit pointers on
1922	nosve.
1923
1924Fri Mar 20 01:36:08 1992  Aubrey Jaffer  (jaffer at Ivan)
1925
1926	* Released scm3c13
1927
1928	* code.doc: corrected some minor inconsistencies and added a
1929	section "To add a package of new procedures to scm".
1930
1931Sun Mar 15 19:44:45 1992  Aubrey Jaffer  (jaffer at Ivan)
1932
1933	* Init.scm: now loads <program-name>_INIT_PATH when <program-name>
1934	is not "SCM".
1935
1936	* config.h (PTR_LT): (x < y) => ((x) < (y))
1937
1938Wed Mar  4 01:53:15 1992  Aubrey Jaffer  (jaffer at Ivan)
1939
1940	* Released scm3c12.
1941
1942	* scm.h code.doc eval.c sys.c (IXSYM): Eliminated Immediate IXSYM
1943	type.
1944
1945Tue Mar  3 00:58:18 1992  Aubrey Jaffer  (jaffer at Ivan)
1946
1947	* eval.c config.c (ceval DEFINED? SYNTAX_EXTENSIONS): added
1948	DEFINED? to ceval conditional on SYNTAX_EXTENSIONS.
1949
1950	From: Andrew Wilcox <andrew@astro.psu.edu>
1951	* makefile.unix scm.c (main init_scm display_banner init_signals
1952	restore_signals run_scm): RTL support.
1953
1954Mon Mar  2 19:05:29 1992  Aubrey Jaffer  (jaffer at Ivan)
1955
1956	* subr.c (make-string): now checks for ARG1 >= 0.
1957
1958Fri Feb 28 00:13:00 1992  Aubrey Jaffer  (jaffer at Ivan)
1959
1960	* patchlvl.h (PATCHLEVEL): 12
1961
1962	* Init.scm: loads JCAL if scm is invoked with name JCAL, JACAL,
1963	jcal or jacal.
1964
1965	* Init.scm (ABS): set to MAGNITUDE if FLOATS are supported.
1966
1967	* gc_mark gc: no longer assume sizeof(short) == 2.
1968
1969	* config.h (CELL_UP CELL_DN): no longer assume sizeof(CELL) == 8.
1970
1971	From: Brian Hanson, Control Data Corporation.  brh@ahse.cdc.com
1972	* scl.c config.h repl.c: partial port to Control Data NOS/VE.
1973
1974	From: fred@sce.carleton.ca (Fred J Kaudel)
1975	* repl.c Init.scm makefile.ast: Port to Atari-ST
1976
1977	* sys.c scm.h eval.c (throw): renamed to lthrow to avoid conflict
1978	with Gnu CC.
1979
1980Mon Feb 10 14:31:24 1992  Aubrey Jaffer  (jaffer at Ivan)
1981
1982	* sys.c (delete-file rename-file): added.
1983
1984	* sys.c (chdir): now returns #f instead of error.
1985
1986	* Init.scm: Calls to PROVIDED? inlined so no longer dependent on
1987	SLIB being loaded.  (set! ABS MAGNITUDE) if inexacts supported.
1988	Support for slib1b3 added.
1989
1990	* sys.c (alloc_some_heap): fixed bugs.  One fix from
1991	bowles@is.s.u-tokyo.ac.jp.
1992
1993	* eval.c (ceval):  fixed bug with internal (define foo bar) where
1994	bar is a global.  Put badfun2: back in for better error reporting.
1995
1996	* patchlvl.h (PATCHLEVEL): 11
1997
1998Mon Jan 20 16:19:04 1992  Aubrey Jaffer  (jaffer at Ivan)
1999
2000	* config.c (INITS): comments added.
2001
2002	From: T. Kurt Bond, tkb@mtnet2.wvnet.edu
2003	* VMSGCC.COM VMSMAKE.COM: now take arguments.
2004
2005	From: "Fred Bayer" <bayerf@lan.informatik.tu-muenchen.de>
2006	* makefile.aztec repl.c: Aztec C (makefile) port.
2007
2008Fri Jan 17 16:36:07 1992  Aubrey Jaffer  (jaffer at Ivan)
2009
2010	* sys.c (gc init_storage stack_size): stack_size now of type
2011	sizet.  init_storage no longer uses it.  gc() now uses it instead
2012	of pointer to local.  This fixes bug with gcc -O.
2013
2014	* sys.c (cons cons2 cons2r):  &w;&x;&y; removed because of above
2015	fix.
2016
2017Thu Jan 16 22:33:00 1992  Aubrey Jaffer  (jaffer at Ivan)
2018
2019	* scl.c (real-part): added.
2020
2021Wed Jan 15 13:06:39 1992  Aubrey Jaffer  (jaffer at Ivan)
2022
2023	From: "Fred Bayer" <bayerf@lan.informatik.tu-muenchen.de>
2024	* scl.c repl.c scm.c config.c: Port for AMIGA
2025
2026	* scm.h (REALP): fixed for SINGLES not defined.
2027
2028Sat Jan 11 20:20:40 1992  Aubrey Jaffer  (jaffer at Ivan)
2029
2030	* patchlvl.h (PATCHLEVEL): 8 released.
2031
2032	* README: added hints for EDITING SCHEME CODE.
2033
2034	* repl.c (SIGRETTYPE): now int for __TURBOC__.
2035
2036	* makefile.tur makefile.djg: created.
2037
2038	* config.h: DJGPP (__GO32__) support added.
2039
2040	* scm.h (memv): definition added.
2041
2042Sun Jan  5 00:33:44 1992  Aubrey Jaffer  (jaffer at Ivan)
2043
2044	* repl.c makefile.* (main): INITS added.
2045
2046	* scl.c: fixed ASSERT statements with mismatched ARGn and
2047	arguments.
2048
2049Thu Dec 19 19:16:50 1991  Aubrey Jaffer  (jaffer at train)
2050
2051	* sys.c (cons cons2 cons2r): added fix for gcc -O bug.
2052
2053	* repl.c (LACK_FTIME LACK_TIMES): more messing with these.
2054
2055	* sys.c config.o (HAVE_PIPE): created.
2056
2057	* config.h (FLT_RADIX): now #ifdef FLT_RADIX rather than __STDC__.
2058	Needed for DJGCC.
2059
2060	* sys.c (DBLMANT_DIG DBL_FLOAT_DIG): now tested for directly
2061	rather than STDC_INCLUDES.
2062
2063	* makefile.unix (subr.o): explicit compilation line added.
2064
2065	* scl.c (truncate -> ltrunc):  Name conflict with DJGCC libraries.
2066
2067Sun Dec  8 23:31:04 1991  Aubrey Jaffer  (jaffer at Ivan)
2068
2069	* eval.c (apply): added check for number of args to closures.
2070
2071Sat Dec  7 01:30:46 1991  Aubrey Jaffer  (jaffer at Ivan)
2072
2073	* patchlvl.h (PATCHLEVEL): 7
2074
2075	* sys.c (chdir): THINK_C doesn't support;
2076
2077	* repl.c: SVR2 needs <time.h> instead of <sys/time.h>
2078
2079	* repl.c: SVR2 needs LACK_FTIME
2080
2081	* repl.c: #include <sys/timeb.h> now automatic ifndef LACK_FTIME.
2082
2083Mon Dec  2 15:42:11 1991  Aubrey Jaffer  (jaffer at Ivan)
2084
2085	* patchlvl.h (PATCHLEVEL): 5
2086
2087	* sys.c (intern sysintern): made strings and hash unsigned.  Fixed
2088	bug with characters > 128 in symbols.
2089
2090	* scl.c (eqv? memv assv): created if FLOATS is #defined.  From
2091	boopsy!mike@maccs.dcss.mcmaster.ca (Michael A. Borza).
2092
2093Mon Dec  2 11:37:11 1991  Aubrey Jaffer  (jaffer at Ivan)
2094
2095	* patchlvl.h (PATCHLEVEL): 4
2096
2097	* sys.c (gc_sweep): usaage of pclose() now conditional on unix.
2098
2099	* MANUAL (chdir): documented.
2100
2101   from T. Kurt Bond, Adminisoft, Inc. <tkb@MTNET2.WVNET.EDU>:
2102
2103	* repl.c sys.c (errno): VMS GNU C uses a special hack in <errno.h>
2104	to get the link-time attributes for the errno variable to match
2105	those the VMS C run-time library expects (it makes errno a
2106	preprocessor define so that the variable that the compiler sees
2107	has a special form that the assember then interprets), so if it is
2108	VMS and __GNUC__ is defined <errno.h> needs included.
2109
2110	* setjump.h (SETJUMP LONGJUMP): SETJUMP and LONGJUMP changed to
2111	setjump and longjump. The VMS linker is case-indifferent.  VMS GNU
2112	C mangles variable names that have upper case letters in them to
2113	preserve their uniqueness.
2114
2115	* sys.c (iprint iprin1): Now inline putc loops instead of calls to
2116	fwrite for VMS. The VMS `fwrite' has been enhanced to work with
2117	VMS's Record Management Sevice, RMS.  Part of this enhancement is
2118	to treat each call to `fwrite' as producing a separate record.
2119	This works fine if you are writing to a stream_LF file or an
2120	actual terminal screen, but if you are writing to a file that has
2121	implied carriage control (such as a batch log file, or a mailbox
2122	used for subprocess communication), which is a more common file
2123	organization for RMS, each call to `fwrite' has a newline appended
2124	to it.  This causes much of the output to be incorrectly split
2125	across lines.
2126
2127	* vmsgcc.com: created.
2128
2129Sun Dec  1 00:33:42 1991  Aubrey Jaffer  (jaffer at Ivan)
2130
2131	* patchlvl.h (PATCHLEVEL): 3 released.
2132
2133	* Init.scm (rev2-procedures): all now supported.
2134
2135	* Init.scm sys.c MANUAL (flush): flush changed to force-output to
2136	be compatible with Common Lisp.
2137
2138	* sys.c (chdir): added.
2139
2140Wed Nov 27 09:37:20 1991  Aubrey Jaffer  (jaffer at Ivan)
2141
2142	* patchlvl.h (PATCHLEVEL): 2
2143
2144	* repl.c (set-errno! perror): added.
2145
2146	* sys.c (gc): FLUSH_REGISTER_WINDOWS call added.
2147
2148	* sys.c (open-input-pipe open-output-pipe close-pipe): added.
2149
2150Mon Nov 25 13:02:13 1991  Aubrey Jaffer  (jaffer at Ivan)
2151
2152	* patchlvl.h (PATCHLEVEL): 1
2153
2154	* sys.c (flush): added.
2155
2156	* repl.c (mytime): macro was missing ().  CLKTCK now defaults to 60.
2157
2158	* README Init.scm subr.c scm.c repl.c scl.c: From Yasuaki Honda,
2159	honda@csl.SONY.co.jp, support for Macintosh running Think C.
2160
2161Sun Nov 24 15:30:51 1991  Aubrey Jaffer  (jaffer at Ivan)
2162
2163	* scl.c (str2flo): fixed parsing of -1-i.
2164
2165	* repl.c (repl_driver): from jjc@jclark.com, now checks that
2166	s_response is non-NULL before INTERNing.
2167
2168	* subr.c (equal): Now correct for inexacts.  Need to do eqv.
2169
2170	* scm.h (REALPART): fixed pixel C compiler bug with doubles inside
2171	`?' conditionals.
2172
2173	* scl.c (zerop): now checks imaginary half of complex number.
2174
2175Tue Nov 19 00:10:59 1991  Aubrey Jaffer  (jaffer at Ivan)
2176
2177	* version scm3c0
2178
2179	* documentation: changed revised^3.99 to revised^4.
2180
2181	* example.scm: created from Scheme^4 spec.
2182
2183	* makefile.msc: -Ox changed to -Oxp to fix over-enthusiastic float
2184	optimizations.
2185
2186	* Init.scm (ed): defined.
2187
2188	* repl.c (def_err_response): UNDEFINED objects don't print out.
2189
2190Sun Nov 17 23:11:03 1991  Aubrey Jaffer  (jaffer at Ivan)
2191
2192	* scl.c (vms-debug): now returns UNSPECIFIED.
2193
2194	* repl.c MANUAL (restart_repl): RESTART-REPL changed to ABORT.
2195
2196	* repl.c (err_ctrl_c):now clears sig_pending.
2197
2198Wed Nov 13 23:51:36 1991  Aubrey Jaffer  (jaffer at Ivan)
2199
2200	* config.h: removed #ifdef sparc #define STDC_HEADERS
2201
2202	* makefile.bor: added extra '\' to filepath.
2203
2204	* repl.c (everr): fixed bug with ARGx.
2205
2206	* repl.c (errmsgs def_err_response): cleaned up error messages.
2207
2208Sun Nov 10 23:10:24 1991  Aubrey Jaffer  (jaffer at Ivan)
2209
2210	* released scm3b7
2211
2212Mon Nov  4 18:36:49 1991  Aubrey Jaffer  (jaffer at Ivan)
2213
2214	* patchlvl.h (PATCHLEVEL): 6
2215
2216	* sys.c (idbl2str): tests for Not-a-Number and Infinity added.
2217
2218	* repl.c scm.h: response system rewritten and integrated with
2219	error system.
2220
2221	* scl.c (/): now returns inexacts if integer arguments do not
2222	divide evenly.
2223
2224Mon Oct 28 23:44:16 1991  Aubrey Jaffer  (jaffer at Ivan)
2225
2226	* makefile.unix: can now make float (scm) and integer-only (escm)
2227	versions in same directory.
2228
2229	* repl.c (*sigint-response* *arithmetic-response* restart-repl):
2230	responses for signals added.
2231
2232	* scl.c (lmin lmax sum difference product divide expt exp log):
2233	now take mixed types.  expt available in non-FLOATS compilation.
2234
2235	* repl.c (get-decoded-time): added.  Includes and time functions
2236	reorganized.
2237
2238	* sys.c (object-hash object-unhash): added.
2239
2240Tue Oct 15 00:45:35 1991  Aubrey Jaffer  (jaffer at Ivan)
2241
2242	* repl.c Init.scm (*features*): moved constant features into
2243	Init.scm.  Moved tests for numeric features to slib/require.scm.
2244
2245	* release scm3b1.
2246
2247	* config.h (ANSI_INCLUDES): redid include files.
2248
2249	* subr.c scl.c: moved all FLOAT conditionals from subr.c to scl.c.
2250
2251Wed Oct  9 00:28:54 1991  Aubrey Jaffer  (jaffer at Ivan)
2252
2253	* release scm3a13.
2254
2255	* patchlvl.h (PATCHLEVEL): 13
2256
2257	* Init.scm: "vicinity.scm" changed to "require.scm"
2258
2259Mon Oct  7 00:34:07 1991  Aubrey Jaffer  (jaffer at Ivan)
2260
2261	* test.scm: test of redefining built-in symbol and extra ')'
2262	removed.
2263
2264	* scm.doc makefile.unix: scm.doc created from scm.1 in
2265	makefile.unix.
2266
2267	* VMSBUILD.COM setjump.asm setjump.h (setjmp longjmp jmp_buf): put
2268	in from comp.sources.reviewed in order to let VMS have full
2269	continuations.  VMSBUILD.COM is a compile script.
2270
2271Fri Oct  4 00:05:54 1991  Aubrey Jaffer  (jaffer at Ivan)
2272
2273	* scl.c(sleep): removed; not supported by MSC (although could be
2274	written).
2275
2276	* scm.h config.h (size_t): moved to config.h.
2277
2278	* sys.c (f_getc): -> lgetc for vax, getc otherwise.
2279
2280	* patchlvl.h (PATCHLEVEL): 12
2281
2282Mon Sep 30 01:14:48 1991  Aubrey Jaffer  (jaffer at Ivan)
2283
2284	* scl.c(sleep): created.
2285
2286	* repl.c(internal-time-units-per-second get=internal-run-time):
2287	created
2288
2289	* repl.c: created from scm.c (shuffled around lots of functions).
2290
2291Sat Sep 28 00:22:30 1991  Aubrey Jaffer  (jaffer at Ivan)
2292
2293	* scm.c config.h (char-code-limit most-positive-fixnum
2294	most-negative-fixnum): created.
2295
2296Tue Sep 24 01:21:43 1991  Aubrey Jaffer  (jaffer at Ivan)
2297
2298	* scm.c (software-type); created.
2299
2300	* scm.c config.h (terms, list-file, library-vicinity,
2301	program-vicinity, user-vicinity, make-vicinity, sub-vicinity):
2302	moved to Init.scm and library.
2303
2304	* scm.c config.h Makefile (PROGPATH): changed to IMPLPATH.
2305
2306	* Init.scm: created
2307
2308Fri Sep 20 13:22:08 1991  Aubrey Jaffer  (jaffer at Ivan)
2309
2310	* patchlvl.h (PATCHLEVEL): 5
2311
2312	* all: changed declarations to size_t where appropriate.  scm.h
2313	test preprocessor flag _SIZE_T to determine if already declared.
2314	size_t should greatly enhance portability to Macintosh and other
2315	machines.
2316
2317Tue Sep 17 01:15:31 1991  Aubrey Jaffer  (jaffer at Ivan)
2318
2319	* scm.c (tmpnam): support for mktemp added.
2320
2321Mon Sep 16 14:06:26 1991  Aubrey Jaffer  (jaffer at train)
2322
2323	* scm.c (implementation-vicinity): added.  (program-vicinity) now
2324	returns undefined if called not within a load.
2325
2326	* sys.c (call-with-io-file): removed.
2327
2328	* scm.c (tmpnam): added.
2329
2330	* scm.c config.h (tmporary-vicinity): removed.
2331
2332Sun Sep 15 22:21:30 1991  Aubrey Jaffer  (jaffer at Ivan)
2333
2334	* subr.c scm.h (remainder): renamed to lremainder to avoid
2335	conflict with math.h on SunOS4.1 (from bevan@cs.man.ac.uk).
2336
2337Sat Sep  7 22:27:49 1991  Aubrey Jaffer  (jaffer at Ivan)
2338
2339	* scm.c (program-arguments load): program-arguments created.
2340
2341	* scm.c (getenv): added getenv and used for program-vicinity and
2342	library-vicinity.
2343
2344	* scm.c (program-vicinity): fixed if load_name is NULL.
2345
2346	* scl.c config.h (substring-move-left! substring-move-right!):
2347	added under STR_EXTENSIONS flag.
2348
2349Wed Aug 28 22:59:20 1991  Aubrey Jaffer  (jaffer at Ivan)
2350
2351	* Sending scm3a to comp.sources.reviewed
2352
2353	* scm.c (main): prints out feature list at startup.
2354
2355	* subr.c (eqp lessp greaterp lesseqp greatereqp): now work for
2356	floats.
2357
2358	* scl.c (sum difference divide product): moved to scl.c and
2359	now work for floats.
2360
2361	* all: all masks with low bits explicity cast to (int).
2362
2363Sat Aug 17 00:39:06 1991  Aubrey Jaffer  (jaffer at Ivan)
2364
2365	* sys.c subr.c scl.c (iint2str istr2int istring2number istr2flo
2366	iflo2str idbl2str): number I/O and conversion to strings rewritten.
2367
2368	* sys.c (gc_mark): continuations now marked SHORT_ALIGNed. (from
2369	Craig Lawson).
2370
2371	* added QuickC support from Craig Lawson.
2372
2373Tue Jul 30 01:08:52 1991  Aubrey Jaffer  (jaffer at Ivan)
2374
2375	* config.h: #ifdef pyr added.
2376
2377	* scm.c MANUAL: vicinity functions added.
2378
2379Tue Jul 16 00:51:23 1991  Aubrey Jaffer  (jaffer at Ivan)
2380
2381	* scl.c sys.c: float functions added.
2382
2383	* Documentation reorganized according to comp.sources.reviewed
2384	guidelines.
2385
2386	* sys.c config.h (open_input_file open_output_file open_rw_file):
2387	file mode string moved to defines in config.h
2388
2389Thu Jul 11 23:30:03 1991  Aubrey Jaffer  (jaffer at Ivan)
2390
2391	* sys.c config.h (EBCDIC ASCII) moved to config.h
2392
2393	* subr.c config.h (BADIVSGNS) moved to config.h
2394
2395	* scm.h config.h (SRS) moved to config.h
2396
2397Sun Jul  7 23:49:26 1991  Aubrey Jaffer  (jaffer at Ivan)
2398
2399	* all: started adding comp.sources.reviewed corrections and
2400	suggestions.
2401
2402	* scm.c patchlvl.h (main): PATCHLEVEL now printed in banner.
2403
2404	* subr.c sys.c: read_integer removed. istring2number created.
2405	lread and string2number now both use istring2number.
2406
2407Fri Jun  7 13:43:40 1991  Aubrey Jaffer  (jaffer at Ivan)
2408
2409	* VERSION scm2e sent to comp.sources.reviewed
2410
2411	* public.lic: renamed COPYING.
2412
2413	* scm.c (gc_status): gc_status renamed prolixity.  Now returns old
2414	value of verbose.  Can take 0 arguments.
2415
2416	* sys.c (lreadr): added #| common lisp style |# balanced comments.
2417
2418	* scm.h scm.c sys.c (I/O functions): combined **PORTP and OPENP to
2419	become OP**PORTP.
2420
2421	* scm.h sys.c (gc_sweep): moved OPENP to bit in upper half word of
2422	port cells.
2423
2424Sat May 25 00:04:45 1991  Aubrey Jaffer  (jaffer at Ivan)
2425
2426	* scm.c (stack_start_ptr, repl_driver, main, err functions):
2427	exits removed from all err functions.  all escapes through
2428	repl_driver.
2429
2430	* scm.c README (verbose): Now has graded verbosity.
2431
2432	* scm.c README (quit): Now takes optional argument which is return
2433	value.
2434
2435Wed May 22 01:40:17 1991  Aubrey Jaffer  (jaffer at Ivan)
2436
2437	* code.doc scm.h eval.c (ceval): Rearanged immediate type codes to
2438	create IXSYMs (immediate extension syms) to allow more than 15
2439	special forms.  ILOCs now work with up to 32767 in one environment
2440	frame.  Dispatch is slightly faster for ILOCs in function position.
2441	ICHRs can be up to 24 bits.
2442
2443Fri May 10 00:16:32 1991  Aubrey Jaffer  (jaffer at Ivan)
2444
2445	* scm.h sys.c (gc_mark, gc_sweep): GCMARK moved to bit 8 of CAR
2446	for some datatypes.
2447
2448Wed May  1 14:11:05 1991  Aubrey Jaffer  (jaffer at Ivan)
2449
2450	* patch1 MESSAGE SENT.
2451
2452	* sys.c (lreadr) from jclark@bugs.specialix.co.uk.jjc: removed
2453	order evaluation bug when growing tok_buf.
2454
2455Fri Apr 26 10:39:41 1991  Aubrey Jaffer  (jaffer at Ivan)
2456
2457	* scm2d RELEASED
2458
2459	* sys.c (closure) no longer calls ilength (ECONS problem).  Added
2460	ASSERT before call to closure in eval.
2461
2462Thu Apr 25 09:53:40 1991  Aubrey Jaffer  (jaffer at Ivan)
2463
2464	* scm.c (error): created.
2465
2466Wed Apr 24 16:58:06 1991  Aubrey Jaffer  (jaffer at Ivan)
2467
2468	* utils.scm: created.
2469
2470	* makefile (name8s): code from dmason works in makefile.
2471
2472	* eval.c (evalcar): fixed errobj on (else 3 4) error.
2473	Inlined function application in (cond ((foo => fun))).
2474
2475	* sys.c (lprin1): change looped putcs to fwrite.
2476
2477Wed Apr 24 01:54:09 1991  Aubrey Jaffer  (jaffer at Ivan)
2478
2479	* sys.c (lreadr): fixed assert for "eof in string".
2480
2481	* subr.c (lgcd): changed to work with borland C.
2482
2483	* eval.c (eval): added checks to LAMBDA and LET.
2484
2485	* eval.c (apply): now checks for null arg1 in lsubr.
2486
2487Fri Apr 12 00:09:03 1991  Aubrey Jaffer  (jaffer at kleph)
2488
2489	* config.h scm.h (SCMPTR): created to correct address arithmetic
2490	on stack bounds under Borland C++.  Borland C++ now runs scm2c.
2491
2492Wed Apr 10 21:38:09 1991  Aubrey Jaffer  (jaffer at Ivan)
2493
2494	* sys.c (open_io_file, cw_io_file, file_position, file_set_pos,
2495	read_to_str) created (IO_EXTENSIONS)
2496
2497	* config.h (IO_EXTENSIONS): defined
2498
2499	* sys.c scm.c: lprin1f changed to iprin1
2500
2501Wed Apr 10 12:58:59 1991  Aubrey Jaffer  (jaffer at Ivan)
2502
2503	* sys.c (intern): line 850: for(i = alen;0 <= --i;)changed to
2504				    for(i = alen;0 < --i;).
2505	This fixed b_pos and v_pos mapping to the same symbol.
2506
2507Wed Apr  4 00:00:00 1991  Aubrey Jaffer  (jaffer at kleph.ai.mit.edu)
2508
2509	* released scm2b
2510
2511Wed Apr  3 22:51:39 1991  Aubrey Jaffer  (jaffer at Ivan)
2512
2513	* all files: eliminated types tc7_subr_2n and tc7_subr_2xn.
2514	Replaced with tc7_subr_2o and tc7_subr_1o so that all subr calls
2515	can be checked for number of arguments.
2516
2517Tue Apr  2 23:11:15 1991  Aubrey Jaffer  (jaffer at Ivan)
2518
2519	* code.doc: cleaned up.
2520
2521Mon Apr  1 14:27:22 1991  Aubrey Jaffer  (jaffer at Ivan)
2522
2523	* eval.c (ceval): fixed nasty tail recursion bug at carloop:.
2524
2525	* scm.c (everr): still fixing error reporting.
2526
2527	* eval.c subr.c: added flag PURE_FUNCTIONAL which removes side
2528	effect special forms and functions.
2529
2530	* subr.c (substring): now allows first index to be equal to length
2531	of string
2532
2533	* sys.c (lprin1f): dispatches on TYP16 of smobs.
2534
2535	* scm.h: fixed typo in unused function defs.
2536
2537Mon Mar 28 00:00:00 1991  Aubrey Jaffer  (jaffer at zohar.ai.mit.edu)
2538
2539	* scm2a released: too many changes to record.  See code.doc.
2540
2541Mon Feb 18 21:48:24 1991  Aubrey Jaffer  (jaffer at foxkid)
2542
2543	* scm.h: types reformatted (TYP6 -> TYP7).
2544
2545	* eval.c (ceval): Now dispatch directly on ISYMs in ceval.
2546
2547Fri Feb 15 23:39:48 1991  Aubrey Jaffer  (jaffer at foxkid)
2548
2549	* sys.c: #include <malloc.h> not done for VMS
2550
2551Wed Feb 13 17:49:33 1991  Aubrey Jaffer  (jaffer at foxkid)
2552
2553	* scm.c scl.c: added unsigned declarations to some char *
2554	definitions in order to fix characters having negative codes.
2555
2556	* scm.h (MAKISYM, MAKFLAG, ICHR, MAKICHR, MAKINUM): Now cast to
2557	long so that their calls don't have to.  Changing MAKICHR fixed
2558	problem in scl.c (string2list) on IBMPC.
2559
2560	* subr.c (quotient): support for `/' reintroduced; required by
2561	r3.99rs but not IEEE.
2562
2563	* subr.c (char functions): added isascii tests for
2564	char-alphabetic, char-numeric?, char-whitespace?,
2565	char-upper-case?, and char-lower-case?.  Added test against
2566	char_code_limit to int2char.
2567
2568	* subr.c (s_char_alphap): is subr_1 not lsubr.
2569
2570	* test.scm: added tests for char-alphabetic, char-numeric?,
2571	char-whitespace?, char-upper-case?, and char-lower-case?.
2572
2573	* sys.c: most `return;'s eliminated to reduce warning messages.
2574	Substituted breaks and reordered switch and if clauses.
2575
2576Sun Feb  3 23:12:34 1991  Aubrey Jaffer  (jaffer at foxkid)
2577
2578	* scm1-2: released.
2579
2580	* sys.c (read-char peek-char) added code for EOF.
2581
2582	* test.scm (leaf-eq?) added and file "cont.scm" removed.  I/O
2583	tests added.
2584
2585	* sys.c (I/O functions) now check for input and output ports
2586	rather than just ports.
2587
2588	* sys.c (lprin1f): occurences of stdout changed to f.  Newlines
2589	after printing port removed.
2590
2591Thu Jan 31 22:52:39 1991  Aubrey Jaffer  (jaffer at foxkid)
2592
2593	* subr.c (quotient): support for `/' removed; not required.
2594
2595	* scm.c (wta): message for OUTOFRANGE fixed.
2596
2597Mon Jan 28 12:45:55 1991  Aubrey Jaffer  (jaffer at foxkid)
2598
2599	* eval.c (apply): added checks for number of arguments.
2600
2601	* scm.h (CHECK_SIGINT): checks for blocked SIGINT.
2602
2603	* sys.c (lprin1): added blocking and testing for SIGINT so that
2604	output won't hang on VMS.
2605
2606	* scm.c (repl): added fflush call.
2607
2608	* scm.c (err_head, wta): added fflush calls to error routines so
2609	that error message come out in proper order.
2610
2611