1 Tue Aug 20 18:48:40 1996 Mikael Djurfeldt <djurfeldt@nada.kth.se>
3 * Makefile.in: Added {debug,options,srcprop}.{h,c}
5 * __scm.h: Removed symbols for debugging support.
7 * acconfig.h: Added symbols for debugging support.
9 * * configure.in: Added user option for debugging support.
10 --enable-debug will include the debugging code into libguile.a.
12 * continuations.c (scm_make_cont): Enlarged the #if 0 around
13 scm_relocate_chunk_to_heap.
15 * * debug.c: New file: low-level debugging support. It also
16 includes support for debugging with gdb. (The extensions to gdb
17 are written by Per Bothner at Cygnus.)
19 * debug.h: New file: low-level debugging support.
21 * * eval.c: scm_m_set and SCM_IM_SET no longer supports multiple
22 argument pairs. Extensive modifications to the debugging
23 evaluator. Added "SECTION:" commentaries to clarify what happens
24 when, during double compilation. Renamed EVALIMP --> EVALIM.
25 Renamed EVAL --> XEVAL. Removed function evalcar. Defined
26 evalcar to scm_eval_car. Added explanation of "EVAL" symbols to
27 the beginning of the file. New procedure: scm_unmemocopy.
28 Added some global state variables needed by the debugging
29 evaluator: scm_ceval_ptr, last_debug_info_frame, debug_mode,
30 check_entry, check_apply, check_exit, debug_options and
31 evaluator_traps. New acro: undefine.
33 * eval.h: Renamed EVAL --> XEVAL.
35 * gc.c (scm_init_storage): Renamed scm_make_weak_hash_table
36 --> scm_make_weak_key_hash_table.
38 * init.c (scm_restart_stack, scm_boot_guile): Added initialization
39 of SCM_DFRAME. Added calls to scm_init_{debug,options,srcprop}.
41 * libguile.h: Conditionally include debug.h
43 * * objprop.c (scm_object_properties, scm_set_object_properties_x):
44 scm_object_properties shouldn't return handle. `handle' now gets
45 initialized in scm_set_object_properties_x. scm_object_properties
46 doesn't any longer create an entry in scm_object_whash.
48 * * options.c: New file: handling of run time options.
50 * options.h: New file: handling of run time options.
52 * posix.c (scm_getpgrp): Cast pointer to getpgrp.
54 * * print.c: New procedure: scm_print_options
56 * print.h: Defines for print options.
58 * * read.c: New procedure: scm_read_options
60 * read.h: Defines for reader options.
62 * root.h: Added scm_source_whash among scm_sys_protects.
64 * * srcprop.c: New file: source properties.
66 * srcprop.h: New file: source properties.
68 * throw.c (jbsmob): Jump buffers are now correctly allocated.
69 (Bug found by A. Green.)
71 * * weak.c: Renamed scm_weak_hash_table --> scm_weak_key_hash_table.
73 * weak.h: Renamed scm_weak_hash_table --> scm_weak_key_hash_table.
75 Thu Aug 15 02:05:14 1996 Jim Blandy <jimb@totoro.cyclic.com>
77 * libguile.h: #include "objprop.h"; I guess this was forgotten.
79 * init.c (scm_boot_guile): Don't call scm_init_rgx; it's a plugin,
80 and should be called by the final client.
82 Wed Aug 14 21:41:37 1996 Jim Blandy <jimb@totoro.cyclic.com>
84 * gc.h: Use the PROTO macro when declaring functions.
85 * gc.c: Use the PROTO macro when declaring static functions.
86 Remove the CPP hair around function definitions.
88 * gc.c (scm_init_storage): Initialize scm_asyncs.
90 * libguile.h: #include "__scm.h" before testing the STDC_HEADERS
91 preprocessor symbol; "__scm.h" is where it might get #defined.
92 * __scm.h: Similar: #include <scmconfig.h> before testing
95 * __scm.h: It's HAVE_LIMITS_H, not HAVE_LIMITSH.
97 Fri Aug 9 11:09:28 1996 Jim Blandy <jimb@totoro.cyclic.com>
99 * * init.c (scm_boot_guile): Add init_func argument; call
100 (*init_func) instead of calling scm_appinit; it's ucky to
101 hard-code names for the user's procedures.
102 * init.h (scm_boot_guile): Adjust declaration.
104 * __scm.h (PROTO): New macro, for declaring functions with
107 * init.h (scm_start_stack, scm_restart_stack): Use PROTO;
108 eliminate all the __STDC__ conditionals.
109 (scm_boot_guile): Add declaration.
110 * init.c (scm_start_stack, scm_restart_stack, scm_boot_guile):
111 Remove __STDC__ conditionals around function definitions; the
112 declarations in init.h will provide the same information, more
115 * __scm.h (SCM_SYSMISSING): When we don't have ENOSYS, don't
116 complain about it in the error message; the error message is
117 adequate without that note, and there's nothing the user can do
120 Wed Aug 7 14:14:46 1996 Jim Blandy <jimb@totoro.cyclic.com>
122 * Makefile.in (ancillary): Drop def.sed.
124 * posix.c (scm_init_posix): Use numeric values, rather than
125 CPP symbols, when defining the scheme values R_OK, W_OK, X_OK, and
126 F_OK. The symbols aren't available on some systems, and I'm
127 pretty sure their values are fixed by common widespread practice.
128 * ioext.c (scm_init_ioext): Code here defined them too; remove it.
130 More functions unavailable on some systems.
131 * configure.in (AC_CHECK_FUNCS): Add ctermid, setpgid, setsid,
132 tcgetpgrp, tcsetpgrp, and waitpid to the list of functions to
134 * configure, scmconfig.h.in: Updated, using autoconf and autoheader.
135 * posix.c (scm_sys_ctermid, scm_sys_setpgid, scm_sys_setsid,
136 scm_sys_tcgetpgrp, scm_sys_tcsetpgrp, scm_sys_waitpid): Put the
137 bodies of these functions in "#ifdef HAVE_MUMBLE" clauses, with a
138 stub that signals an error as the #else.
140 * Makefile.in (ancillary): Drop acconfig-1.5.h; add acconfig.h.
142 Wed Aug 7 06:28:42 1996 Gary Houston <ghouston@actrix.gen.nz>
144 * Fixes motivated by Petr Adamek <adamek@mit.edu>:
146 * unif.c: include ramap.h.
148 * read.c (endif): case_insensative_p renamed case_insensitive_p.
150 * ramap.h: rename scm_array_copy prototypes to scm_array_copy_x.
152 * ports.c: include sys/ioctl.h.
154 * scmconfig.h.in: add HAVE_SYS_IOCTL_H.
156 * configure.in: check for sys/ioctl.h.
158 * ports.c: include <malloc.h> not "malloc.h".
160 * mallocs.c: include <malloc.h> not "malloc.h", likewise for unistd.h.
162 * fports.c: remove ttyname and tmpnam declarations.
164 * posix.c: fewer ttyname declarations.
166 * fports.c: include <string.h> not "string.h".
168 * init.c, ioext.c: include string.h and unistd.h.
170 * gc.c: include <malloc.h> not "malloc.h", likewise for unistd.h.
172 * async.c, strings.h, strports.c, struct.c, symbols.c, feature.c,
173 genio.c, simpos.c, vports.c: include string.h.
175 * socket.c, fdsocket.c: include string.h only if HAVE_STRING_H.
177 * fdsocket.c (getsockopt, setsockopt): change type of optlen from
179 (scm_addr_buffer_size): change type from scm_sizet to int.
180 (accept, getsockname, getpeername, recvfrom): change type of tmp_size
181 from scm_sizet to int.
183 * error.c: include unistd.h.
185 * __scm.h: (SCM_SYSMISSING): another version in case ENOSYS isn't
188 * Makefile.in: remove references to .hd, .cd suffix and __scm.hd.
190 * __scm.hd, def.sed: deleted.
192 Tue Aug 6 14:49:08 1996 Jim Blandy <jimb@totoro.cyclic.com>
194 Changes for NeXT, suggested by Robert Brown.
195 * configure.in: Call AC_TYPE_MODE_T.
196 (AC_CHECK_HEADERS): Add libc.h, to get more prototypes on the
197 NeXT. Put header file list in alphabetical order.
198 * configure, scmconfig.h.in: Regenerated.
199 * filesys.c [HAVE_LIBC_H]: #include <libc.h>.
201 * filesys.c [HAVE_STRING_H]: #include <string.h>, to get prototype
204 * acconfig.h: New file, providing documentation for the CPP
205 symbols defined in configure.in
206 * acconfig-1.5.h: Removed; superceded by the above.
208 Sat Aug 3 01:27:14 1996 Gary Houston <ghouston@actrix.gen.nz>
210 * ioext.c (scm_sys_fdopen): fix the port-table assignment.
212 * * fports.c (scm_open_file): don't return #f, throw error.
214 * * ioext.c (fileno): renamed from %fileno.
215 (soft-fileno): deleted.
217 * ports.c (scm_port_revealed): don't need to check for -1 from
219 (scm_set_port_revealed_x): return unspecified, not #f.
221 * * ioext.c (primitive-move->fdes): return #t or #f, not 1 or 0.
223 * fdsocket.c: getsockopt, setsockopt: use HAVE_STRUCT_LINGER.
225 * scmconfig.h.in: add HAVE_STRUCT_LINGER.
227 * configure.in: check for struct linger, set HAVE_STRUCT_LINGER.
229 Thu Aug 1 02:58:39 1996 Jim Blandy <jimb@totoro.cyclic.com>
231 * filesys.c, posix.c: #include <sys/types.h> before <sys/stat.h>.
232 This is necessary on Ultrix, and doesn't hurt portability.
234 * Makefile.in (dist-dir): New target, implementing a new dist system.
235 (installed_h_files): Put in alphabetical order.
236 Remove duplicate entries for markers.h and unif.h.
237 (c_files): Remove duplicate entries for markers.c.
238 (ancillary): Renamed from anillery; all uses changed. Remove
239 PLUGIN; it's a directory, and needs special treatment in dist-dir.
240 Remove all the ../doc/* files; doc/Makefile.in handles that.
242 * Makefile.in (libobjs): Remove duplicate entry for markers.o.
244 * Makefile.in (.c.x): Compensate for Ultrix's broken Bourne shell:
245 every if must have an else, or else the whole command has a
246 non-zero exit code whenever the if's condition is false.
248 Thu Aug 1 08:22:24 1996 Gary Houston <ghouston@actrix.gen.nz>
250 * posix.c: include string.h.
252 Wed Jul 31 23:43:05 1996 Gary Houston <ghouston@actrix.gen.nz>
254 * * numbers.c: rename %expt -> $expt, %atan2 -> $atan2, as it must
257 * * posix.c, ioext.c, socket.c, fdsocket.c, files.c, filesys.c, simpos.c:
258 Remove leading % from scheme names.
259 Do not return error values, call SCM_SYSERROR or similar.
261 * __scm.h (SCM_SYSERROR, SCM_SYSMISSING): new macros.
263 Wed Jun 12 00:28:31 1996 Tom Lord <lord@beehive>
265 * struct.c (scm_init_struct): new file.
267 Fri Jun 7 14:02:00 1996 Tom Lord <lord@beehive>
269 * list.c (scm_list_tail): list-cdr-ref is the same as list-tail.
270 (scm_list_head): added list-head for rapidly chopping argument
271 lists off of longer lists (and similar).
273 Tue Jun 4 09:40:33 1996 Tom Lord <lord@beehive>
275 * objprop.c (scm_object_property): assq the cdr of the whash
276 handle for obj, not the handle itself.
278 Mon Jun 3 17:19:30 1996 Tom Lord <lord@beehive>
280 * gc.c (scm_mark_weak_vector_spines): Mark the spines (alists) of
281 weak hash tables last of all marking to avoid an obscure gc bug.
282 WARNING: circular lists stored in a weak hash table will hose us.
284 Fri May 24 09:53:39 1996 Tom Lord <lord@beehive>
286 * vectors.c (scm_vector_move_left_x, scm_vector_move_right_x):
287 new functions similar to scm_substring_move_left_x and
288 scm_substring_move_right_x.
290 Wed May 22 20:07:01 1996 Tom Lord <lord@beehive>
292 * init.c (scm_boot_guile): prevent gc with scm_block_gc not
295 Wed May 15 16:13:29 1996 Tom Lord <lord@beehive>
297 * ports.c (scm_unread_char): scm_gen_ungetc as a scheme procedure.
299 Thu May 9 09:33:17 1996 Tom Lord <lord@beehive>
301 * strports.c (scm_strprint_obj): convenience function. C for
302 (lambda (obj) (call-with-output-string (lambda (p) (write obj p))))
304 * guile-{tcl,tk}.[ch], events.[ch], keysyms.[ch], tcl-channels.[ch]
305 removed to a separate library
307 * init.c (scm_boot_guile): copied from guile-tcl.c.
308 Initialization specific to tcl interpreters removed.
310 Wed May 8 15:07:37 1996 Tom Lord <lord@beehive>
312 * ports.c (scm_ports_prehistory): size malloced here doesn't
313 matter so long as it is non-0 (got rid of "* 4").
315 Tue May 7 11:43:37 1996 Tom Lord <lord@beehive>
317 * gscm.h: gscm_mkarray eliminated (presumably was not being used
318 since its definition was bogus).
320 Mon May 6 13:02:56 1996 Tom Lord <lord@beehive>
322 * mallocs.[ch]: back again (for rx at least).
324 Wed Apr 17 08:54:20 1996 Tom Lord <lord@beehive>
326 * ports.c: removed functions relating to the mapping between ports
327 and descriptors. (That stuff is unix-specific and should be collected
328 in a separate library).
330 * ramap.c (scm_array_copy): return #<unspecified> not #<undefined>.
331 (Tom Mckay@avanticorp.com)
333 Mon Apr 15 14:16:55 1996 Tom Lord <lord@beehive>
335 * gc.c (scm_gc_sweep): Immediates in weak vectors were not
336 handled correctly (SCM_FREEP was applied to them) -- test for
337 NIMP. Keys in weak hash tables were spuriously (though harmlessly)
338 being overwritten with #f. (brown@grettir.bibliotech.com)
340 Tue Apr 2 22:25:00 1996 Tom Lord <lord@beehive>
342 * gc.c (scm_unhash_name): new procedure, unhash-name, flushes glocs
343 for a specific symbol or for all symbols.
345 Mon Apr 1 10:34:55 1996 Tom Lord <lord@beehive>
347 * gc.c (scm_gc_mark): mark weak hash tables correctly (was getting weak
348 keys and weak values confused).
350 Thu Mar 14 22:20:20 1996 Tom Lord <lord@beehive>
352 * list.c (scm_last_pair): map '()=>'()
354 Wed Mar 13 16:43:34 1996 Tom Lord <lord@beehive>
356 * pairs.c, hashtab.c, list.c, alist.c append.c, sequences.c:
357 Generalized assoc and hash-table functions.
358 Factored pairs.c into multiple files.
360 Fri Mar 8 14:44:39 1996 Tom Lord <lord@beehive>
362 * gscm.c (gscm_run_scm): got rid of objprop.
364 Fri Mar 1 10:39:52 1996 Tom Lord <lord@beehive>
366 * genio.c (scm_getc):
367 NOTE: fgetc may not be interruptable.
369 * procprop.c (scm_stand_in_scm_proc):
370 NOTE: don't use a alist here.
371 (scm_set_procedure_properties_x): fix type checking throughout this file.
373 * gc.c (scm_gc_sweep): free heap segments with free, not must_free.
375 * ports.c (scm_remove_from_port_table): adjust scm_mallocated
376 after freeing part of the port table.
378 Thu Feb 29 16:21:17 1996 Tom Lord <lord@beehive>
380 * strports.c (scm_mkstrport):
381 * vports.c (scm_make_soft_port): allocate a port table entry
382 (possibly triggering gc) before setting the tag of the corresponding
385 * pairs.c (scm_delq_x): never throw an error.
387 * vectors.c (scm_make_vector): made the default vector fill argument
388 into '() (much more useful than the previous value, "#unspecified")
390 Mon Feb 26 17:19:09 1996 Tom Lord <lord@beehive>
392 * ports.c (scm_add_to_port_table): Added fields
393 to port table entries: file_name, line_num, col.
394 Update these in open_file, gen_getc and gen_ungetc.
395 Added procedures to access those fields.
397 Sun Feb 25 00:10:36 1996 Tom Lord <lord@beehive>
399 * procs.c (scm_make_subr_opt): new entry point for making
402 Sat Feb 24 17:11:31 1996 Tom Lord <lord@beehive>
404 * gc.h: SCM_STACK_GROWS_UP is now set by autoconf.
406 Fri Feb 23 10:26:29 1996 Tom Lord <lord@beehive>
408 * numbers.c (scm_exact_p): This function no longer
409 implements "integer?".
411 Thu Feb 22 20:56:16 1996 Tom Lord <lord@beehive>
413 * gc.c (scm_gc_end): simulate a signal at the end of each GC.
414 (scm_gc_stats): return an assoc of useful data. Replaces "room"
415 and the stats reporting formerlly built into repl.
417 * repl.[ch]: removed.
418 GC statistics keeping moved to gc.c.
419 Other statistics keeping can be done from Scheme.
420 REPLS are now written in Scheme.
422 Wed Feb 21 10:28:53 1996 Tom Lord <lord@beehive>
424 * cnsvobj.c (gscm_is_gscm_obj): new file for old functions (icky
425 conservatively marked objects).
427 * throw.c (scm_ithrow): Unwind up to the right catch during a throw!
429 * error.c (scm_init_error): init system_error_sym here, not in repl.c.
431 * feature.c (scm_compiled_library_path): moved here from repl.c.
432 This file is for stuff relating specifically to Scheme libraries
435 * eval.c (scm_m_define): don't give warning about redefinition, don't
438 NOTE: this should throw a resumable exception with parameters --
439 the name, the top-level env, the variable, the definition, #t/#f: redefining builtin?
441 * repl.c (scm_gc_begin/end): don't print a message, don't check verbosity.
443 * error.c: scm_warn eliminated.
445 * read.c (scm_lreadr): extra right paren gets an error, not a warning.
447 * repl.c, marksweep.c, gc.c (various):
448 lose exit_report, growth_mon.
450 * gscm.c: got rid of verbosity functions.
452 Tue Feb 20 00:19:10 1996 Tom Lord <lord@beehive>
454 * throw.c (scm_ithrow): guard against the bad-throw hook changing
455 between the call to procedurep and use.
457 * error.c (scm_everr):
459 * gsubr.c (scm_make_gsubr): use exit, not scm_quit. still wrong,
462 * strports.c: don't reveal the port's string to the caller
463 because it changes size.
465 (stputc stwrite): check/change the strings length with interrupts
468 * objprop.c (scm_set_object_property_x &c): use the generic
469 hashing functions and be threadsafe.
471 * eval.c (scm_unmemocar): do this operation in a thread-safe way.
472 (per suggestion jaffer@gnu.ai.mit.edu).
474 * mbstrings.c (scm_multi_byte_string): guard against argument list
477 * strings.c (scm_make_string): loop cleanup
479 * unif.c (scm_vector_set_length_x): scm_vector_set_length_x no longer
482 * weaks.c (scm_weak_vector): guard against argument list
485 * variable.c (scm_builtin_variable): check for/make a built-in
488 * vectors.c (scm_vector): while filling the new array,
489 guard against a list of fill elements that grows after
490 the vector is allocated.
492 * hashtab.c -- new file: general hash table
493 functions. hash, hashq, hashv, hashx.
495 * tags.h: made wvect an option bit of vector.
497 Mon Feb 19 09:38:05 1996 Tom Lord <lord@beehive>
499 * symbols.c: made the basic symbol table operations atomic.
501 * root.c &c.: collected stack-specific global state.
502 linum/colnum etc *should* be port-specific state.
504 * struct.c (scm_init_struct): init the first struct type during
505 initialization to fix a race condition.
507 * continuations.c (scm_dynthrow): pass throwval in the 'regs'
508 object, not in a global.
509 (suggested by green@cygnus, jaffer@gnu.ai.mit.edu)
511 * throw.c (_scm_throw): Pass throwval on the stack, not in a global
512 (suggested by green@cygnus, jaffer@gnu.ai.mit.edu)
514 * *.[ch]: namespace cleanup. Changed all (nearly) exported CPP
515 and C symbols to begin with SCM_ or scm_.
517 Sun Feb 18 15:55:38 1996 Tom Lord <lord@beehive>
519 * gsubr.c (scm_gsubr_apply): statically allocate the
520 array of arguments (bothner@cygnus.com).
522 Sat Feb 17 20:20:40 1996 Tom Lord <lord@beehive>
524 * scmsigs.c: Simplified to use async rountines.
526 * async.c: New support for interrupt handlers.
528 Thu Feb 15 11:39:09 1996 Tom Lord <lord@beehive>
530 * symbols.c (scm_string_to_symbol et al.): number of tweaky changes to
531 set the multi_byte flag correctly in symbols. This is wrong.
532 intern_obbary_soft and msymbolize should take an extra parameter.
533 Also, weird multibyte symbols don't print correctly.
534 The weird symbol syntax is also a bit bogus (emacs doesn't quite
537 Tue Feb 13 11:39:37 1996 Tom Lord <lord@beehive>
539 * symbols.c (scm_string_to_obarray_symbol): obarray == #f means
540 use the system symhash. == #t means create an uninterned symbol.
542 Wed Feb 7 09:28:02 1996 Tom Lord <lord@beehive>
544 * strings.c (scm_make_shared_substring): build'em.
545 It might better to keep a table of these and use one
546 less cons-pair per shared-substring.
548 Tue Feb 6 17:45:21 1996 Tom Lord <lord@beehive>
550 * strings.c (scm_string_shared_substring): create shared
551 substrings. (Doesn't handle mb strings yet).
553 * mbstrings.c (scm_print_mb_string): handle RO strings.
555 * print.c (scm_iprin1): print substrings as their non-substring
556 counterparts (dubious).
558 * marksweep.c (scm_gc_mark scm_gc_sweep): handle RO and MB
561 * hash.c (scm_hasher): hash RO and MB strings as bytestrings.
563 * eval.c (SCM_CEVAL): self-evaluate RO and MB strings.
565 * eq.c (scm_equal_p): handle RO and MB strings.
567 * symbols.c (scm_string_to_symbol):
568 (scm_string_to_obarray_symbol):
569 * strop.c (scm_i_index):
572 (scm_string_to_list):
573 * strings.c (scm_string_length):
577 * simpos.c (scm_system):
579 * fports.c (scm_open_file):
580 * strorder.c (scm_string_equal_p):
581 (scm_string_ci_equal_p):
583 (scm_string_ci_less_p):
584 * pairs.c (scm_obj_length):
585 * mbstrings.c (scm_multi_byte_string_length):
587 Use RO string macros for RO strings.
589 Tue Jan 30 09:19:08 1996 Tom Lord <lord@beehive>
591 * Makefile.in (CFLAGS ALL_CFLAGS): be more standard.
593 * strop.c (scm_i_rindex, scm_i_index): Don't use the BSD functions
594 index/rindex. Do handle embedded \000 characters.
596 Sun Jan 28 13:16:18 1996 Tom Lord <lord@beehive>
598 * error.c (def_err_response): (int)scm_err_pos => (long)scm_err_pos
599 Eliminate a (presumed) warning on some systems.
601 * gscm.c (gscm_run_scm): SCM_INIT_PATH => GUILE_INIT_PATH
602 (Mikael Djurfeldt <mdj@nada.kth.se>)
604 Sat Jan 27 12:36:55 1996 Tom Lord <lord@beehive>
606 * eval.c (scm_map): added argument type checking.
607 (kawai@sail.t.u-tokyo.ac.jp)
609 * gscm.c (gscm_set_procedure_properties_x): parameter "new" => "new_val"
610 for C++. (Seth Alves <alves@gryphon.com>)
612 (gscm_cstr): uses an uninitialized local variable causing
613 segv. (kawai@sail.t.u-tokyo.ac.jp)
616 * lvectors.c (scm_get_lvector_hook):
617 In guile-ii, the lvector code was broken. It was fixed in guile-iii.
618 It seems to me like if it is broken again in guile-iv...Here is a patch.
619 "! || (LENGTH (keyvec) == 0))"
620 (From: Mikael Djurfeldt <mdj@nada.kth.se>)
623 * gscm.c (gscm_sys_default_verbosity):
624 incorrectly declared for non-__STDC__
625 (Tom_Mckay@avanticorp.com)
627 * ports.c (scm_setfileno): Tweak the macro a bit
628 to make it easier to port to systems that use
629 more than a single structure field to hold a descriptor.
631 * debug.c (change_mode): Avoid GNUCism "int foo[n];"
632 Give a warning, not an error, for unrecognized modes.
634 * eval.c (SCM_CEVAL):
635 static char scm_s_for_each[];
636 static char scm_s_map[];
639 * strings.c (scm_string_p):
640 static char s_string[];
643 * struct.c (scm_sys_struct_set_x):
644 static char s_sys_make_struct[];
645 static char s_sys_struct_ref[];
646 static char s_sys_struct_set_x[];
647 Rearrange code to eliminate those forward decls for the sake of
650 * variable.c (make_vcell_variable): static char s_make_variable[];
653 * fports.c (scm_port_mode):
658 (Tom_Mckay@avanticorp.com)
661 * pairs.c (scm_set_cdr_x): non-__STDC__ declaration of
662 scm_cons2(), scm_acons(), and scm_set_cdr_x() missing semicolon
663 (Tom_Mckay@avanticorp.com)
665 * numbers.c (scm_num_eq_p): Non-__STDC__ declaration of
666 scm_num_eq_p() was scm_equal_p().
667 (Tom_Mckay@avanticorp.com)
669 * symbols.c (msymbolize): "CHARS(X) = " => "SETCHARS..."
670 (Tom_Mckay@avanticorp.com)
672 Fri Jan 26 14:03:01 1996 Tom Lord <lord@beehive>
674 * weaks.c (scm_make_weak_vector): "VELTS(X) =" => "SETVELTS..."
675 (Tom_Mckay@avanticorp.com)
677 * strop.c (scm_substring_fill_x):
678 Non-__STDC__ declaration of scm_substring_fill_x() missing semicolon
679 (Tom_Mckay@avanticorp.com)
681 * eval.c (SCM_APPLY): variables "debug_info" -> dbg_info.
682 Works around a compiler bug on some machines. (Tom_Mckay@avanticorp.com)
684 * _scm.h (CxR functions): #define CxR SCM_CxR => #define CxR(X) SCM_CxR(X)
685 Works around a compiler bug on some machines. (Tom_Mckay@avanticorp.com)
687 * lvectors.c (scm_lvector_set_x): avoid VELTS (VELTS (...)[..]) which
688 can turn into an obscure gc bug.
690 * chars.c (scm_char_p): fixed PROC call.
692 * gscm.h (gscm_vset): use scm_vector_set_x not (the missing)
695 Tue Jan 23 13:29:40 1996 Tom Lord <lord@beehive>
697 * elisp.c (new file): dynamic scoping and other bits for
698 elisp. Don't use this yet unless you specificly want to
699 hack on elisp emulation.
701 * dynwind.c (scm_dowinds): When entering or leaving a dynamic
702 scope created by scm_with_dynamic_bindings_operation_x, swap
703 the bindings of that scope with the corresponding globals.
705 * continuations.c (scm_make_cont): when a continuation is captured,
706 relocate the continuation stack chunks registered on the wind chain
709 Sun Jan 21 19:31:17 1996 Tom Lord <lord@beehive>
711 * eval.c (SCM_CEVAL): if the function position evaluates
712 to a macro, process it accordingly. (Previously, macros were
713 handled only if the function position was a symbol naming a
714 variable bound to a macro).
716 Sat Jan 20 23:21:37 1996 Tom Lord <lord@beehive>
718 * eval.c (scm_m_set): allow multi-variable set! like
721 Wed Dec 6 02:40:49 1995 Tom Lord <lord@beehive>
723 * ports.h fports.c vports.c marksweep.c gc.c strports.c: moved the STREAM
724 of ports into the port table and replaced it with a port-table
727 * repl.c (iprin1): added tc7_mb_string -- same as tc7_string.
729 * marksweep.c (scm_gc_mark): added tc7_mb_string -- same as tc7_string.
731 * mbstrings.c (new file): functions on multi-byte strings.
733 * tags.h (scm_typ7_string, scm_typ7_mb_string): added a tag
734 for multi-byte strings. Moved the string tag.
736 * chars.h chars.c repl.c (many functions): made scm_upcase and scm_downcase
737 functions that are safe for extended character sets.
739 Changed the range of integer->char.
741 Changed the tyep of SCM_ICHR.
745 Tue May 16 17:49:58 1995 Mikael Djurfeldt <mdj@sanscalc.nada.kth.se>
747 * guile.c: Changed init file name from "SCM_INIT_PATH" to
750 Sun Aug 6 15:14:46 1995 Andrew McCallum <mccallum@vein.cs.rochester.edu>
752 * guile.c (gscm_is_gscm_type): New function. (Without this how will we
753 know that it's safe to pass an object to gscm_get_type?)
754 (gscm_get_type): Fix tyop in error message.
756 * variable.c (scm_variable_ref): fixed assertion test.
757 (Robert STRANDH <strandh@labri.u-bordeaux.fr>)
759 * gscm.h: fixed several prototypes, notably gscm_vref.
760 Add gscm_is_eq and temporarily commented out gscm_eq (see
761 the note in gscm.h near gscm_eq if this change effects your
763 (Reported by Mark Galassi <rosalia@sstcx1.lanl.gov>)
765 * pairs.c (scm_obj_length): see next entry.
767 * gscm.h (gscm_obj_length): A way to get an integer
768 length for lists, strings, symbols (treated as strings),
769 and vectors. Returns -1 on error.
771 * eq.c (scm_equal_p): fixed smob case.
772 (William Gribble <grib@arlut.utexas.edu>)
774 * Makefile.in (X_CFLAGS): defined.
775 (William Gribble <grib@arlut.utexas.edu>)
777 * gscm.h (gscm_2_double): provided now
778 (reported by Mark Galassi <rosalia@sstcx1.lanl.gov>)
780 Tue Jun 13 01:04:09 1995 gnu