* debug.h, debug.c: Various name changes.
[bpt/guile.git] / libguile / ChangeLog
1 Fri Aug 23 03:02:46 1996 Mikael Djurfeldt <mdj@woody.nada.kth.se>
2
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.
6
7 * options.h, options.c: Options now have documentation strings.
8 Also added a long explanatory commentary.
9
10 * eval.c, print.h, print.c, read.h, read.c: Modifications to
11 run-time options.
12
13 * gscm.c, init.c, root.c, throw.c: Bug fixes:
14 last_debug_info_frame is now updated in all cases.
15
16 * stackchk.h, stackchk.c: Guile now performs stack checking.
17
18 Thu Aug 22 17:34:17 1996 Mikael Djurfeldt <mdj@woody.nada.kth.se>
19
20 * __scm.h: SCM_STACK_LIMIT removed (now a run-time option).
21 Added option STACK_CHECKING.
22
23 Tue Aug 20 18:48:40 1996 Mikael Djurfeldt <djurfeldt@nada.kth.se>
24
25 * Makefile.in: Added {debug,options,srcprop}.{h,c}
26
27 * __scm.h: Removed symbols for debugging support.
28
29 * acconfig.h: Added symbols for debugging support.
30
31 * * configure.in: Added user option for debugging support.
32 --enable-debug will include the debugging code into libguile.a.
33
34 * continuations.c (scm_make_cont): Enlarged the #if 0 around
35 scm_relocate_chunk_to_heap.
36
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.)
40
41 * debug.h: New file: low-level debugging support.
42
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.
54
55 * eval.h: Renamed EVAL --> XEVAL.
56
57 * gc.c (scm_init_storage): Renamed scm_make_weak_hash_table
58 --> scm_make_weak_key_hash_table.
59
60 * init.c (scm_restart_stack, scm_boot_guile): Added initialization
61 of SCM_DFRAME. Added calls to scm_init_{debug,options,srcprop}.
62
63 * libguile.h: Conditionally include debug.h
64
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.
69
70 * * options.c: New file: handling of run time options.
71
72 * options.h: New file: handling of run time options.
73
74 * posix.c (scm_getpgrp): Cast pointer to getpgrp.
75
76 * * print.c: New procedure: scm_print_options
77
78 * print.h: Defines for print options.
79
80 * * read.c: New procedure: scm_read_options
81
82 * read.h: Defines for reader options.
83
84 * root.h: Added scm_source_whash among scm_sys_protects.
85
86 * * srcprop.c: New file: source properties.
87
88 * srcprop.h: New file: source properties.
89
90 * throw.c (jbsmob): Jump buffers are now correctly allocated.
91 (Bug found by A. Green.)
92
93 * * weak.c: Renamed scm_weak_hash_table --> scm_weak_key_hash_table.
94
95 * weak.h: Renamed scm_weak_hash_table --> scm_weak_key_hash_table.
96
97 Thu Aug 15 02:05:14 1996 Jim Blandy <jimb@totoro.cyclic.com>
98
99 * libguile.h: #include "objprop.h"; I guess this was forgotten.
100
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.
103
104 Wed Aug 14 21:41:37 1996 Jim Blandy <jimb@totoro.cyclic.com>
105
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.
109
110 * gc.c (scm_init_storage): Initialize scm_asyncs.
111
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
115 HAVE_LIMITS_H.
116
117 * __scm.h: It's HAVE_LIMITS_H, not HAVE_LIMITSH.
118
119 Fri Aug 9 11:09:28 1996 Jim Blandy <jimb@totoro.cyclic.com>
120
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.
125
126 * __scm.h (PROTO): New macro, for declaring functions with
127 prototypes.
128
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
135 usefully.
136
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
140 about it.
141
142 Wed Aug 7 14:14:46 1996 Jim Blandy <jimb@totoro.cyclic.com>
143
144 * Makefile.in (ancillary): Drop def.sed.
145
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.
151
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
155 check for.
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.
161
162 * Makefile.in (ancillary): Drop acconfig-1.5.h; add acconfig.h.
163
164 Wed Aug 7 06:28:42 1996 Gary Houston <ghouston@actrix.gen.nz>
165
166 * Fixes motivated by Petr Adamek <adamek@mit.edu>:
167
168 * unif.c: include ramap.h.
169
170 * read.c (endif): case_insensative_p renamed case_insensitive_p.
171
172 * ramap.h: rename scm_array_copy prototypes to scm_array_copy_x.
173
174 * ports.c: include sys/ioctl.h.
175
176 * scmconfig.h.in: add HAVE_SYS_IOCTL_H.
177
178 * configure.in: check for sys/ioctl.h.
179
180 * ports.c: include <malloc.h> not "malloc.h".
181
182 * mallocs.c: include <malloc.h> not "malloc.h", likewise for unistd.h.
183
184 * fports.c: remove ttyname and tmpnam declarations.
185
186 * posix.c: fewer ttyname declarations.
187
188 * fports.c: include <string.h> not "string.h".
189
190 * init.c, ioext.c: include string.h and unistd.h.
191
192 * gc.c: include <malloc.h> not "malloc.h", likewise for unistd.h.
193
194 * async.c, strings.h, strports.c, struct.c, symbols.c, feature.c,
195 genio.c, simpos.c, vports.c: include string.h.
196
197 * socket.c, fdsocket.c: include string.h only if HAVE_STRING_H.
198
199 * fdsocket.c (getsockopt, setsockopt): change type of optlen from
200 scm_sizet to int.
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.
204
205 * error.c: include unistd.h.
206
207 * __scm.h: (SCM_SYSMISSING): another version in case ENOSYS isn't
208 defined.
209
210 * Makefile.in: remove references to .hd, .cd suffix and __scm.hd.
211
212 * __scm.hd, def.sed: deleted.
213
214 Tue Aug 6 14:49:08 1996 Jim Blandy <jimb@totoro.cyclic.com>
215
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>.
222
223 * filesys.c [HAVE_STRING_H]: #include <string.h>, to get prototype
224 for strerror.
225
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.
229
230 Sat Aug 3 01:27:14 1996 Gary Houston <ghouston@actrix.gen.nz>
231
232 * ioext.c (scm_sys_fdopen): fix the port-table assignment.
233
234 * * fports.c (scm_open_file): don't return #f, throw error.
235
236 * * ioext.c (fileno): renamed from %fileno.
237 (soft-fileno): deleted.
238
239 * ports.c (scm_port_revealed): don't need to check for -1 from
240 scm_revealed_count.
241 (scm_set_port_revealed_x): return unspecified, not #f.
242
243 * * ioext.c (primitive-move->fdes): return #t or #f, not 1 or 0.
244
245 * fdsocket.c: getsockopt, setsockopt: use HAVE_STRUCT_LINGER.
246
247 * scmconfig.h.in: add HAVE_STRUCT_LINGER.
248
249 * configure.in: check for struct linger, set HAVE_STRUCT_LINGER.
250
251 Thu Aug 1 02:58:39 1996 Jim Blandy <jimb@totoro.cyclic.com>
252
253 * filesys.c, posix.c: #include <sys/types.h> before <sys/stat.h>.
254 This is necessary on Ultrix, and doesn't hurt portability.
255
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.
263
264 * Makefile.in (libobjs): Remove duplicate entry for markers.o.
265
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.
269
270 Thu Aug 1 08:22:24 1996 Gary Houston <ghouston@actrix.gen.nz>
271
272 * posix.c: include string.h.
273
274 Wed Jul 31 23:43:05 1996 Gary Houston <ghouston@actrix.gen.nz>
275
276 * * numbers.c: rename %expt -> $expt, %atan2 -> $atan2, as it must
277 have been once.
278
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.
282
283 * __scm.h (SCM_SYSERROR, SCM_SYSMISSING): new macros.
284
285 Wed Jun 12 00:28:31 1996 Tom Lord <lord@beehive>
286
287 * struct.c (scm_init_struct): new file.
288
289 Fri Jun 7 14:02:00 1996 Tom Lord <lord@beehive>
290
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).
294
295 Tue Jun 4 09:40:33 1996 Tom Lord <lord@beehive>
296
297 * objprop.c (scm_object_property): assq the cdr of the whash
298 handle for obj, not the handle itself.
299
300 Mon Jun 3 17:19:30 1996 Tom Lord <lord@beehive>
301
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.
305
306 Fri May 24 09:53:39 1996 Tom Lord <lord@beehive>
307
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.
311
312 Wed May 22 20:07:01 1996 Tom Lord <lord@beehive>
313
314 * init.c (scm_boot_guile): prevent gc with scm_block_gc not
315 scm_gc_heap_lock!
316
317 Wed May 15 16:13:29 1996 Tom Lord <lord@beehive>
318
319 * ports.c (scm_unread_char): scm_gen_ungetc as a scheme procedure.
320
321 Thu May 9 09:33:17 1996 Tom Lord <lord@beehive>
322
323 * strports.c (scm_strprint_obj): convenience function. C for
324 (lambda (obj) (call-with-output-string (lambda (p) (write obj p))))
325
326 * guile-{tcl,tk}.[ch], events.[ch], keysyms.[ch], tcl-channels.[ch]
327 removed to a separate library
328
329 * init.c (scm_boot_guile): copied from guile-tcl.c.
330 Initialization specific to tcl interpreters removed.
331
332 Wed May 8 15:07:37 1996 Tom Lord <lord@beehive>
333
334 * ports.c (scm_ports_prehistory): size malloced here doesn't
335 matter so long as it is non-0 (got rid of "* 4").
336
337 Tue May 7 11:43:37 1996 Tom Lord <lord@beehive>
338
339 * gscm.h: gscm_mkarray eliminated (presumably was not being used
340 since its definition was bogus).
341
342 Mon May 6 13:02:56 1996 Tom Lord <lord@beehive>
343
344 * mallocs.[ch]: back again (for rx at least).
345
346 Wed Apr 17 08:54:20 1996 Tom Lord <lord@beehive>
347
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).
351
352 * ramap.c (scm_array_copy): return #<unspecified> not #<undefined>.
353 (Tom Mckay@avanticorp.com)
354
355 Mon Apr 15 14:16:55 1996 Tom Lord <lord@beehive>
356
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)
361
362 Tue Apr 2 22:25:00 1996 Tom Lord <lord@beehive>
363
364 * gc.c (scm_unhash_name): new procedure, unhash-name, flushes glocs
365 for a specific symbol or for all symbols.
366
367 Mon Apr 1 10:34:55 1996 Tom Lord <lord@beehive>
368
369 * gc.c (scm_gc_mark): mark weak hash tables correctly (was getting weak
370 keys and weak values confused).
371
372 Thu Mar 14 22:20:20 1996 Tom Lord <lord@beehive>
373
374 * list.c (scm_last_pair): map '()=>'()
375
376 Wed Mar 13 16:43:34 1996 Tom Lord <lord@beehive>
377
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.
381
382 Fri Mar 8 14:44:39 1996 Tom Lord <lord@beehive>
383
384 * gscm.c (gscm_run_scm): got rid of objprop.
385
386 Fri Mar 1 10:39:52 1996 Tom Lord <lord@beehive>
387
388 * genio.c (scm_getc):
389 NOTE: fgetc may not be interruptable.
390
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.
394
395 * gc.c (scm_gc_sweep): free heap segments with free, not must_free.
396
397 * ports.c (scm_remove_from_port_table): adjust scm_mallocated
398 after freeing part of the port table.
399
400 Thu Feb 29 16:21:17 1996 Tom Lord <lord@beehive>
401
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
405 ports handle.
406
407 * pairs.c (scm_delq_x): never throw an error.
408
409 * vectors.c (scm_make_vector): made the default vector fill argument
410 into '() (much more useful than the previous value, "#unspecified")
411
412 Mon Feb 26 17:19:09 1996 Tom Lord <lord@beehive>
413
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.
418
419 Sun Feb 25 00:10:36 1996 Tom Lord <lord@beehive>
420
421 * procs.c (scm_make_subr_opt): new entry point for making
422 anonymous subrs.
423
424 Sat Feb 24 17:11:31 1996 Tom Lord <lord@beehive>
425
426 * gc.h: SCM_STACK_GROWS_UP is now set by autoconf.
427
428 Fri Feb 23 10:26:29 1996 Tom Lord <lord@beehive>
429
430 * numbers.c (scm_exact_p): This function no longer
431 implements "integer?".
432
433 Thu Feb 22 20:56:16 1996 Tom Lord <lord@beehive>
434
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.
438
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.
443
444 Wed Feb 21 10:28:53 1996 Tom Lord <lord@beehive>
445
446 * cnsvobj.c (gscm_is_gscm_obj): new file for old functions (icky
447 conservatively marked objects).
448
449 * throw.c (scm_ithrow): Unwind up to the right catch during a throw!
450
451 * error.c (scm_init_error): init system_error_sym here, not in repl.c.
452
453 * feature.c (scm_compiled_library_path): moved here from repl.c.
454 This file is for stuff relating specifically to Scheme libraries
455 like slib.
456
457 * eval.c (scm_m_define): don't give warning about redefinition, don't
458 check verbosity.
459
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?
462
463 * repl.c (scm_gc_begin/end): don't print a message, don't check verbosity.
464
465 * error.c: scm_warn eliminated.
466
467 * read.c (scm_lreadr): extra right paren gets an error, not a warning.
468
469 * repl.c, marksweep.c, gc.c (various):
470 lose exit_report, growth_mon.
471
472 * gscm.c: got rid of verbosity functions.
473
474 Tue Feb 20 00:19:10 1996 Tom Lord <lord@beehive>
475
476 * throw.c (scm_ithrow): guard against the bad-throw hook changing
477 between the call to procedurep and use.
478
479 * error.c (scm_everr):
480 * gc.c (fixconfig):
481 * gsubr.c (scm_make_gsubr): use exit, not scm_quit. still wrong,
482 but less so.
483
484 * strports.c: don't reveal the port's string to the caller
485 because it changes size.
486
487 (stputc stwrite): check/change the strings length with interrupts
488 blocked.
489
490 * objprop.c (scm_set_object_property_x &c): use the generic
491 hashing functions and be threadsafe.
492
493 * eval.c (scm_unmemocar): do this operation in a thread-safe way.
494 (per suggestion jaffer@gnu.ai.mit.edu).
495
496 * mbstrings.c (scm_multi_byte_string): guard against argument list
497 changing length.
498
499 * strings.c (scm_make_string): loop cleanup
500
501 * unif.c (scm_vector_set_length_x): scm_vector_set_length_x no longer
502 a scheme function.
503
504 * weaks.c (scm_weak_vector): guard against argument list
505 changing length.
506
507 * variable.c (scm_builtin_variable): check for/make a built-in
508 variable automicly.
509
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.
513
514 * hashtab.c -- new file: general hash table
515 functions. hash, hashq, hashv, hashx.
516
517 * tags.h: made wvect an option bit of vector.
518
519 Mon Feb 19 09:38:05 1996 Tom Lord <lord@beehive>
520
521 * symbols.c: made the basic symbol table operations atomic.
522
523 * root.c &c.: collected stack-specific global state.
524 linum/colnum etc *should* be port-specific state.
525
526 * struct.c (scm_init_struct): init the first struct type during
527 initialization to fix a race condition.
528
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)
532
533 * throw.c (_scm_throw): Pass throwval on the stack, not in a global
534 (suggested by green@cygnus, jaffer@gnu.ai.mit.edu)
535
536 * *.[ch]: namespace cleanup. Changed all (nearly) exported CPP
537 and C symbols to begin with SCM_ or scm_.
538
539 Sun Feb 18 15:55:38 1996 Tom Lord <lord@beehive>
540
541 * gsubr.c (scm_gsubr_apply): statically allocate the
542 array of arguments (bothner@cygnus.com).
543
544 Sat Feb 17 20:20:40 1996 Tom Lord <lord@beehive>
545
546 * scmsigs.c: Simplified to use async rountines.
547
548 * async.c: New support for interrupt handlers.
549
550 Thu Feb 15 11:39:09 1996 Tom Lord <lord@beehive>
551
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
557 cope).
558
559 Tue Feb 13 11:39:37 1996 Tom Lord <lord@beehive>
560
561 * symbols.c (scm_string_to_obarray_symbol): obarray == #f means
562 use the system symhash. == #t means create an uninterned symbol.
563
564 Wed Feb 7 09:28:02 1996 Tom Lord <lord@beehive>
565
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.
569
570 Tue Feb 6 17:45:21 1996 Tom Lord <lord@beehive>
571
572 * strings.c (scm_string_shared_substring): create shared
573 substrings. (Doesn't handle mb strings yet).
574
575 * mbstrings.c (scm_print_mb_string): handle RO strings.
576
577 * print.c (scm_iprin1): print substrings as their non-substring
578 counterparts (dubious).
579
580 * marksweep.c (scm_gc_mark scm_gc_sweep): handle RO and MB
581 strings.
582
583 * hash.c (scm_hasher): hash RO and MB strings as bytestrings.
584
585 * eval.c (SCM_CEVAL): self-evaluate RO and MB strings.
586
587 * eq.c (scm_equal_p): handle RO and MB strings.
588
589 * symbols.c (scm_string_to_symbol):
590 (scm_string_to_obarray_symbol):
591 * strop.c (scm_i_index):
592 (scm_i_rindex):
593 (scm_string_null_p):
594 (scm_string_to_list):
595 * strings.c (scm_string_length):
596 (scm_string_ref):
597 (scm_substring):
598 (scm_string_append):
599 * simpos.c (scm_system):
600 (scm_getenv):
601 * fports.c (scm_open_file):
602 * strorder.c (scm_string_equal_p):
603 (scm_string_ci_equal_p):
604 (scm_string_less_p):
605 (scm_string_ci_less_p):
606 * pairs.c (scm_obj_length):
607 * mbstrings.c (scm_multi_byte_string_length):
608
609 Use RO string macros for RO strings.
610
611 Tue Jan 30 09:19:08 1996 Tom Lord <lord@beehive>
612
613 * Makefile.in (CFLAGS ALL_CFLAGS): be more standard.
614
615 * strop.c (scm_i_rindex, scm_i_index): Don't use the BSD functions
616 index/rindex. Do handle embedded \000 characters.
617
618 Sun Jan 28 13:16:18 1996 Tom Lord <lord@beehive>
619
620 * error.c (def_err_response): (int)scm_err_pos => (long)scm_err_pos
621 Eliminate a (presumed) warning on some systems.
622
623 * gscm.c (gscm_run_scm): SCM_INIT_PATH => GUILE_INIT_PATH
624 (Mikael Djurfeldt <mdj@nada.kth.se>)
625
626 Sat Jan 27 12:36:55 1996 Tom Lord <lord@beehive>
627
628 * eval.c (scm_map): added argument type checking.
629 (kawai@sail.t.u-tokyo.ac.jp)
630
631 * gscm.c (gscm_set_procedure_properties_x): parameter "new" => "new_val"
632 for C++. (Seth Alves <alves@gryphon.com>)
633
634 (gscm_cstr): uses an uninitialized local variable causing
635 segv. (kawai@sail.t.u-tokyo.ac.jp)
636
637
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>)
643
644
645 * gscm.c (gscm_sys_default_verbosity):
646 incorrectly declared for non-__STDC__
647 (Tom_Mckay@avanticorp.com)
648
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.
652
653 * debug.c (change_mode): Avoid GNUCism "int foo[n];"
654 Give a warning, not an error, for unrecognized modes.
655
656 * eval.c (SCM_CEVAL):
657 static char scm_s_for_each[];
658 static char scm_s_map[];
659 not needed.
660
661 * strings.c (scm_string_p):
662 static char s_string[];
663 (see next entry)
664
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
670 broken compilers.
671
672 * variable.c (make_vcell_variable): static char s_make_variable[];
673 isn't needed.
674
675 * fports.c (scm_port_mode):
676 chars modes[3] = "";
677 to
678 chars modes[3];
679 modes[0] = '\0';
680 (Tom_Mckay@avanticorp.com)
681
682
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)
686
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)
690
691 * symbols.c (msymbolize): "CHARS(X) = " => "SETCHARS..."
692 (Tom_Mckay@avanticorp.com)
693
694 Fri Jan 26 14:03:01 1996 Tom Lord <lord@beehive>
695
696 * weaks.c (scm_make_weak_vector): "VELTS(X) =" => "SETVELTS..."
697 (Tom_Mckay@avanticorp.com)
698
699 * strop.c (scm_substring_fill_x):
700 Non-__STDC__ declaration of scm_substring_fill_x() missing semicolon
701 (Tom_Mckay@avanticorp.com)
702
703 * eval.c (SCM_APPLY): variables "debug_info" -> dbg_info.
704 Works around a compiler bug on some machines. (Tom_Mckay@avanticorp.com)
705
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)
708
709 * lvectors.c (scm_lvector_set_x): avoid VELTS (VELTS (...)[..]) which
710 can turn into an obscure gc bug.
711
712 * chars.c (scm_char_p): fixed PROC call.
713
714 * gscm.h (gscm_vset): use scm_vector_set_x not (the missing)
715 scm_vector_set.
716
717 Tue Jan 23 13:29:40 1996 Tom Lord <lord@beehive>
718
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.
722
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.
726
727 * continuations.c (scm_make_cont): when a continuation is captured,
728 relocate the continuation stack chunks registered on the wind chain
729 to the heap.
730
731 Sun Jan 21 19:31:17 1996 Tom Lord <lord@beehive>
732
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).
737
738 Sat Jan 20 23:21:37 1996 Tom Lord <lord@beehive>
739
740 * eval.c (scm_m_set): allow multi-variable set! like
741 (set! x 1 y 2 z 3).
742
743 Wed Dec 6 02:40:49 1995 Tom Lord <lord@beehive>
744
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
747 index.
748
749 * repl.c (iprin1): added tc7_mb_string -- same as tc7_string.
750
751 * marksweep.c (scm_gc_mark): added tc7_mb_string -- same as tc7_string.
752
753 * mbstrings.c (new file): functions on multi-byte strings.
754
755 * tags.h (scm_typ7_string, scm_typ7_mb_string): added a tag
756 for multi-byte strings. Moved the string tag.
757
758 * chars.h chars.c repl.c (many functions): made scm_upcase and scm_downcase
759 functions that are safe for extended character sets.
760
761 Changed the range of integer->char.
762
763 Changed the tyep of SCM_ICHR.
764
765
766
767 Tue May 16 17:49:58 1995 Mikael Djurfeldt <mdj@sanscalc.nada.kth.se>
768
769 * guile.c: Changed init file name from "SCM_INIT_PATH" to
770 "GUILE_INIT_PATH"
771
772 Sun Aug 6 15:14:46 1995 Andrew McCallum <mccallum@vein.cs.rochester.edu>
773
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.
777
778 * variable.c (scm_variable_ref): fixed assertion test.
779 (Robert STRANDH <strandh@labri.u-bordeaux.fr>)
780
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
784 code).
785 (Reported by Mark Galassi <rosalia@sstcx1.lanl.gov>)
786
787 * pairs.c (scm_obj_length): see next entry.
788
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.
792
793 * eq.c (scm_equal_p): fixed smob case.
794 (William Gribble <grib@arlut.utexas.edu>)
795
796 * Makefile.in (X_CFLAGS): defined.
797 (William Gribble <grib@arlut.utexas.edu>)
798
799 * gscm.h (gscm_2_double): provided now
800 (reported by Mark Galassi <rosalia@sstcx1.lanl.gov>)
801
802 Tue Jun 13 01:04:09 1995 gnu
803 * Vrooom!
804
805