1 Fri Aug 23 03:02:46 1996 Mikael Djurfeldt <mdj@woody.nada.kth.se>
3 * debug.h, debug.c: Various name changes.
4 (Mostly prefixing with SCM_.) Renamed "debug-options" -->
5 "debug-options-interface". See commentary in options.c.
7 * options.h, options.c: Options now have documentation strings.
8 Also added a long explanatory commentary.
10 * eval.c, print.h, print.c, read.h, read.c: Modifications to
13 * gscm.c, init.c, root.c, throw.c: Bug fixes:
14 last_debug_info_frame is now updated in all cases.
16 * stackchk.h, stackchk.c: Guile now performs stack checking.
18 Thu Aug 22 17:34:17 1996 Mikael Djurfeldt <mdj@woody.nada.kth.se>
20 * __scm.h: SCM_STACK_LIMIT removed (now a run-time option).
21 Added option STACK_CHECKING.
23 Tue Aug 20 18:48:40 1996 Mikael Djurfeldt <djurfeldt@nada.kth.se>
25 * Makefile.in: Added {debug,options,srcprop}.{h,c}
27 * __scm.h: Removed symbols for debugging support.
29 * acconfig.h: Added symbols for debugging support.
31 * * configure.in: Added user option for debugging support.
32 --enable-debug will include the debugging code into libguile.a.
34 * continuations.c (scm_make_cont): Enlarged the #if 0 around
35 scm_relocate_chunk_to_heap.
37 * * debug.c: New file: low-level debugging support. It also
38 includes support for debugging with gdb. (The extensions to gdb
39 are written by Per Bothner at Cygnus.)
41 * debug.h: New file: low-level debugging support.
43 * * eval.c: scm_m_set and SCM_IM_SET no longer supports multiple
44 argument pairs. Extensive modifications to the debugging
45 evaluator. Added "SECTION:" commentaries to clarify what happens
46 when, during double compilation. Renamed EVALIMP --> EVALIM.
47 Renamed EVAL --> XEVAL. Removed function evalcar. Defined
48 evalcar to scm_eval_car. Added explanation of "EVAL" symbols to
49 the beginning of the file. New procedure: scm_unmemocopy.
50 Added some global state variables needed by the debugging
51 evaluator: scm_ceval_ptr, last_debug_info_frame, debug_mode,
52 check_entry, check_apply, check_exit, debug_options and
53 evaluator_traps. New acro: undefine.
55 * eval.h: Renamed EVAL --> XEVAL.
57 * gc.c (scm_init_storage): Renamed scm_make_weak_hash_table
58 --> scm_make_weak_key_hash_table.
60 * init.c (scm_restart_stack, scm_boot_guile): Added initialization
61 of SCM_DFRAME. Added calls to scm_init_{debug,options,srcprop}.
63 * libguile.h: Conditionally include debug.h
65 * * objprop.c (scm_object_properties, scm_set_object_properties_x):
66 scm_object_properties shouldn't return handle. `handle' now gets
67 initialized in scm_set_object_properties_x. scm_object_properties
68 doesn't any longer create an entry in scm_object_whash.
70 * * options.c: New file: handling of run time options.
72 * options.h: New file: handling of run time options.
74 * posix.c (scm_getpgrp): Cast pointer to getpgrp.
76 * * print.c: New procedure: scm_print_options
78 * print.h: Defines for print options.
80 * * read.c: New procedure: scm_read_options
82 * read.h: Defines for reader options.
84 * root.h: Added scm_source_whash among scm_sys_protects.
86 * * srcprop.c: New file: source properties.
88 * srcprop.h: New file: source properties.
90 * throw.c (jbsmob): Jump buffers are now correctly allocated.
91 (Bug found by A. Green.)
93 * * weak.c: Renamed scm_weak_hash_table --> scm_weak_key_hash_table.
95 * weak.h: Renamed scm_weak_hash_table --> scm_weak_key_hash_table.
97 Thu Aug 15 02:05:14 1996 Jim Blandy <jimb@totoro.cyclic.com>
99 * libguile.h: #include "objprop.h"; I guess this was forgotten.
101 * init.c (scm_boot_guile): Don't call scm_init_rgx; it's a plugin,
102 and should be called by the final client.
104 Wed Aug 14 21:41:37 1996 Jim Blandy <jimb@totoro.cyclic.com>
106 * gc.h: Use the PROTO macro when declaring functions.
107 * gc.c: Use the PROTO macro when declaring static functions.
108 Remove the CPP hair around function definitions.
110 * gc.c (scm_init_storage): Initialize scm_asyncs.
112 * libguile.h: #include "__scm.h" before testing the STDC_HEADERS
113 preprocessor symbol; "__scm.h" is where it might get #defined.
114 * __scm.h: Similar: #include <scmconfig.h> before testing
117 * __scm.h: It's HAVE_LIMITS_H, not HAVE_LIMITSH.
119 Fri Aug 9 11:09:28 1996 Jim Blandy <jimb@totoro.cyclic.com>
121 * * init.c (scm_boot_guile): Add init_func argument; call
122 (*init_func) instead of calling scm_appinit; it's ucky to
123 hard-code names for the user's procedures.
124 * init.h (scm_boot_guile): Adjust declaration.
126 * __scm.h (PROTO): New macro, for declaring functions with
129 * init.h (scm_start_stack, scm_restart_stack): Use PROTO;
130 eliminate all the __STDC__ conditionals.
131 (scm_boot_guile): Add declaration.
132 * init.c (scm_start_stack, scm_restart_stack, scm_boot_guile):
133 Remove __STDC__ conditionals around function definitions; the
134 declarations in init.h will provide the same information, more
137 * __scm.h (SCM_SYSMISSING): When we don't have ENOSYS, don't
138 complain about it in the error message; the error message is
139 adequate without that note, and there's nothing the user can do
142 Wed Aug 7 14:14:46 1996 Jim Blandy <jimb@totoro.cyclic.com>
144 * Makefile.in (ancillary): Drop def.sed.
146 * posix.c (scm_init_posix): Use numeric values, rather than
147 CPP symbols, when defining the scheme values R_OK, W_OK, X_OK, and
148 F_OK. The symbols aren't available on some systems, and I'm
149 pretty sure their values are fixed by common widespread practice.
150 * ioext.c (scm_init_ioext): Code here defined them too; remove it.
152 More functions unavailable on some systems.
153 * configure.in (AC_CHECK_FUNCS): Add ctermid, setpgid, setsid,
154 tcgetpgrp, tcsetpgrp, and waitpid to the list of functions to
156 * configure, scmconfig.h.in: Updated, using autoconf and autoheader.
157 * posix.c (scm_sys_ctermid, scm_sys_setpgid, scm_sys_setsid,
158 scm_sys_tcgetpgrp, scm_sys_tcsetpgrp, scm_sys_waitpid): Put the
159 bodies of these functions in "#ifdef HAVE_MUMBLE" clauses, with a
160 stub that signals an error as the #else.
162 * Makefile.in (ancillary): Drop acconfig-1.5.h; add acconfig.h.
164 Wed Aug 7 06:28:42 1996 Gary Houston <ghouston@actrix.gen.nz>
166 * Fixes motivated by Petr Adamek <adamek@mit.edu>:
168 * unif.c: include ramap.h.
170 * read.c (endif): case_insensative_p renamed case_insensitive_p.
172 * ramap.h: rename scm_array_copy prototypes to scm_array_copy_x.
174 * ports.c: include sys/ioctl.h.
176 * scmconfig.h.in: add HAVE_SYS_IOCTL_H.
178 * configure.in: check for sys/ioctl.h.
180 * ports.c: include <malloc.h> not "malloc.h".
182 * mallocs.c: include <malloc.h> not "malloc.h", likewise for unistd.h.
184 * fports.c: remove ttyname and tmpnam declarations.
186 * posix.c: fewer ttyname declarations.
188 * fports.c: include <string.h> not "string.h".
190 * init.c, ioext.c: include string.h and unistd.h.
192 * gc.c: include <malloc.h> not "malloc.h", likewise for unistd.h.
194 * async.c, strings.h, strports.c, struct.c, symbols.c, feature.c,
195 genio.c, simpos.c, vports.c: include string.h.
197 * socket.c, fdsocket.c: include string.h only if HAVE_STRING_H.
199 * fdsocket.c (getsockopt, setsockopt): change type of optlen from
201 (scm_addr_buffer_size): change type from scm_sizet to int.
202 (accept, getsockname, getpeername, recvfrom): change type of tmp_size
203 from scm_sizet to int.
205 * error.c: include unistd.h.
207 * __scm.h: (SCM_SYSMISSING): another version in case ENOSYS isn't
210 * Makefile.in: remove references to .hd, .cd suffix and __scm.hd.
212 * __scm.hd, def.sed: deleted.
214 Tue Aug 6 14:49:08 1996 Jim Blandy <jimb@totoro.cyclic.com>
216 Changes for NeXT, suggested by Robert Brown.
217 * configure.in: Call AC_TYPE_MODE_T.
218 (AC_CHECK_HEADERS): Add libc.h, to get more prototypes on the
219 NeXT. Put header file list in alphabetical order.
220 * configure, scmconfig.h.in: Regenerated.
221 * filesys.c [HAVE_LIBC_H]: #include <libc.h>.
223 * filesys.c [HAVE_STRING_H]: #include <string.h>, to get prototype
226 * acconfig.h: New file, providing documentation for the CPP
227 symbols defined in configure.in
228 * acconfig-1.5.h: Removed; superceded by the above.
230 Sat Aug 3 01:27:14 1996 Gary Houston <ghouston@actrix.gen.nz>
232 * ioext.c (scm_sys_fdopen): fix the port-table assignment.
234 * * fports.c (scm_open_file): don't return #f, throw error.
236 * * ioext.c (fileno): renamed from %fileno.
237 (soft-fileno): deleted.
239 * ports.c (scm_port_revealed): don't need to check for -1 from
241 (scm_set_port_revealed_x): return unspecified, not #f.
243 * * ioext.c (primitive-move->fdes): return #t or #f, not 1 or 0.
245 * fdsocket.c: getsockopt, setsockopt: use HAVE_STRUCT_LINGER.
247 * scmconfig.h.in: add HAVE_STRUCT_LINGER.
249 * configure.in: check for struct linger, set HAVE_STRUCT_LINGER.
251 Thu Aug 1 02:58:39 1996 Jim Blandy <jimb@totoro.cyclic.com>
253 * filesys.c, posix.c: #include <sys/types.h> before <sys/stat.h>.
254 This is necessary on Ultrix, and doesn't hurt portability.
256 * Makefile.in (dist-dir): New target, implementing a new dist system.
257 (installed_h_files): Put in alphabetical order.
258 Remove duplicate entries for markers.h and unif.h.
259 (c_files): Remove duplicate entries for markers.c.
260 (ancillary): Renamed from anillery; all uses changed. Remove
261 PLUGIN; it's a directory, and needs special treatment in dist-dir.
262 Remove all the ../doc/* files; doc/Makefile.in handles that.
264 * Makefile.in (libobjs): Remove duplicate entry for markers.o.
266 * Makefile.in (.c.x): Compensate for Ultrix's broken Bourne shell:
267 every if must have an else, or else the whole command has a
268 non-zero exit code whenever the if's condition is false.
270 Thu Aug 1 08:22:24 1996 Gary Houston <ghouston@actrix.gen.nz>
272 * posix.c: include string.h.
274 Wed Jul 31 23:43:05 1996 Gary Houston <ghouston@actrix.gen.nz>
276 * * numbers.c: rename %expt -> $expt, %atan2 -> $atan2, as it must
279 * * posix.c, ioext.c, socket.c, fdsocket.c, files.c, filesys.c, simpos.c:
280 Remove leading % from scheme names.
281 Do not return error values, call SCM_SYSERROR or similar.
283 * __scm.h (SCM_SYSERROR, SCM_SYSMISSING): new macros.
285 Wed Jun 12 00:28:31 1996 Tom Lord <lord@beehive>
287 * struct.c (scm_init_struct): new file.
289 Fri Jun 7 14:02:00 1996 Tom Lord <lord@beehive>
291 * list.c (scm_list_tail): list-cdr-ref is the same as list-tail.
292 (scm_list_head): added list-head for rapidly chopping argument
293 lists off of longer lists (and similar).
295 Tue Jun 4 09:40:33 1996 Tom Lord <lord@beehive>
297 * objprop.c (scm_object_property): assq the cdr of the whash
298 handle for obj, not the handle itself.
300 Mon Jun 3 17:19:30 1996 Tom Lord <lord@beehive>
302 * gc.c (scm_mark_weak_vector_spines): Mark the spines (alists) of
303 weak hash tables last of all marking to avoid an obscure gc bug.
304 WARNING: circular lists stored in a weak hash table will hose us.
306 Fri May 24 09:53:39 1996 Tom Lord <lord@beehive>
308 * vectors.c (scm_vector_move_left_x, scm_vector_move_right_x):
309 new functions similar to scm_substring_move_left_x and
310 scm_substring_move_right_x.
312 Wed May 22 20:07:01 1996 Tom Lord <lord@beehive>
314 * init.c (scm_boot_guile): prevent gc with scm_block_gc not
317 Wed May 15 16:13:29 1996 Tom Lord <lord@beehive>
319 * ports.c (scm_unread_char): scm_gen_ungetc as a scheme procedure.
321 Thu May 9 09:33:17 1996 Tom Lord <lord@beehive>
323 * strports.c (scm_strprint_obj): convenience function. C for
324 (lambda (obj) (call-with-output-string (lambda (p) (write obj p))))
326 * guile-{tcl,tk}.[ch], events.[ch], keysyms.[ch], tcl-channels.[ch]
327 removed to a separate library
329 * init.c (scm_boot_guile): copied from guile-tcl.c.
330 Initialization specific to tcl interpreters removed.
332 Wed May 8 15:07:37 1996 Tom Lord <lord@beehive>
334 * ports.c (scm_ports_prehistory): size malloced here doesn't
335 matter so long as it is non-0 (got rid of "* 4").
337 Tue May 7 11:43:37 1996 Tom Lord <lord@beehive>
339 * gscm.h: gscm_mkarray eliminated (presumably was not being used
340 since its definition was bogus).
342 Mon May 6 13:02:56 1996 Tom Lord <lord@beehive>
344 * mallocs.[ch]: back again (for rx at least).
346 Wed Apr 17 08:54:20 1996 Tom Lord <lord@beehive>
348 * ports.c: removed functions relating to the mapping between ports
349 and descriptors. (That stuff is unix-specific and should be collected
350 in a separate library).
352 * ramap.c (scm_array_copy): return #<unspecified> not #<undefined>.
353 (Tom Mckay@avanticorp.com)
355 Mon Apr 15 14:16:55 1996 Tom Lord <lord@beehive>
357 * gc.c (scm_gc_sweep): Immediates in weak vectors were not
358 handled correctly (SCM_FREEP was applied to them) -- test for
359 NIMP. Keys in weak hash tables were spuriously (though harmlessly)
360 being overwritten with #f. (brown@grettir.bibliotech.com)
362 Tue Apr 2 22:25:00 1996 Tom Lord <lord@beehive>
364 * gc.c (scm_unhash_name): new procedure, unhash-name, flushes glocs
365 for a specific symbol or for all symbols.
367 Mon Apr 1 10:34:55 1996 Tom Lord <lord@beehive>
369 * gc.c (scm_gc_mark): mark weak hash tables correctly (was getting weak
370 keys and weak values confused).
372 Thu Mar 14 22:20:20 1996 Tom Lord <lord@beehive>
374 * list.c (scm_last_pair): map '()=>'()
376 Wed Mar 13 16:43:34 1996 Tom Lord <lord@beehive>
378 * pairs.c, hashtab.c, list.c, alist.c append.c, sequences.c:
379 Generalized assoc and hash-table functions.
380 Factored pairs.c into multiple files.
382 Fri Mar 8 14:44:39 1996 Tom Lord <lord@beehive>
384 * gscm.c (gscm_run_scm): got rid of objprop.
386 Fri Mar 1 10:39:52 1996 Tom Lord <lord@beehive>
388 * genio.c (scm_getc):
389 NOTE: fgetc may not be interruptable.
391 * procprop.c (scm_stand_in_scm_proc):
392 NOTE: don't use a alist here.
393 (scm_set_procedure_properties_x): fix type checking throughout this file.
395 * gc.c (scm_gc_sweep): free heap segments with free, not must_free.
397 * ports.c (scm_remove_from_port_table): adjust scm_mallocated
398 after freeing part of the port table.
400 Thu Feb 29 16:21:17 1996 Tom Lord <lord@beehive>
402 * strports.c (scm_mkstrport):
403 * vports.c (scm_make_soft_port): allocate a port table entry
404 (possibly triggering gc) before setting the tag of the corresponding
407 * pairs.c (scm_delq_x): never throw an error.
409 * vectors.c (scm_make_vector): made the default vector fill argument
410 into '() (much more useful than the previous value, "#unspecified")
412 Mon Feb 26 17:19:09 1996 Tom Lord <lord@beehive>
414 * ports.c (scm_add_to_port_table): Added fields
415 to port table entries: file_name, line_num, col.
416 Update these in open_file, gen_getc and gen_ungetc.
417 Added procedures to access those fields.
419 Sun Feb 25 00:10:36 1996 Tom Lord <lord@beehive>
421 * procs.c (scm_make_subr_opt): new entry point for making
424 Sat Feb 24 17:11:31 1996 Tom Lord <lord@beehive>
426 * gc.h: SCM_STACK_GROWS_UP is now set by autoconf.
428 Fri Feb 23 10:26:29 1996 Tom Lord <lord@beehive>
430 * numbers.c (scm_exact_p): This function no longer
431 implements "integer?".
433 Thu Feb 22 20:56:16 1996 Tom Lord <lord@beehive>
435 * gc.c (scm_gc_end): simulate a signal at the end of each GC.
436 (scm_gc_stats): return an assoc of useful data. Replaces "room"
437 and the stats reporting formerlly built into repl.
439 * repl.[ch]: removed.
440 GC statistics keeping moved to gc.c.
441 Other statistics keeping can be done from Scheme.
442 REPLS are now written in Scheme.
444 Wed Feb 21 10:28:53 1996 Tom Lord <lord@beehive>
446 * cnsvobj.c (gscm_is_gscm_obj): new file for old functions (icky
447 conservatively marked objects).
449 * throw.c (scm_ithrow): Unwind up to the right catch during a throw!
451 * error.c (scm_init_error): init system_error_sym here, not in repl.c.
453 * feature.c (scm_compiled_library_path): moved here from repl.c.
454 This file is for stuff relating specifically to Scheme libraries
457 * eval.c (scm_m_define): don't give warning about redefinition, don't
460 NOTE: this should throw a resumable exception with parameters --
461 the name, the top-level env, the variable, the definition, #t/#f: redefining builtin?
463 * repl.c (scm_gc_begin/end): don't print a message, don't check verbosity.
465 * error.c: scm_warn eliminated.
467 * read.c (scm_lreadr): extra right paren gets an error, not a warning.
469 * repl.c, marksweep.c, gc.c (various):
470 lose exit_report, growth_mon.
472 * gscm.c: got rid of verbosity functions.
474 Tue Feb 20 00:19:10 1996 Tom Lord <lord@beehive>
476 * throw.c (scm_ithrow): guard against the bad-throw hook changing
477 between the call to procedurep and use.
479 * error.c (scm_everr):
481 * gsubr.c (scm_make_gsubr): use exit, not scm_quit. still wrong,
484 * strports.c: don't reveal the port's string to the caller
485 because it changes size.
487 (stputc stwrite): check/change the strings length with interrupts
490 * objprop.c (scm_set_object_property_x &c): use the generic
491 hashing functions and be threadsafe.
493 * eval.c (scm_unmemocar): do this operation in a thread-safe way.
494 (per suggestion jaffer@gnu.ai.mit.edu).
496 * mbstrings.c (scm_multi_byte_string): guard against argument list
499 * strings.c (scm_make_string): loop cleanup
501 * unif.c (scm_vector_set_length_x): scm_vector_set_length_x no longer
504 * weaks.c (scm_weak_vector): guard against argument list
507 * variable.c (scm_builtin_variable): check for/make a built-in
510 * vectors.c (scm_vector): while filling the new array,
511 guard against a list of fill elements that grows after
512 the vector is allocated.
514 * hashtab.c -- new file: general hash table
515 functions. hash, hashq, hashv, hashx.
517 * tags.h: made wvect an option bit of vector.
519 Mon Feb 19 09:38:05 1996 Tom Lord <lord@beehive>
521 * symbols.c: made the basic symbol table operations atomic.
523 * root.c &c.: collected stack-specific global state.
524 linum/colnum etc *should* be port-specific state.
526 * struct.c (scm_init_struct): init the first struct type during
527 initialization to fix a race condition.
529 * continuations.c (scm_dynthrow): pass throwval in the 'regs'
530 object, not in a global.
531 (suggested by green@cygnus, jaffer@gnu.ai.mit.edu)
533 * throw.c (_scm_throw): Pass throwval on the stack, not in a global
534 (suggested by green@cygnus, jaffer@gnu.ai.mit.edu)
536 * *.[ch]: namespace cleanup. Changed all (nearly) exported CPP
537 and C symbols to begin with SCM_ or scm_.
539 Sun Feb 18 15:55:38 1996 Tom Lord <lord@beehive>
541 * gsubr.c (scm_gsubr_apply): statically allocate the
542 array of arguments (bothner@cygnus.com).
544 Sat Feb 17 20:20:40 1996 Tom Lord <lord@beehive>
546 * scmsigs.c: Simplified to use async rountines.
548 * async.c: New support for interrupt handlers.
550 Thu Feb 15 11:39:09 1996 Tom Lord <lord@beehive>
552 * symbols.c (scm_string_to_symbol et al.): number of tweaky changes to
553 set the multi_byte flag correctly in symbols. This is wrong.
554 intern_obbary_soft and msymbolize should take an extra parameter.
555 Also, weird multibyte symbols don't print correctly.
556 The weird symbol syntax is also a bit bogus (emacs doesn't quite
559 Tue Feb 13 11:39:37 1996 Tom Lord <lord@beehive>
561 * symbols.c (scm_string_to_obarray_symbol): obarray == #f means
562 use the system symhash. == #t means create an uninterned symbol.
564 Wed Feb 7 09:28:02 1996 Tom Lord <lord@beehive>
566 * strings.c (scm_make_shared_substring): build'em.
567 It might better to keep a table of these and use one
568 less cons-pair per shared-substring.
570 Tue Feb 6 17:45:21 1996 Tom Lord <lord@beehive>
572 * strings.c (scm_string_shared_substring): create shared
573 substrings. (Doesn't handle mb strings yet).
575 * mbstrings.c (scm_print_mb_string): handle RO strings.
577 * print.c (scm_iprin1): print substrings as their non-substring
578 counterparts (dubious).
580 * marksweep.c (scm_gc_mark scm_gc_sweep): handle RO and MB
583 * hash.c (scm_hasher): hash RO and MB strings as bytestrings.
585 * eval.c (SCM_CEVAL): self-evaluate RO and MB strings.
587 * eq.c (scm_equal_p): handle RO and MB strings.
589 * symbols.c (scm_string_to_symbol):
590 (scm_string_to_obarray_symbol):
591 * strop.c (scm_i_index):
594 (scm_string_to_list):
595 * strings.c (scm_string_length):
599 * simpos.c (scm_system):
601 * fports.c (scm_open_file):
602 * strorder.c (scm_string_equal_p):
603 (scm_string_ci_equal_p):
605 (scm_string_ci_less_p):
606 * pairs.c (scm_obj_length):
607 * mbstrings.c (scm_multi_byte_string_length):
609 Use RO string macros for RO strings.
611 Tue Jan 30 09:19:08 1996 Tom Lord <lord@beehive>
613 * Makefile.in (CFLAGS ALL_CFLAGS): be more standard.
615 * strop.c (scm_i_rindex, scm_i_index): Don't use the BSD functions
616 index/rindex. Do handle embedded \000 characters.
618 Sun Jan 28 13:16:18 1996 Tom Lord <lord@beehive>
620 * error.c (def_err_response): (int)scm_err_pos => (long)scm_err_pos
621 Eliminate a (presumed) warning on some systems.
623 * gscm.c (gscm_run_scm): SCM_INIT_PATH => GUILE_INIT_PATH
624 (Mikael Djurfeldt <mdj@nada.kth.se>)
626 Sat Jan 27 12:36:55 1996 Tom Lord <lord@beehive>
628 * eval.c (scm_map): added argument type checking.
629 (kawai@sail.t.u-tokyo.ac.jp)
631 * gscm.c (gscm_set_procedure_properties_x): parameter "new" => "new_val"
632 for C++. (Seth Alves <alves@gryphon.com>)
634 (gscm_cstr): uses an uninitialized local variable causing
635 segv. (kawai@sail.t.u-tokyo.ac.jp)
638 * lvectors.c (scm_get_lvector_hook):
639 In guile-ii, the lvector code was broken. It was fixed in guile-iii.
640 It seems to me like if it is broken again in guile-iv...Here is a patch.
641 "! || (LENGTH (keyvec) == 0))"
642 (From: Mikael Djurfeldt <mdj@nada.kth.se>)
645 * gscm.c (gscm_sys_default_verbosity):
646 incorrectly declared for non-__STDC__
647 (Tom_Mckay@avanticorp.com)
649 * ports.c (scm_setfileno): Tweak the macro a bit
650 to make it easier to port to systems that use
651 more than a single structure field to hold a descriptor.
653 * debug.c (change_mode): Avoid GNUCism "int foo[n];"
654 Give a warning, not an error, for unrecognized modes.
656 * eval.c (SCM_CEVAL):
657 static char scm_s_for_each[];
658 static char scm_s_map[];
661 * strings.c (scm_string_p):
662 static char s_string[];
665 * struct.c (scm_sys_struct_set_x):
666 static char s_sys_make_struct[];
667 static char s_sys_struct_ref[];
668 static char s_sys_struct_set_x[];
669 Rearrange code to eliminate those forward decls for the sake of
672 * variable.c (make_vcell_variable): static char s_make_variable[];
675 * fports.c (scm_port_mode):
680 (Tom_Mckay@avanticorp.com)
683 * pairs.c (scm_set_cdr_x): non-__STDC__ declaration of
684 scm_cons2(), scm_acons(), and scm_set_cdr_x() missing semicolon
685 (Tom_Mckay@avanticorp.com)
687 * numbers.c (scm_num_eq_p): Non-__STDC__ declaration of
688 scm_num_eq_p() was scm_equal_p().
689 (Tom_Mckay@avanticorp.com)
691 * symbols.c (msymbolize): "CHARS(X) = " => "SETCHARS..."
692 (Tom_Mckay@avanticorp.com)
694 Fri Jan 26 14:03:01 1996 Tom Lord <lord@beehive>
696 * weaks.c (scm_make_weak_vector): "VELTS(X) =" => "SETVELTS..."
697 (Tom_Mckay@avanticorp.com)
699 * strop.c (scm_substring_fill_x):
700 Non-__STDC__ declaration of scm_substring_fill_x() missing semicolon
701 (Tom_Mckay@avanticorp.com)
703 * eval.c (SCM_APPLY): variables "debug_info" -> dbg_info.
704 Works around a compiler bug on some machines. (Tom_Mckay@avanticorp.com)
706 * _scm.h (CxR functions): #define CxR SCM_CxR => #define CxR(X) SCM_CxR(X)
707 Works around a compiler bug on some machines. (Tom_Mckay@avanticorp.com)
709 * lvectors.c (scm_lvector_set_x): avoid VELTS (VELTS (...)[..]) which
710 can turn into an obscure gc bug.
712 * chars.c (scm_char_p): fixed PROC call.
714 * gscm.h (gscm_vset): use scm_vector_set_x not (the missing)
717 Tue Jan 23 13:29:40 1996 Tom Lord <lord@beehive>
719 * elisp.c (new file): dynamic scoping and other bits for
720 elisp. Don't use this yet unless you specificly want to
721 hack on elisp emulation.
723 * dynwind.c (scm_dowinds): When entering or leaving a dynamic
724 scope created by scm_with_dynamic_bindings_operation_x, swap
725 the bindings of that scope with the corresponding globals.
727 * continuations.c (scm_make_cont): when a continuation is captured,
728 relocate the continuation stack chunks registered on the wind chain
731 Sun Jan 21 19:31:17 1996 Tom Lord <lord@beehive>
733 * eval.c (SCM_CEVAL): if the function position evaluates
734 to a macro, process it accordingly. (Previously, macros were
735 handled only if the function position was a symbol naming a
736 variable bound to a macro).
738 Sat Jan 20 23:21:37 1996 Tom Lord <lord@beehive>
740 * eval.c (scm_m_set): allow multi-variable set! like
743 Wed Dec 6 02:40:49 1995 Tom Lord <lord@beehive>
745 * ports.h fports.c vports.c marksweep.c gc.c strports.c: moved the STREAM
746 of ports into the port table and replaced it with a port-table
749 * repl.c (iprin1): added tc7_mb_string -- same as tc7_string.
751 * marksweep.c (scm_gc_mark): added tc7_mb_string -- same as tc7_string.
753 * mbstrings.c (new file): functions on multi-byte strings.
755 * tags.h (scm_typ7_string, scm_typ7_mb_string): added a tag
756 for multi-byte strings. Moved the string tag.
758 * chars.h chars.c repl.c (many functions): made scm_upcase and scm_downcase
759 functions that are safe for extended character sets.
761 Changed the range of integer->char.
763 Changed the tyep of SCM_ICHR.
767 Tue May 16 17:49:58 1995 Mikael Djurfeldt <mdj@sanscalc.nada.kth.se>
769 * guile.c: Changed init file name from "SCM_INIT_PATH" to
772 Sun Aug 6 15:14:46 1995 Andrew McCallum <mccallum@vein.cs.rochester.edu>
774 * guile.c (gscm_is_gscm_type): New function. (Without this how will we
775 know that it's safe to pass an object to gscm_get_type?)
776 (gscm_get_type): Fix tyop in error message.
778 * variable.c (scm_variable_ref): fixed assertion test.
779 (Robert STRANDH <strandh@labri.u-bordeaux.fr>)
781 * gscm.h: fixed several prototypes, notably gscm_vref.
782 Add gscm_is_eq and temporarily commented out gscm_eq (see
783 the note in gscm.h near gscm_eq if this change effects your
785 (Reported by Mark Galassi <rosalia@sstcx1.lanl.gov>)
787 * pairs.c (scm_obj_length): see next entry.
789 * gscm.h (gscm_obj_length): A way to get an integer
790 length for lists, strings, symbols (treated as strings),
791 and vectors. Returns -1 on error.
793 * eq.c (scm_equal_p): fixed smob case.
794 (William Gribble <grib@arlut.utexas.edu>)
796 * Makefile.in (X_CFLAGS): defined.
797 (William Gribble <grib@arlut.utexas.edu>)
799 * gscm.h (gscm_2_double): provided now
800 (reported by Mark Galassi <rosalia@sstcx1.lanl.gov>)
802 Tue Jun 13 01:04:09 1995 gnu