*** empty log message ***
[bpt/guile.git] / libguile / ChangeLog
1 Thu Sep 5 11:38:07 1996 Jim Blandy <jimb@floss.cyclic.com>
2
3 * load.c (scm_sys_try_load): Correct spelling.
4
5 * feature.c (scm_loc_features): Make this static.
6
7 * Makefile.in (libpath.h): Omit trailing slash from path. We
8 shouldn't require it of users, so why put it here?
9
10 Move code to initialize and search %load-path from ice-9 to C
11 code, so we can use the load-path to find the ice-9 boot code;
12 this makes it easier to run Guile without installing it. See
13 corresponding changes in guile/Makefile.in.
14 * feature.c: Move stuff concerned with the load path to load.c.
15 (scm_compiled_library_path): Deleted.
16 Don't #include libpath.h here.
17 * feature.h: Don't mention scm_compiled_library_path.
18 * load.c: #include "libpath.h" here, as well as <sys/types.h>,
19 <sys/stat.h>, and <unistd.h> (if present).
20 (R_OK): #define if the system hasn't deigned to.
21 (scm_loc_load_path): New variable.
22 (scm_init_load_path, scm_sys_search_load_path,
23 scm_sys_try_load_path): New functions.
24 (scm_init_load): Initialize scm_loc_load_path to point to the
25 value cell of the Scheme %load-path variable.
26 * load.h: Add declarations for scm_sys_search_load_path,
27 scm_sys_try_load_path.
28 * init.c: Call scm_init_load_path.
29 * Makefile.in (feature.o, load.o): Dependencies updated.
30
31 * load.c, load.h: Rewrite using PROTO macro.
32
33 Thu Sep 5 01:54:33 1996 Mikael Djurfeldt <mdj@woody.nada.kth.se>
34
35 * gc.c (scm_cellp): New function: C predicate to determine if an
36 SCM value can be regarded as a pointer to a cell on the heap.
37
38 * gc.h: Added declaration of scm_cellp.
39
40 * gdb_interface.h: New file: The GDB interface header from the GDB
41 distribution.
42
43 * gdbint.c: New file: GDB interface.
44
45 * gdbint.h: New file: GDB interface.
46
47 * libguile.h: Added #include <libguile/gdbint.h>.
48
49 * init.c (scm_boot_guile): Added scm_init_gdbint.
50
51 * Makefile.in: Added gdb_interface.h, gdbint.[hc].
52 Added -I.. to INCLUDE_CFLAGS (otherwise the include files won't be
53 found if object files and source are kept separate).
54
55 Wed Sep 4 14:35:02 1996 Jim Blandy <jimb@floss.cyclic.com>
56
57 * feature.h, feature.c: Use PROTO macro, instead of #if __STDC__.
58
59 Wed Sep 4 01:30:47 1996 Jim Blandy <jimb@totoro.cyclic.com>
60
61 * configure.in: Don't substitute the values of TCL_SRC_DIR and
62 TK_SRC_DIR; they're not relevant any more.
63
64 * Makefile.in (CC): Don't list -Wall here; it's a GCC-specific flag.
65 * configure.in: Instead, put it in CFLAGS here, iff we're using GCC.
66
67 Wed Sep 4 00:55:49 1996 Jim Blandy <jimb@floss.cyclic.com>
68
69 * PLUGIN/guile.config (xtra_cflags): Include .. in the header
70 search path, so we can find the <libguile/MUMBLE.h> headers.
71
72 * Makefile.in (ancillary): List aclocal.m4, for 'make dist'.
73
74 * Makefile.in (ALL_CFLAGS): Don't mention CFLAGS here; it's
75 implicit in the .c.o rule.
76 (.c.x): Don't mention ALL_CFLAGS here; its value is included in
77 $(CC) already.
78
79 Put the library path in a header file, instead of passing it on
80 the command line in every compilation.
81 * Makefile.in (libpath.h): New target.
82 (feature.o): Depend on libpath.h.
83 (clean): Delete libpath.h.
84 (ALL_CFLAGS): Don't use -DLIBRARY_PATH here. Instead ...
85 * feature.c: ... #include "libpath.h" here.
86 * .cvsignore: Ignore libpath.h.
87
88 Don't install the unwashed masses of Guile header files in the
89 main #include path; put most of them in a subdirectory called
90 'libguile'. This avoids naming conflicts between Guile header
91 files and system header files (of which there were a few).
92 * Makefile.in (pkgincludedir): Deleted.
93 (innerincludedir): New variable; this and $(includedir) are enough.
94 (INCLUDE_CFLAGS): Search for headers in "-I$(srcdir)/..".
95 (installed_h_files): Divide this up. Now this variable lists
96 those header files which should go into $(includedir) (i.e. appear
97 directly in the #include path), and ...
98 (inner_h_files): ... this new variable says which files appear in
99 a subdirectory, and are referred to as <libguile/mumble.h>.
100 (h_files): List them both.
101 (install): Create innerincludedir, not pkgincludedir. Put
102 the installed_h_files and inner_h_files in their proper places.
103 (uninstall): Corresponding changes.
104 * alist.h, append.h, arbiters.h, async.h, boolean.h, chars.h,
105 continuations.h, debug.h, dynwind.h, error.h, eval.h, fdsocket.h,
106 feature.h, fports.h, gc.h, genio.h, gsubr.h, hash.h, init.h,
107 ioext.h, kw.h, libguile.h, list.h, markers.h, marksweep.h,
108 mbstrings.h, numbers.h, options.h, pairs.h, ports.h, posix.h,
109 print.h, procprop.h, procs.h, ramap.h, read.h, root.h,
110 sequences.h, smob.h, socket.h, srcprop.h, stackchk.h, stime.h,
111 strings.h, strop.h, strorder.h, strports.h, struct.h, symbols.h,
112 tag.h, throw.h, unif.h, variable.h, vectors.h, version.h,
113 vports.h, weaks.h: Find __scm.h in its new location.
114 * __scm.h: Find scmconfig.h and tags.h in their new locations
115 (they're both "inner" files).
116
117 Tue Sep 3 20:27:35 1996 Jim Blandy <jimb@floss.cyclic.com>
118
119 * Makefile.in (.c.x): Remove duplicate use of $(ALL_CFLAGS).
120
121 Tue Sep 3 19:53:00 1996 Jim Blandy <jimb@totoro.cyclic.com>
122
123 * posix.c: Doc fixes.
124
125 Mon Sep 2 15:22:40 1996 Jim Blandy <jimb@totoro.cyclic.com>
126
127 * socket.c: Don't include a prototype for inet_aton; just use a
128 K&R style declaration, to avoid warnings but minimize the chance
129 of conflicts with the system.
130
131 On NextStep, <utime.h> doesn't define struct utime, unless we
132 #define _POSIX_SOURCE before #including it.
133 * aclocal.m4 (GUILE_STRUCT_UTIMBUF): New test.
134 * acconfig.h: New comment text for above CPP symbol.
135 * configure.in: Call it.
136 * posix.c: #define _POSIX_SOURCE if it seems necessary.
137
138 * configure.in (AC_CHECK_HEADERS): Include sys/utime.h and utime.h
139 in the list.
140 * posix.c: Check HAVE_SYS_UTIME_H and HAVE_UTIME_H, instead of
141 testing for __EMX__.
142
143 * posix.c: #include <libc.h>, if it exists.
144
145 * posix.c: Cast the return result to GETGROUPS_T, not gid_t; we
146 don't even know if the latter exists.
147
148 * posix.c (s_sys_setpgid, s_sys_setsid, s_sys_ctermid,
149 s_sys_tcgetpgrp, s_sys_tcsetpgrp): Renamed from s_setpgid,
150 s_setsid, s_ctermid, s_tcgetpgrp, s_tcsetpgrp, for consistency.
151
152 * posix.c (R_OK, W_OK, X_OK, F_OK): #define these if the system's
153 header files don't.
154 (scm_init_posix): Use them when initializing the Scheme constants
155 of the same name.
156
157 Fri Aug 30 16:01:30 1996 Jim Blandy <jimb@floss.cyclic.com>
158
159 * Makefile.in (libdir, includedir, bindir): Use the
160 autoconf-supplied values, instead of deriving them ourselves.
161 (pkgincludedir, datadir, pkgdatadir): New variables.
162 (install, uninstall): Put the header files in a special
163 subdirectory, not in the main search path.
164
165 * Makefile.in (ALL_CFLAGS): Provide the proper value for
166 LIBRARY_PATH --- use $(pkgdatadir) instead of $(libdir).
167
168 * Makefile.in (IMPLPATH): Deleted; never used.
169
170 * Makefile.in (TCL_SRC_DIR, TK_SRC_DIR): Deleted; we don't depend
171 on the Tcl/Tk source any more.
172 (INCLUDE_CFLAGS): Remove references to the above.
173
174 * Makefile.in (version.o): Corrected dependencies.
175
176 Thu Aug 29 23:06:19 1996 Thomas Morgan <tmorgan@gnu.ai.mit.edu>
177
178 * libguile.h: #include "version.h"
179
180 * init.c (scm_boot_guile): Call scm_init_version.
181 * gscm.c (gscm_run_scm): Call scm_init_version.
182
183 * configure.in (GUILE_MAJOR_VERSION, GUILE_MINOR_VERSION,
184 GUILE_VERSION): AC_DEFINE these.
185 (acconfig.h): #undef the above symbols.
186
187 * Makefile.in (libobjs): Add version.o.
188 (installed_h_files): Add version.h.
189 (c_files): Add version.c.
190 (gen_c_files): Add version.x.
191 (version.o): New rule.
192 (alist.o, append.o, appinit.o, arbiters.o, async.o, boolean.o,
193 chars.o, continuations.o, dynwind.o, eq.o, error.o, eval.o,
194 fdsocket.o, feature.o, files.o, filesys.o, fports.o, gc.o,
195 genio.o, gsubr.o, hash.o, hashtab.o, init.o, kw.o, list.o, load.o,
196 mallocs.o, markers.o, marksweep.o, mbstrings.o, numbers.o,
197 objprop.o, pairs.o, ports.o, posix.o, print.o, procprop.o,
198 procs.o, ramap.o, read.o, root.o, scmsigs.o, sequences.o,
199 simpos.o, smob.o, socket.o, stackchk.o, stime.o, strings.o,
200 strop.o, strorder.o, strports.o, struct.o, symbols.o, tag.o,
201 throw.o, unif.o, variable.o, vectors.o, version.o, vports.o,
202 weaks.o): Add version.h to dependency lists.
203 (markers.o): Remove duplicate rule.
204
205 * version.h: New file.
206
207 * version.c: New file.
208
209 Thu Aug 29 15:21:39 1996 Jim Blandy <jimb@totoro.cyclic.com>
210
211 * symbols.c (scm_strhash): scm_downcase is now a function, not an
212 array; use it appropriately. Since GCC is quite happy to
213 subscript functions, it never warned us about this; we should use
214 -Wpointer-arith in the future. I guess we never tested
215 case-insensitivity.
216
217 Wed Aug 28 18:52:22 1996 Jim Blandy <jimb@totoro.cyclic.com>
218
219 * socket.c: Doc and copyright fixes.
220
221 Sat Aug 24 05:29:19 1996 Mikael Djurfeldt <mdj@woody.nada.kth.se>
222
223 * debug.c: Fixed and improved gdb support.
224
225 Fri Aug 23 18:00:16 1996 Mikael Djurfeldt <mdj@woody.nada.kth.se>
226
227 * socket.c: Added declaration of inet_aton to avoid compiler
228 warning. (Hope this solution is correct.)
229
230 * stime.c: Added declaration of ftime. (This is missing in
231 Solaris 2 headers.)
232
233 Fri Aug 23 02:03:32 1996 Gary Houston <ghouston@actrix.gen.nz>
234
235 * configure, scmconfig.h.in: Updated, using autoconf and autoheader.
236
237 * Makefile.in (c_files): add strerror.c.
238
239 * strerror.c: new file from Emacs' sysdep.c.
240 maybe configure should also check for sys_errlist.
241
242 * configure.in (AC_REPLACE_FUNCS): add strerror.
243
244 Fri Aug 23 03:02:46 1996 Mikael Djurfeldt <mdj@woody.nada.kth.se>
245
246 * debug.c (scm_init_debug): Added initialization for
247 scm_evaluator_traps.
248
249 * debug.h, debug.c: Various name changes.
250 (Mostly prefixing with SCM_.) Renamed "debug-options" -->
251 "debug-options-interface". See commentary in options.c.
252
253 * options.h, options.c: Options now have documentation strings.
254 Also added a long explanatory commentary.
255
256 * eval.c, print.h, print.c, read.h, read.c: Modifications to
257 run-time options.
258
259 * gscm.c, init.c, root.c, throw.c: Bug fixes:
260 last_debug_info_frame is now updated in all cases.
261
262 * __scm.h, stackchk.h, stackchk.c: Guile now performs stack
263 checking.
264
265 Thu Aug 22 17:34:17 1996 Mikael Djurfeldt <mdj@woody.nada.kth.se>
266
267 * __scm.h: SCM_STACK_LIMIT removed (now a run-time option).
268 Added option STACK_CHECKING.
269
270 Tue Aug 20 18:48:40 1996 Mikael Djurfeldt <djurfeldt@nada.kth.se>
271
272 * Makefile.in: Added {debug,options,srcprop}.{h,c}
273
274 * __scm.h: Removed symbols for debugging support.
275
276 * acconfig.h: Added symbols for debugging support.
277
278 * * configure.in: Added user option for debugging support.
279 --enable-debug will include the debugging code into libguile.a.
280
281 * continuations.c (scm_make_cont): Enlarged the #if 0 around
282 scm_relocate_chunk_to_heap.
283
284 * * debug.c: New file: low-level debugging support. It also
285 includes support for debugging with gdb. (The extensions to gdb
286 are written by Per Bothner at Cygnus.)
287
288 * debug.h: New file: low-level debugging support.
289
290 * * eval.c: scm_m_set and SCM_IM_SET no longer supports multiple
291 argument pairs. Extensive modifications to the debugging
292 evaluator. Added "SECTION:" commentaries to clarify what happens
293 when, during double compilation. Renamed EVALIMP --> EVALIM.
294 Renamed EVAL --> XEVAL. Removed function evalcar. Defined
295 evalcar to scm_eval_car. Added explanation of "EVAL" symbols to
296 the beginning of the file. New procedure: scm_unmemocopy.
297 Added some global state variables needed by the debugging
298 evaluator: scm_ceval_ptr, last_debug_info_frame, debug_mode,
299 check_entry, check_apply, check_exit, debug_options and
300 evaluator_traps. New acro: undefine.
301
302 * eval.h: Renamed EVAL --> XEVAL.
303
304 * gc.c (scm_init_storage): Renamed scm_make_weak_hash_table
305 --> scm_make_weak_key_hash_table.
306
307 * init.c (scm_restart_stack, scm_boot_guile): Added initialization
308 of SCM_DFRAME. Added calls to scm_init_{debug,options,srcprop}.
309
310 * libguile.h: Conditionally include debug.h
311
312 * * objprop.c (scm_object_properties, scm_set_object_properties_x):
313 scm_object_properties shouldn't return handle. `handle' now gets
314 initialized in scm_set_object_properties_x. scm_object_properties
315 doesn't any longer create an entry in scm_object_whash.
316
317 * * options.c: New file: handling of run time options.
318
319 * options.h: New file: handling of run time options.
320
321 * posix.c (scm_getpgrp): Cast pointer to getpgrp.
322
323 * * print.c: New procedure: scm_print_options
324
325 * print.h: Defines for print options.
326
327 * * read.c: New procedure: scm_read_options
328
329 * read.h: Defines for reader options.
330
331 * root.h: Added scm_source_whash among scm_sys_protects.
332
333 * * srcprop.c: New file: source properties.
334
335 * srcprop.h: New file: source properties.
336
337 * throw.c (jbsmob): Jump buffers are now correctly allocated.
338 (Bug found by A. Green.)
339
340 * * weak.c: Renamed scm_weak_hash_table --> scm_weak_key_hash_table.
341
342 * weak.h: Renamed scm_weak_hash_table --> scm_weak_key_hash_table.
343
344 Thu Aug 15 02:05:14 1996 Jim Blandy <jimb@totoro.cyclic.com>
345
346 * libguile.h: #include "objprop.h"; I guess this was forgotten.
347
348 * init.c (scm_boot_guile): Don't call scm_init_rgx; it's a plugin,
349 and should be called by the final client.
350
351 Wed Aug 14 21:41:37 1996 Jim Blandy <jimb@totoro.cyclic.com>
352
353 * gc.h: Use the PROTO macro when declaring functions.
354 * gc.c: Use the PROTO macro when declaring static functions.
355 Remove the CPP hair around function definitions.
356
357 * gc.c (scm_init_storage): Initialize scm_asyncs.
358
359 * libguile.h: #include "__scm.h" before testing the STDC_HEADERS
360 preprocessor symbol; "__scm.h" is where it might get #defined.
361 * __scm.h: Similar: #include <scmconfig.h> before testing
362 HAVE_LIMITS_H.
363
364 * __scm.h: It's HAVE_LIMITS_H, not HAVE_LIMITSH.
365
366 Fri Aug 9 11:09:28 1996 Jim Blandy <jimb@totoro.cyclic.com>
367
368 * * init.c (scm_boot_guile): Add init_func argument; call
369 (*init_func) instead of calling scm_appinit; it's ucky to
370 hard-code names for the user's procedures.
371 * init.h (scm_boot_guile): Adjust declaration.
372
373 * __scm.h (PROTO): New macro, for declaring functions with
374 prototypes.
375
376 * init.h (scm_start_stack, scm_restart_stack): Use PROTO;
377 eliminate all the __STDC__ conditionals.
378 (scm_boot_guile): Add declaration.
379 * init.c (scm_start_stack, scm_restart_stack, scm_boot_guile):
380 Remove __STDC__ conditionals around function definitions; the
381 declarations in init.h will provide the same information, more
382 usefully.
383
384 * __scm.h (SCM_SYSMISSING): When we don't have ENOSYS, don't
385 complain about it in the error message; the error message is
386 adequate without that note, and there's nothing the user can do
387 about it.
388
389 Wed Aug 7 14:14:46 1996 Jim Blandy <jimb@totoro.cyclic.com>
390
391 * Makefile.in (ancillary): Drop def.sed.
392
393 * posix.c (scm_init_posix): Use numeric values, rather than
394 CPP symbols, when defining the scheme values R_OK, W_OK, X_OK, and
395 F_OK. The symbols aren't available on some systems, and I'm
396 pretty sure their values are fixed by common widespread practice.
397 * ioext.c (scm_init_ioext): Code here defined them too; remove it.
398
399 More functions unavailable on some systems.
400 * configure.in (AC_CHECK_FUNCS): Add ctermid, setpgid, setsid,
401 tcgetpgrp, tcsetpgrp, and waitpid to the list of functions to
402 check for.
403 * configure, scmconfig.h.in: Updated, using autoconf and autoheader.
404 * posix.c (scm_sys_ctermid, scm_sys_setpgid, scm_sys_setsid,
405 scm_sys_tcgetpgrp, scm_sys_tcsetpgrp, scm_sys_waitpid): Put the
406 bodies of these functions in "#ifdef HAVE_MUMBLE" clauses, with a
407 stub that signals an error as the #else.
408
409 * Makefile.in (ancillary): Drop acconfig-1.5.h; add acconfig.h.
410
411 Wed Aug 7 06:28:42 1996 Gary Houston <ghouston@actrix.gen.nz>
412
413 * Fixes motivated by Petr Adamek <adamek@mit.edu>:
414
415 * unif.c: include ramap.h.
416
417 * read.c (endif): case_insensative_p renamed case_insensitive_p.
418
419 * ramap.h: rename scm_array_copy prototypes to scm_array_copy_x.
420
421 * ports.c: include sys/ioctl.h.
422
423 * scmconfig.h.in: add HAVE_SYS_IOCTL_H.
424
425 * configure.in: check for sys/ioctl.h.
426
427 * ports.c: include <malloc.h> not "malloc.h".
428
429 * mallocs.c: include <malloc.h> not "malloc.h", likewise for unistd.h.
430
431 * fports.c: remove ttyname and tmpnam declarations.
432
433 * posix.c: fewer ttyname declarations.
434
435 * fports.c: include <string.h> not "string.h".
436
437 * init.c, ioext.c: include string.h and unistd.h.
438
439 * gc.c: include <malloc.h> not "malloc.h", likewise for unistd.h.
440
441 * async.c, strings.h, strports.c, struct.c, symbols.c, feature.c,
442 genio.c, simpos.c, vports.c: include string.h.
443
444 * socket.c, fdsocket.c: include string.h only if HAVE_STRING_H.
445
446 * fdsocket.c (getsockopt, setsockopt): change type of optlen from
447 scm_sizet to int.
448 (scm_addr_buffer_size): change type from scm_sizet to int.
449 (accept, getsockname, getpeername, recvfrom): change type of tmp_size
450 from scm_sizet to int.
451
452 * error.c: include unistd.h.
453
454 * __scm.h: (SCM_SYSMISSING): another version in case ENOSYS isn't
455 defined.
456
457 * Makefile.in: remove references to .hd, .cd suffix and __scm.hd.
458
459 * __scm.hd, def.sed: deleted.
460
461 Tue Aug 6 14:49:08 1996 Jim Blandy <jimb@totoro.cyclic.com>
462
463 Changes for NeXT, suggested by Robert Brown.
464 * configure.in: Call AC_TYPE_MODE_T.
465 (AC_CHECK_HEADERS): Add libc.h, to get more prototypes on the
466 NeXT. Put header file list in alphabetical order.
467 * configure, scmconfig.h.in: Regenerated.
468 * filesys.c [HAVE_LIBC_H]: #include <libc.h>.
469
470 * filesys.c [HAVE_STRING_H]: #include <string.h>, to get prototype
471 for strerror.
472
473 * acconfig.h: New file, providing documentation for the CPP
474 symbols defined in configure.in
475 * acconfig-1.5.h: Removed; superceded by the above.
476
477 Sat Aug 3 01:27:14 1996 Gary Houston <ghouston@actrix.gen.nz>
478
479 * ioext.c (scm_sys_fdopen): fix the port-table assignment.
480
481 * * fports.c (scm_open_file): don't return #f, throw error.
482
483 * * ioext.c (fileno): renamed from %fileno.
484 (soft-fileno): deleted.
485
486 * ports.c (scm_port_revealed): don't need to check for -1 from
487 scm_revealed_count.
488 (scm_set_port_revealed_x): return unspecified, not #f.
489
490 * * ioext.c (primitive-move->fdes): return #t or #f, not 1 or 0.
491
492 * fdsocket.c: getsockopt, setsockopt: use HAVE_STRUCT_LINGER.
493
494 * scmconfig.h.in: add HAVE_STRUCT_LINGER.
495
496 * configure.in: check for struct linger, set HAVE_STRUCT_LINGER.
497
498 Thu Aug 1 02:58:39 1996 Jim Blandy <jimb@totoro.cyclic.com>
499
500 * filesys.c, posix.c: #include <sys/types.h> before <sys/stat.h>.
501 This is necessary on Ultrix, and doesn't hurt portability.
502
503 * Makefile.in (dist-dir): New target, implementing a new dist system.
504 (installed_h_files): Put in alphabetical order.
505 Remove duplicate entries for markers.h and unif.h.
506 (c_files): Remove duplicate entries for markers.c.
507 (ancillary): Renamed from anillery; all uses changed. Remove
508 PLUGIN; it's a directory, and needs special treatment in dist-dir.
509 Remove all the ../doc/* files; doc/Makefile.in handles that.
510
511 * Makefile.in (libobjs): Remove duplicate entry for markers.o.
512
513 * Makefile.in (.c.x): Compensate for Ultrix's broken Bourne shell:
514 every if must have an else, or else the whole command has a
515 non-zero exit code whenever the if's condition is false.
516
517 Thu Aug 1 08:22:24 1996 Gary Houston <ghouston@actrix.gen.nz>
518
519 * posix.c: include string.h.
520
521 Wed Jul 31 23:43:05 1996 Gary Houston <ghouston@actrix.gen.nz>
522
523 * * numbers.c: rename %expt -> $expt, %atan2 -> $atan2, as it must
524 have been once.
525
526 * * posix.c, ioext.c, socket.c, fdsocket.c, files.c, filesys.c, simpos.c:
527 Remove leading % from scheme names.
528 Do not return error values, call SCM_SYSERROR or similar.
529
530 * __scm.h (SCM_SYSERROR, SCM_SYSMISSING): new macros.
531
532 Wed Jun 12 00:28:31 1996 Tom Lord <lord@beehive>
533
534 * struct.c (scm_init_struct): new file.
535
536 Fri Jun 7 14:02:00 1996 Tom Lord <lord@beehive>
537
538 * list.c (scm_list_tail): list-cdr-ref is the same as list-tail.
539 (scm_list_head): added list-head for rapidly chopping argument
540 lists off of longer lists (and similar).
541
542 Tue Jun 4 09:40:33 1996 Tom Lord <lord@beehive>
543
544 * objprop.c (scm_object_property): assq the cdr of the whash
545 handle for obj, not the handle itself.
546
547 Mon Jun 3 17:19:30 1996 Tom Lord <lord@beehive>
548
549 * gc.c (scm_mark_weak_vector_spines): Mark the spines (alists) of
550 weak hash tables last of all marking to avoid an obscure gc bug.
551 WARNING: circular lists stored in a weak hash table will hose us.
552
553 Fri May 24 09:53:39 1996 Tom Lord <lord@beehive>
554
555 * vectors.c (scm_vector_move_left_x, scm_vector_move_right_x):
556 new functions similar to scm_substring_move_left_x and
557 scm_substring_move_right_x.
558
559 Wed May 22 20:07:01 1996 Tom Lord <lord@beehive>
560
561 * init.c (scm_boot_guile): prevent gc with scm_block_gc not
562 scm_gc_heap_lock!
563
564 Wed May 15 16:13:29 1996 Tom Lord <lord@beehive>
565
566 * ports.c (scm_unread_char): scm_gen_ungetc as a scheme procedure.
567
568 Thu May 9 09:33:17 1996 Tom Lord <lord@beehive>
569
570 * strports.c (scm_strprint_obj): convenience function. C for
571 (lambda (obj) (call-with-output-string (lambda (p) (write obj p))))
572
573 * guile-{tcl,tk}.[ch], events.[ch], keysyms.[ch], tcl-channels.[ch]
574 removed to a separate library
575
576 * init.c (scm_boot_guile): copied from guile-tcl.c.
577 Initialization specific to tcl interpreters removed.
578
579 Wed May 8 15:07:37 1996 Tom Lord <lord@beehive>
580
581 * ports.c (scm_ports_prehistory): size malloced here doesn't
582 matter so long as it is non-0 (got rid of "* 4").
583
584 Tue May 7 11:43:37 1996 Tom Lord <lord@beehive>
585
586 * gscm.h: gscm_mkarray eliminated (presumably was not being used
587 since its definition was bogus).
588
589 Mon May 6 13:02:56 1996 Tom Lord <lord@beehive>
590
591 * mallocs.[ch]: back again (for rx at least).
592
593 Wed Apr 17 08:54:20 1996 Tom Lord <lord@beehive>
594
595 * ports.c: removed functions relating to the mapping between ports
596 and descriptors. (That stuff is unix-specific and should be collected
597 in a separate library).
598
599 * ramap.c (scm_array_copy): return #<unspecified> not #<undefined>.
600 (Tom Mckay@avanticorp.com)
601
602 Mon Apr 15 14:16:55 1996 Tom Lord <lord@beehive>
603
604 * gc.c (scm_gc_sweep): Immediates in weak vectors were not
605 handled correctly (SCM_FREEP was applied to them) -- test for
606 NIMP. Keys in weak hash tables were spuriously (though harmlessly)
607 being overwritten with #f. (brown@grettir.bibliotech.com)
608
609 Tue Apr 2 22:25:00 1996 Tom Lord <lord@beehive>
610
611 * gc.c (scm_unhash_name): new procedure, unhash-name, flushes glocs
612 for a specific symbol or for all symbols.
613
614 Mon Apr 1 10:34:55 1996 Tom Lord <lord@beehive>
615
616 * gc.c (scm_gc_mark): mark weak hash tables correctly (was getting weak
617 keys and weak values confused).
618
619 Thu Mar 14 22:20:20 1996 Tom Lord <lord@beehive>
620
621 * list.c (scm_last_pair): map '()=>'()
622
623 Wed Mar 13 16:43:34 1996 Tom Lord <lord@beehive>
624
625 * pairs.c, hashtab.c, list.c, alist.c append.c, sequences.c:
626 Generalized assoc and hash-table functions.
627 Factored pairs.c into multiple files.
628
629 Fri Mar 8 14:44:39 1996 Tom Lord <lord@beehive>
630
631 * gscm.c (gscm_run_scm): got rid of objprop.
632
633 Fri Mar 1 10:39:52 1996 Tom Lord <lord@beehive>
634
635 * genio.c (scm_getc):
636 NOTE: fgetc may not be interruptable.
637
638 * procprop.c (scm_stand_in_scm_proc):
639 NOTE: don't use a alist here.
640 (scm_set_procedure_properties_x): fix type checking throughout this file.
641
642 * gc.c (scm_gc_sweep): free heap segments with free, not must_free.
643
644 * ports.c (scm_remove_from_port_table): adjust scm_mallocated
645 after freeing part of the port table.
646
647 Thu Feb 29 16:21:17 1996 Tom Lord <lord@beehive>
648
649 * strports.c (scm_mkstrport):
650 * vports.c (scm_make_soft_port): allocate a port table entry
651 (possibly triggering gc) before setting the tag of the corresponding
652 ports handle.
653
654 * pairs.c (scm_delq_x): never throw an error.
655
656 * vectors.c (scm_make_vector): made the default vector fill argument
657 into '() (much more useful than the previous value, "#unspecified")
658
659 Mon Feb 26 17:19:09 1996 Tom Lord <lord@beehive>
660
661 * ports.c (scm_add_to_port_table): Added fields
662 to port table entries: file_name, line_num, col.
663 Update these in open_file, gen_getc and gen_ungetc.
664 Added procedures to access those fields.
665
666 Sun Feb 25 00:10:36 1996 Tom Lord <lord@beehive>
667
668 * procs.c (scm_make_subr_opt): new entry point for making
669 anonymous subrs.
670
671 Sat Feb 24 17:11:31 1996 Tom Lord <lord@beehive>
672
673 * gc.h: SCM_STACK_GROWS_UP is now set by autoconf.
674
675 Fri Feb 23 10:26:29 1996 Tom Lord <lord@beehive>
676
677 * numbers.c (scm_exact_p): This function no longer
678 implements "integer?".
679
680 Thu Feb 22 20:56:16 1996 Tom Lord <lord@beehive>
681
682 * gc.c (scm_gc_end): simulate a signal at the end of each GC.
683 (scm_gc_stats): return an assoc of useful data. Replaces "room"
684 and the stats reporting formerlly built into repl.
685
686 * repl.[ch]: removed.
687 GC statistics keeping moved to gc.c.
688 Other statistics keeping can be done from Scheme.
689 REPLS are now written in Scheme.
690
691 Wed Feb 21 10:28:53 1996 Tom Lord <lord@beehive>
692
693 * cnsvobj.c (gscm_is_gscm_obj): new file for old functions (icky
694 conservatively marked objects).
695
696 * throw.c (scm_ithrow): Unwind up to the right catch during a throw!
697
698 * error.c (scm_init_error): init system_error_sym here, not in repl.c.
699
700 * feature.c (scm_compiled_library_path): moved here from repl.c.
701 This file is for stuff relating specifically to Scheme libraries
702 like slib.
703
704 * eval.c (scm_m_define): don't give warning about redefinition, don't
705 check verbosity.
706
707 NOTE: this should throw a resumable exception with parameters --
708 the name, the top-level env, the variable, the definition, #t/#f: redefining builtin?
709
710 * repl.c (scm_gc_begin/end): don't print a message, don't check verbosity.
711
712 * error.c: scm_warn eliminated.
713
714 * read.c (scm_lreadr): extra right paren gets an error, not a warning.
715
716 * repl.c, marksweep.c, gc.c (various):
717 lose exit_report, growth_mon.
718
719 * gscm.c: got rid of verbosity functions.
720
721 Tue Feb 20 00:19:10 1996 Tom Lord <lord@beehive>
722
723 * throw.c (scm_ithrow): guard against the bad-throw hook changing
724 between the call to procedurep and use.
725
726 * error.c (scm_everr):
727 * gc.c (fixconfig):
728 * gsubr.c (scm_make_gsubr): use exit, not scm_quit. still wrong,
729 but less so.
730
731 * strports.c: don't reveal the port's string to the caller
732 because it changes size.
733
734 (stputc stwrite): check/change the strings length with interrupts
735 blocked.
736
737 * objprop.c (scm_set_object_property_x &c): use the generic
738 hashing functions and be threadsafe.
739
740 * eval.c (scm_unmemocar): do this operation in a thread-safe way.
741 (per suggestion jaffer@gnu.ai.mit.edu).
742
743 * mbstrings.c (scm_multi_byte_string): guard against argument list
744 changing length.
745
746 * strings.c (scm_make_string): loop cleanup
747
748 * unif.c (scm_vector_set_length_x): scm_vector_set_length_x no longer
749 a scheme function.
750
751 * weaks.c (scm_weak_vector): guard against argument list
752 changing length.
753
754 * variable.c (scm_builtin_variable): check for/make a built-in
755 variable automicly.
756
757 * vectors.c (scm_vector): while filling the new array,
758 guard against a list of fill elements that grows after
759 the vector is allocated.
760
761 * hashtab.c -- new file: general hash table
762 functions. hash, hashq, hashv, hashx.
763
764 * tags.h: made wvect an option bit of vector.
765
766 Mon Feb 19 09:38:05 1996 Tom Lord <lord@beehive>
767
768 * symbols.c: made the basic symbol table operations atomic.
769
770 * root.c &c.: collected stack-specific global state.
771 linum/colnum etc *should* be port-specific state.
772
773 * struct.c (scm_init_struct): init the first struct type during
774 initialization to fix a race condition.
775
776 * continuations.c (scm_dynthrow): pass throwval in the 'regs'
777 object, not in a global.
778 (suggested by green@cygnus, jaffer@gnu.ai.mit.edu)
779
780 * throw.c (_scm_throw): Pass throwval on the stack, not in a global
781 (suggested by green@cygnus, jaffer@gnu.ai.mit.edu)
782
783 * *.[ch]: namespace cleanup. Changed all (nearly) exported CPP
784 and C symbols to begin with SCM_ or scm_.
785
786 Sun Feb 18 15:55:38 1996 Tom Lord <lord@beehive>
787
788 * gsubr.c (scm_gsubr_apply): statically allocate the
789 array of arguments (bothner@cygnus.com).
790
791 Sat Feb 17 20:20:40 1996 Tom Lord <lord@beehive>
792
793 * scmsigs.c: Simplified to use async rountines.
794
795 * async.c: New support for interrupt handlers.
796
797 Thu Feb 15 11:39:09 1996 Tom Lord <lord@beehive>
798
799 * symbols.c (scm_string_to_symbol et al.): number of tweaky changes to
800 set the multi_byte flag correctly in symbols. This is wrong.
801 intern_obbary_soft and msymbolize should take an extra parameter.
802 Also, weird multibyte symbols don't print correctly.
803 The weird symbol syntax is also a bit bogus (emacs doesn't quite
804 cope).
805
806 Tue Feb 13 11:39:37 1996 Tom Lord <lord@beehive>
807
808 * symbols.c (scm_string_to_obarray_symbol): obarray == #f means
809 use the system symhash. == #t means create an uninterned symbol.
810
811 Wed Feb 7 09:28:02 1996 Tom Lord <lord@beehive>
812
813 * strings.c (scm_make_shared_substring): build'em.
814 It might better to keep a table of these and use one
815 less cons-pair per shared-substring.
816
817 Tue Feb 6 17:45:21 1996 Tom Lord <lord@beehive>
818
819 * strings.c (scm_string_shared_substring): create shared
820 substrings. (Doesn't handle mb strings yet).
821
822 * mbstrings.c (scm_print_mb_string): handle RO strings.
823
824 * print.c (scm_iprin1): print substrings as their non-substring
825 counterparts (dubious).
826
827 * marksweep.c (scm_gc_mark scm_gc_sweep): handle RO and MB
828 strings.
829
830 * hash.c (scm_hasher): hash RO and MB strings as bytestrings.
831
832 * eval.c (SCM_CEVAL): self-evaluate RO and MB strings.
833
834 * eq.c (scm_equal_p): handle RO and MB strings.
835
836 * symbols.c (scm_string_to_symbol):
837 (scm_string_to_obarray_symbol):
838 * strop.c (scm_i_index):
839 (scm_i_rindex):
840 (scm_string_null_p):
841 (scm_string_to_list):
842 * strings.c (scm_string_length):
843 (scm_string_ref):
844 (scm_substring):
845 (scm_string_append):
846 * simpos.c (scm_system):
847 (scm_getenv):
848 * fports.c (scm_open_file):
849 * strorder.c (scm_string_equal_p):
850 (scm_string_ci_equal_p):
851 (scm_string_less_p):
852 (scm_string_ci_less_p):
853 * pairs.c (scm_obj_length):
854 * mbstrings.c (scm_multi_byte_string_length):
855
856 Use RO string macros for RO strings.
857
858 Tue Jan 30 09:19:08 1996 Tom Lord <lord@beehive>
859
860 * Makefile.in (CFLAGS ALL_CFLAGS): be more standard.
861
862 * strop.c (scm_i_rindex, scm_i_index): Don't use the BSD functions
863 index/rindex. Do handle embedded \000 characters.
864
865 Sun Jan 28 13:16:18 1996 Tom Lord <lord@beehive>
866
867 * error.c (def_err_response): (int)scm_err_pos => (long)scm_err_pos
868 Eliminate a (presumed) warning on some systems.
869
870 * gscm.c (gscm_run_scm): SCM_INIT_PATH => GUILE_INIT_PATH
871 (Mikael Djurfeldt <mdj@nada.kth.se>)
872
873 Sat Jan 27 12:36:55 1996 Tom Lord <lord@beehive>
874
875 * eval.c (scm_map): added argument type checking.
876 (kawai@sail.t.u-tokyo.ac.jp)
877
878 * gscm.c (gscm_set_procedure_properties_x): parameter "new" => "new_val"
879 for C++. (Seth Alves <alves@gryphon.com>)
880
881 (gscm_cstr): uses an uninitialized local variable causing
882 segv. (kawai@sail.t.u-tokyo.ac.jp)
883
884
885 * lvectors.c (scm_get_lvector_hook):
886 In guile-ii, the lvector code was broken. It was fixed in guile-iii.
887 It seems to me like if it is broken again in guile-iv...Here is a patch.
888 "! || (LENGTH (keyvec) == 0))"
889 (From: Mikael Djurfeldt <mdj@nada.kth.se>)
890
891
892 * gscm.c (gscm_sys_default_verbosity):
893 incorrectly declared for non-__STDC__
894 (Tom_Mckay@avanticorp.com)
895
896 * ports.c (scm_setfileno): Tweak the macro a bit
897 to make it easier to port to systems that use
898 more than a single structure field to hold a descriptor.
899
900 * debug.c (change_mode): Avoid GNUCism "int foo[n];"
901 Give a warning, not an error, for unrecognized modes.
902
903 * eval.c (SCM_CEVAL):
904 static char scm_s_for_each[];
905 static char scm_s_map[];
906 not needed.
907
908 * strings.c (scm_string_p):
909 static char s_string[];
910 (see next entry)
911
912 * struct.c (scm_sys_struct_set_x):
913 static char s_sys_make_struct[];
914 static char s_sys_struct_ref[];
915 static char s_sys_struct_set_x[];
916 Rearrange code to eliminate those forward decls for the sake of
917 broken compilers.
918
919 * variable.c (make_vcell_variable): static char s_make_variable[];
920 isn't needed.
921
922 * fports.c (scm_port_mode):
923 chars modes[3] = "";
924 to
925 chars modes[3];
926 modes[0] = '\0';
927 (Tom_Mckay@avanticorp.com)
928
929
930 * pairs.c (scm_set_cdr_x): non-__STDC__ declaration of
931 scm_cons2(), scm_acons(), and scm_set_cdr_x() missing semicolon
932 (Tom_Mckay@avanticorp.com)
933
934 * numbers.c (scm_num_eq_p): Non-__STDC__ declaration of
935 scm_num_eq_p() was scm_equal_p().
936 (Tom_Mckay@avanticorp.com)
937
938 * symbols.c (msymbolize): "CHARS(X) = " => "SETCHARS..."
939 (Tom_Mckay@avanticorp.com)
940
941 Fri Jan 26 14:03:01 1996 Tom Lord <lord@beehive>
942
943 * weaks.c (scm_make_weak_vector): "VELTS(X) =" => "SETVELTS..."
944 (Tom_Mckay@avanticorp.com)
945
946 * strop.c (scm_substring_fill_x):
947 Non-__STDC__ declaration of scm_substring_fill_x() missing semicolon
948 (Tom_Mckay@avanticorp.com)
949
950 * eval.c (SCM_APPLY): variables "debug_info" -> dbg_info.
951 Works around a compiler bug on some machines. (Tom_Mckay@avanticorp.com)
952
953 * _scm.h (CxR functions): #define CxR SCM_CxR => #define CxR(X) SCM_CxR(X)
954 Works around a compiler bug on some machines. (Tom_Mckay@avanticorp.com)
955
956 * lvectors.c (scm_lvector_set_x): avoid VELTS (VELTS (...)[..]) which
957 can turn into an obscure gc bug.
958
959 * chars.c (scm_char_p): fixed PROC call.
960
961 * gscm.h (gscm_vset): use scm_vector_set_x not (the missing)
962 scm_vector_set.
963
964 Tue Jan 23 13:29:40 1996 Tom Lord <lord@beehive>
965
966 * elisp.c (new file): dynamic scoping and other bits for
967 elisp. Don't use this yet unless you specificly want to
968 hack on elisp emulation.
969
970 * dynwind.c (scm_dowinds): When entering or leaving a dynamic
971 scope created by scm_with_dynamic_bindings_operation_x, swap
972 the bindings of that scope with the corresponding globals.
973
974 * continuations.c (scm_make_cont): when a continuation is captured,
975 relocate the continuation stack chunks registered on the wind chain
976 to the heap.
977
978 Sun Jan 21 19:31:17 1996 Tom Lord <lord@beehive>
979
980 * eval.c (SCM_CEVAL): if the function position evaluates
981 to a macro, process it accordingly. (Previously, macros were
982 handled only if the function position was a symbol naming a
983 variable bound to a macro).
984
985 Sat Jan 20 23:21:37 1996 Tom Lord <lord@beehive>
986
987 * eval.c (scm_m_set): allow multi-variable set! like
988 (set! x 1 y 2 z 3).
989
990 Wed Dec 6 02:40:49 1995 Tom Lord <lord@beehive>
991
992 * ports.h fports.c vports.c marksweep.c gc.c strports.c: moved the
993 STREAM of ports into the port table and replaced it with a
994 port-table index.
995
996 * repl.c (iprin1): added tc7_mb_string -- same as tc7_string.
997
998 * marksweep.c (scm_gc_mark): added tc7_mb_string -- same as tc7_string.
999
1000 * mbstrings.c (new file): functions on multi-byte strings.
1001
1002 * tags.h (scm_typ7_string, scm_typ7_mb_string): added a tag
1003 for multi-byte strings. Moved the string tag.
1004
1005 * chars.h chars.c repl.c (many functions): made scm_upcase and
1006 scm_downcase functions that are safe for extended character sets.
1007
1008 Changed the range of integer->char.
1009
1010 Changed the tyep of SCM_ICHR.
1011
1012
1013
1014 Tue May 16 17:49:58 1995 Mikael Djurfeldt <mdj@sanscalc.nada.kth.se>
1015
1016 * guile.c: Changed init file name from "SCM_INIT_PATH" to
1017 "GUILE_INIT_PATH"
1018
1019 Sun Aug 6 15:14:46 1995 Andrew McCallum <mccallum@vein.cs.rochester.edu>
1020
1021 * guile.c (gscm_is_gscm_type): New function. (Without this how will we
1022 know that it's safe to pass an object to gscm_get_type?)
1023 (gscm_get_type): Fix tyop in error message.
1024
1025 * variable.c (scm_variable_ref): fixed assertion test.
1026 (Robert STRANDH <strandh@labri.u-bordeaux.fr>)
1027
1028 * gscm.h: fixed several prototypes, notably gscm_vref.
1029 Add gscm_is_eq and temporarily commented out gscm_eq (see
1030 the note in gscm.h near gscm_eq if this change effects your
1031 code).
1032 (Reported by Mark Galassi <rosalia@sstcx1.lanl.gov>)
1033
1034 * pairs.c (scm_obj_length): see next entry.
1035
1036 * gscm.h (gscm_obj_length): A way to get an integer
1037 length for lists, strings, symbols (treated as strings),
1038 and vectors. Returns -1 on error.
1039
1040 * eq.c (scm_equal_p): fixed smob case.
1041 (William Gribble <grib@arlut.utexas.edu>)
1042
1043 * Makefile.in (X_CFLAGS): defined.
1044 (William Gribble <grib@arlut.utexas.edu>)
1045
1046 * gscm.h (gscm_2_double): provided now
1047 (reported by Mark Galassi <rosalia@sstcx1.lanl.gov>)
1048
1049 Tue Jun 13 01:04:09 1995 gnu
1050 * Vrooom!
1051
1052