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