32-way branching in intmap.scm, not 16-way
[bpt/guile.git] / libguile / ChangeLog-scm
CommitLineData
4b28e0b8
JB
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