e49aa1b3a85b0d9331f60a8b66c325421183234c
[bpt/guile.git] / libguile / ChangeLog
1 2000-04-20 Dirk Herrmann <D.Herrmann@tu-bs.de>
2
3 * numbers.c (scm_exact_p, scm_odd_p, scm_even_p): Added
4 documentation strings.
5
6 * numbers.c (scm_exact_p, scm_odd_p, scm_even_p, scm_abs,
7 scm_quotient): Reordered dispatch sequence to first handle
8 immediates, second handle bignums and finally handle generic
9 functions respectively signal wrong type arguments. Hopefully
10 this will allow for easier separation when goops is integrated.
11
12 2000-04-19 Dirk Herrmann <D.Herrmann@tu-bs.de>
13
14 * gc.c (which_seg): Use SCM2PTR to convert a non immediate SCM
15 variable into a pointer to a heap cell.
16
17 * gc.c (scm_mark_locations, scm_cellp, init_heap_seg,
18 scm_unhash_name): Remove redundant cast to SCM_CELLPTR.
19
20 2000-04-19 Dirk Herrmann <D.Herrmann@tu-bs.de>
21
22 * print.c (scm_iprin1): Don't assign zero to SCM values, use
23 SCM_UNDEFINED instead.
24
25 * weaks.c (scm_make_weak_vector): Fix assignment of zero to a
26 vector element. (Still to be improved)
27
28 2000-04-19 Dirk Herrmann <D.Herrmann@tu-bs.de>
29
30 * eval.c (undef_cell): Removed, replaced by:
31
32 (undef_object): Added to replace undef_cell.
33
34 (scm_lookupcar, scm_lookupcar1): Use undef_object.
35
36 * eval.c (scm_lookupcar, scm_lookupcar1, scm_m_atfop,
37 scm_m_atbind, CHECK_EQVISH, SCM_CEVAL), procs.h (SCM_SETCODE):
38 Don't perform arithmetic operations with SCM values.
39
40 * eval.c (scm_lookupcar, scm_lookupcar1, scm_m_atfop,
41 scm_m_atbind, scm_eval_args, scm_deval_args, SCM_CEVAL): Use
42 symbolic names for the tc3 type codes.
43
44 * eval.c (scm_m_define, SCM_CEVAL, SCM_APPLY): Remove redundant
45 cast to SCM.
46
47 * eval.c (scm_eval_args, scm_deval_args, SCM_CEVAL): Made the
48 access of the struct vcell element explicit.
49
50 2000-04-19 Mikael Djurfeldt <mdj@thalamus.nada.kth.se>
51
52 * struct.c (scm_struct_free_light, scm_struct_free_standard,
53 scm_struct_free_entity): Use `scm_must_free' instead of `free'.
54
55 * procs.c (scm_make_subr_opt): Tell scm_must_realloc that we're
56 realloc:ing scm_subr_table ("what" instead of "who").
57
58 * numbers.c (scm_adjbig): Ditto.
59
60 2000-04-18 Dirk Herrmann <D.Herrmann@tu-bs.de>
61
62 * unif.c (l2ra): Don't eliminate the call to scm_array_set_x
63 itself, as was done in the previous 'patch'. (Thanks to Radey
64 Shouman)
65
66 2000-04-18 Dirk Herrmann <D.Herrmann@tu-bs.de>
67
68 * options.c (scm_options), read.c (recsexpr): Remove redundant
69 SCM_IMP test.
70
71 * print.c (scm_iprin1): Made the access of the struct vcell
72 element explicit.
73
74 * print.h (SCM_PRINT_CLOSURE): Added call to SCM_PACK.
75
76 * ramap.c (scm_ra_eqp, ra_compare), unif.c
77 (scm_uniform_vector_ref, scm_cvref, rapr1): Separated accesses to
78 unsigned long and signed long arrays and clarified the way the
79 access is performed.
80
81 * ramap.c (scm_array_map_x, raeql), read.c (scm_lreadr), stacks.c
82 (narrow_stack), unif.c (scm_cvref, scm_uniform_array_read_x,
83 scm_raprin1): Use SCM_EQ_P to compare SCM values.
84
85 * strings.c (scm_makstr): Treat the msymbol slots as a field of
86 scm_bits_t values.
87
88 * struct.h (SCM_SET_VTABLE_DESTRUCTOR): Treat the struct data as
89 a field of scm_bits_t values.
90
91 * unif.c (l2ra): Don't test result of scm_array_set_x against
92 zero: It is always SCM_UNSPECIFIED.
93
94 2000-04-18 Mikael Djurfeldt <mdj@mdj.nada.kth.se>
95
96 * script.c (scm_compile_shell_switches): Also enable
97 record-positions when given the --debug option. (Thanks to Diego
98 Dainese.)
99
100 2000-04-18 Dirk Herrmann <D.Herrmann@tu-bs.de>
101
102 * print.c (ENTER_NESTED_DATA, print_circref, scm_iprlist):
103 Compare SCM's with SCM_EQ_P.
104
105 * print.c (scm_make_print_state), srcprop.c
106 (scm_source_properties): Use valid scheme object to initialize
107 SCM variable.
108
109 * print.c (scm_iprin1): Remove redundant calls to SCM_UNPACK.
110
111 2000-04-17 Dirk Herrmann <D.Herrmann@tu-bs.de>
112
113 * struct.c (scm_alloc_struct, scm_struct_free_0,
114 scm_struct_free_light, scm_struct_free_standard,
115 scm_struct_free_entity, scm_make_struct, scm_make_vtable_vtable),
116 struct.h (scm_struct_free_t, scm_alloc_struct, scm_struct_free_0,
117 scm_struct_free_light, scm_struct_free_standard,
118 scm_struct_free_entity): Struct data regions (and thus also
119 vtable data regions) are now C arrays of scm_bits_t elements.
120
121 * gc.c (scm_gc_mark, scm_gc_sweep, scm_unhash_name): Made the
122 mixup of glocs and structs explicit.
123
124 * gc.c (scm_unprotect_object): Compare SCM's with SCM_EQ_P.
125
126 2000-04-17 Dirk Herrmann <D.Herrmann@tu-bs.de>
127
128 * eval.c (scm_unmemocar): Use macros to test for gloc cell.
129 Minimize scope of variable 'ir'.
130
131 * eval.h (SCM_IFRAME, SCM_IDIST), weaks.h (SCM_IS_WHVEC_ANY):
132 Added missing call to SCM_UNPACK.
133
134 2000-04-17 Mikael Djurfeldt <mdj@thalamus.nada.kth.se>
135
136 * validate.h (SCM_VALIDATE_INUM_RANGE_COPY,
137 SCM_VALIDATE_NUMBER_COPY): New macros.
138
139 2000-04-16 Mikael Djurfeldt <mdj@mdj.nada.kth.se>
140
141 * script.c (scm_compile_shell_switches): Added --debug option.
142
143 2000-04-16 Mikael Djurfeldt <mdj@thalamus.nada.kth.se>
144
145 * vectors.c (scm_vector_set_x): Return SCM_UNSPECIFIED (as
146 specified by R5RS).
147
148 2000-04-15 Mikael Djurfeldt <mdj@thalamus.nada.kth.se>
149
150 * ports.h (SCM_INPUT_PORT_P, SCM_OUTPUT_PORT_P): New macros.
151 (SCM_INPORTP, SCM_OUTPORTP): Marked as deprecated.
152
153 * validate.h (SCM_VALIDATE_INPUT_PORT, SCM_VALIDATE_OUTPUT_PORT):
154 New macros.
155 Cleanup of code layout.
156
157 * ports.c, ports.h (close-input-port, close-output-port): New R5RS
158 procedures.
159
160 2000-04-13 Dirk Herrmann <D.Herrmann@tu-bs.de>
161
162 * continuations.c (scm_make_cont, scm_dynthrow): Completely
163 separated implementations for defined (CHEAP_CONTINUATIONS) and
164 !defined (CHEAP_CONTINUATIONS). Also, now using memcpy for stack
165 copying.
166
167 * continuations.c (grow_stack): Renamed from grow_throw.
168
169 * continuations.c (copy_stack_and_call): New static function.
170
171 * continuations.c (scm_dynthrow): Simplified and made static.
172
173 * continuations.h (scm_dynthrow): Made static.
174
175 2000-04-13 Mikael Djurfeldt <mdj@thalamus.nada.kth.se>
176
177 * unif.c, unif.h (shared-array-root, shared-array-offset,
178 shared-array-increments): New primitives.
179
180 2000-04-12 Dirk Herrmann <D.Herrmann@tu-bs.de>
181
182 * gc.c (scm_gc_sweep): Simplify the computation of freed memory
183 size for msymbols.
184
185 * symbols.h (SCM_SLOTS, SCM_SYMBOL_FUNC, SCM_SYMBOL_PROPS,
186 SCM_SYMBOL_HASH): The msymbol slots are now a field of scm_bits_t
187 values.
188
189 * symbols.h (SCM_SET_SYMBOL_FUNC, SCM_SET_SYMBOL_PROPS): New
190 macros.
191
192 symbols.c (scm_intern_obarray_soft, msymbolize, scm_symbol_fset_x,
193 scm_symbol_pset_x): Use them.
194
195 * symbols.c (scm_symbol_hash): Unpack to access SCM raw data.
196
197 2000-04-12 Dirk Herrmann <D.Herrmann@tu-bs.de>
198
199 * ports.c (scm_port_print): The port data is read as raw data.
200
201 * ports.h (SCM_TC2PTOBNUM, SCM_PTOBNUM): Fix SCM/scm_bits_t
202 mismatch.
203
204 2000-04-11 Dirk Herrmann <D.Herrmann@tu-bs.de>
205
206 * eval.c (SCM_CEVAL), objects.c (scm_mcache_lookup_cmethod,
207 scm_make_subclass_object), objects.h (SCM_CLASS_FLAGS,
208 SCM_ENTITY_PROCEDURE, SCM_ENTITY_SETTER), struct.c
209 (scm_struct_init, scm_struct_vtable_p, scm_make_struct,
210 scm_struct_ref, scm_struct_set_x), struct.h (SCM_STRUCT_DATA):
211 The struct data is now an array of scm_bits_t variables.
212
213 * objects.h (SCM_SET_ENTITY_PROCEDURE): New macro.
214
215 objects.c (scm_set_object_procedure_x): Use it.
216
217 * struct.c (scm_struct_init): Unused variable 'data' removed.
218
219 (scm_struct_vtable_p): Redundant SCM_IMP tests removed.
220
221 2000-04-11 Dirk Herrmann <D.Herrmann@tu-bs.de>
222
223 * objects.h (SCM_OBJ_CLASS_FLAGS, SCM_OBJ_CLASS_REDEF), struct.h
224 (SCM_STRUCT_VTABLE_DATA, SCM_STRUCT_LAYOUT, SCM_STRUCT_VTABLE,
225 SCM_STRUCT_PRINTER): The struct vtable data is now an array of
226 scm_bits_t variables.
227
228 * struct.h (SCM_SET_STRUCT_LAYOUT): New macro.
229
230 struct.c (scm_make_vtable_vtable): Use it.
231
232 2000-04-11 Dirk Herrmann <D.Herrmann@tu-bs.de>
233
234 * symbols.c (scm_sym2vcell, scm_sym2ovcell_soft, scm_sym2ovcell,
235 scm_intern_obarray_soft, scm_sysintern0,
236 scm_string_to_obarray_symbol, scm_intern_symbol,
237 scm_unintern_symbol, scm_symbol_binding, scm_symbol_interned_p,
238 scm_symbol_bound_p, scm_symbol_set_x): Don't use C operators to
239 compare SCM values.
240
241 2000-04-11 Dirk Herrmann <D.Herrmann@tu-bs.de>
242
243 * numbers.c (scm_quotient, scm_modulo): Reordered to handle the
244 case of immediate numbers parameters first. Also, only use
245 decoded numbers for numerical comparison.
246
247 2000-04-10 Mikael Djurfeldt <mdj@thalamus.nada.kth.se>
248
249 * objects.h: Don't redeclare scm_call_generic_0 and
250 scm_apply_generic. (Thanks to Tal Tversky.)
251
252 2000-04-10 Dirk Herrmann <D.Herrmann@tu-bs.de>
253
254 * hash.c (scm_hasher): Use symbolic names for the tc3 constants.
255 Unpack SCM value to use it as a switch parameter. Don't cast SCM
256 values to int values.
257
258 2000-04-10 Mikael Djurfeldt <mdj@mdj.nada.kth.se>
259
260 * coop.c (mother): Handled EINTR (the wait has been interrupted by
261 a signal).
262
263 2000-04-07 Dirk Herrmann <D.Herrmann@tu-bs.de>
264
265 * __scm.h (SCM_WTA_DISPATCH_[012n]): To test whether a SCM value
266 contains a raw zero value it has to be unpacked.
267
268 * debug.c (with_traps_inner, scm_with_traps): Passing SCM values
269 via void * requires unpacking / packing.
270
271 * stacks.h (SCM_STACKP): Remove unnecessary SCM_NIMP test and use
272 SCM_EQ_P to compare SCM values.
273
274 * stacks.h (SCM_FRAME_VOID_P, SCM_FRAME_REAL_P, SCM_FRAME_PROC_P,
275 SCM_FRAME_EVAL_ARGS_P, SCM_FRAME_OVERFLOW_P): Remove unnecessary
276 call to SCM_UNPACK.
277
278 * tags.h (SCM_NECONSP): Define in terms of SCM_ECONSP
279
280 * tags.h (SCM_ECONSP): Clarify the test for glocs. This is still
281 quite ugly.
282
283 2000-04-05 Michael Livshin <mlivshin@bigfoot.com>
284
285 * async.[ch]: unexpose low-level async access macros (thanks to
286 Dirk Herrmann).
287
288 * validate.h: move async validation macros to async.c (nobody else
289 needs them anyway), and rename them.
290
291 2000-04-04 Michael Livshin <mlivshin@bigfoot.com>
292
293 * async.h: kill the scm_async_t struct. having a heap cell
294 pretending to be a C struct is not helthy, and is not needed here
295 anyway, as asyncs happily fit in one heap cell.
296
297 * async.c: reflect the fact that asyncs are now represented by
298 single heap cell each.
299
300 2000-04-04 Gary Houston <ghouston@arglist.com>
301
302 * error.c (scm_syserror): save errno before doing anything else,
303 since it's used in two expressions and may get mutated (thanks to
304 Dirk Herrmann).
305
306 2000-04-04 Dirk Herrmann <D.Herrmann@tu-bs.de>
307
308 * debug.c (scm_procedure_source, scm_procedure_environment),
309 gsubr.c (scm_make_gsubr_with_generic, scm_gsubr_apply), procs.c
310 (scm_procedure, scm_setter): Return valid scheme value as dummy.
311
312 * filesys.c (scm_readdir, scm_rewinddir, scm_closedir,
313 scm_dir_print, scm_dir_free), numbers.h (SCM_COMPLEX_REAL,
314 SCM_COMPLEX_IMAG), regex-posix.h (SCM_RGX), throw.c (JBJMPBUF,
315 SETJBJMPBUF, JBJMPBUF, SETJBJMPBUF, freejb, print_lazy_catch,
316 scm_ithrow), unif.c (scm_uniform_vector_ref, scm_cvref,
317 scm_array_set_x, rapr1), unif.h (SCM_ARRAY_V, SCM_ARRAY_BASE),
318 vectors.h (SCM_VELTS, SCM_VELTS_AS_STACKITEMS, SCM_SETVELTS): Use
319 SCM_{SET_}?CELL_WORD* to access cell entries with raw data.
320
321 * filesys.c (scm_closedir), numbers.c (scm_addbig), numbers.h
322 (SCM_SETNUMDIGS), throw.c (JBACTIVE, SCM_JBDFRAME,
323 SCM_SETJBDFRAME): Read and modify data bits in cell entry #0 using
324 SCM_{SET_}?CELL_WORD_0.
325
326 * filesys.c (fill_select_type, retrieve_select_type, scm_select),
327 numbers.c (scm_gcd, scm_lcm, scm_integer_expt, scm_zero_p,
328 scm_product, scm_divide), posix.c (scm_getgrgid), ramap.c
329 (scm_array_fill_int, racp), throw.c (scm_catch, scm_lazy_catch,
330 scm_ithrow), unif.c (scm_make_uve, scm_array_p,
331 scm_transpose_array, scm_array_set_x, scm_bit_set_star_x,
332 scm_bit_count_star, l2ra), variable.c (prin_var,
333 scm_make_variable, scm_make_undefined_variable,
334 scm_builtin_variable), vectors.c (scm_vector_set_length_x),
335 vports.c (sf_flush, sf_close): Don't use C operators to compare
336 SCM values.
337
338 * numbers.c (scm_odd_p, scm_even_p), variable.c (prin_var): Must
339 unpack SCM values to access their raw contents.
340
341 * numbers.c (big2str): Eliminate unnecessary casts to SCM.
342
343 * numbers.h (SCM_NEWREAL), regex-posix.h (SCM_RGXP), vports.c
344 (scm_make_soft_port): Use SCM_{SET_}?CELL_TYPE to access the cell
345 type information.
346
347 * throw.c (printjb): Eliminated unnecessary unpack.
348
349 * variable.c (make_vcell_variable): Smob data is of type
350 scm_bits_t.
351
352 2000-04-04 Mikael Djurfeldt <mdj@mdj.nada.kth.se>
353
354 * print.c: Removed promise to rewrite printer code before next
355 release. :)
356
357 2000-04-03 Mikael Djurfeldt <mdj@mdj.nada.kth.se>
358
359 * iselect.c (add_fd_sets): Insert empty statement after label.
360 (Thanks to Tim Mooney.)
361
362 2000-04-03 Michael Livshin <mlivshin@bigfoot.com>
363
364 * guardians.c (scm_guardian_zombify): mark all zombies in a
365 separate loop after processing all the currently known live
366 guardians, so as to not introduce order dependencies (thanks to
367 Gary Houston). note that the order problems are still there if
368 some guardians are themselves zombies, but that's a sick case that
369 I'm not going to worry about.
370 also, make another outer loop to process zombified
371 guardians (which are uncovered while marking zombies).
372
373 2000-04-03 Dirk Herrmann <D.Herrmann@tu-bs.de>
374
375 * evalext.c (scm_definedp, scm_m_undefine), gc.c
376 (scm_mark_weak_vector_spines, scm_gc_sweep), hashtab.c
377 (scm_hashq_ref, scm_hashv_ref, scm_hash_ref, scm_hashx_ref),
378 keywords.c (scm_make_keyword_from_dash_symbol), lang.c
379 (scm_nil_eq), lang.h (SCM_NILP, SCM_NIL2EOL), load.c
380 (scm_primitive_load), modules.c (scm_module_full_name), objects.c
381 (scm_class_of, scm_mcache_lookup_cmethod, scm_make_class_object),
382 ports.c (scm_close_all_ports_except), ports.h (SCM_EOF_OBJECT_P),
383 print.c (scm_iprin1, scm_prin1, scm_iprlist, scm_simple_format),
384 print.h (SCM_PRINT_STATE_P), procprop.c (scm_i_procedure_arity,
385 scm_stand_in_scm_proc, scm_procedure_property,
386 scm_set_procedure_property_x), procs.c
387 (scm_procedure_documentation), read.c (scm_lreadr, scm_lreadparen,
388 scm_lreadrecparen, scm_read_hash_extend), script.c
389 (scm_compile_shell_switches), srcprop.c (scm_source_property,
390 scm_set_source_property_x), srcprop.h (SCM_WHASHFOUNDP), stacks.c
391 (read_frame, NEXT_FRAME, read_frames, narrow_stack,
392 scm_make_stack, scm_stack_id), strop.c (scm_i_index,
393 scm_string_index, scm_string_rindex), struct.c (scm_struct_init),
394 validate.h (SCM_VALIDATE_BOOL_COPY, SCM_VALIDATE_INUM_DEF,
395 SCM_VALIDATE_INUM_DEF_COPY, SCM_VALIDATE_PROC,
396 SCM_VALIDATE_ARRAY): Don't use C operators to compare SCM values.
397
398 * feature.c (make_hook), keywords.c
399 (scm_make_keyword_from_dash_symbol), macros.c (scm_makacro,
400 scm_makmacro, scm_makmmacro), print.c (scm_iprin1,
401 scm_printer_apply, scm_port_with_print_state): Smob data is of type
402 scm_bits_t.
403
404 * feature.c (print_hook), gc.c (scm_object_address), hash.c
405 (scm_ihashq, scm_ihashv), print.c (scm_iprin1, scm_ipruk), smob.c
406 (freeprint), struct.c (scm_print_struct): Must unpack
407 SCM values to access their raw contents.
408
409 * fluids.c (apply_thunk, scm_with_fluids), hashtab.c (fold_proc,
410 scm_hash_fold), load.c (load, scm_primitive_load): Passing SCM
411 values via void * requires unpacking / packing.
412
413 * fports.c (scm_fport_buffer_add, scm_setvbuf), procs.h
414 (SCM_SUBRNUM, SCM_SET_SUBRNUM), srcprop.h (SRCPROPBRK, SRCBRKP):
415 Read and modify data bits in cell entry #0 using
416 SCM_{SET_}?CELL_WORD_0.
417
418 * fports.c (scm_fdes_to_port), gc.c (scm_gc_for_newcell,
419 scm_gc_sweep, init_heap_seg), init.c (start_stack), ports.c
420 (scm_void_port), procs.c (scm_make_subr_opt,
421 scm_make_procedure_with_setter), root.c (scm_internal_cwdr),
422 smob.c (scm_make_smob), strports.c (scm_mkstrport): Use
423 SCM_SET_CELL_TYPE to write the cell type information.
424
425 * gc.c (scm_gc_mark): Use SCM_CELL_OBJECT* to access SCM values
426 from cells that are no scheme pairs.
427
428 * gc.c (scm_gc_sweep), mallocs.c (prinmalloc), mallocs.h
429 (SCM_MALLOCDATA, SCM_SETMALLOCDATA), print.c (scm_ipruk), random.h
430 (SCM_RSTATE), root.h (SCM_ROOT_STATE), smob.c (scm_smob_free),
431 srcprop.c (freesrcprops), srcprop.h (SRCPROPPOS, SRCPROPFNAME,
432 SRCPROPCOPY, SRCPROPPLIST), struct.c (scm_make_struct,
433 scm_make_vtable_vtable): Use SCM_{SET_}?CELL_WORD* to access cell
434 entries with raw data.
435
436 * gc.c (scm_init_storage), sort.c (applyless), strop.c
437 (scm_string_to_list): Eliminate unnecessary casts to SCM.
438
439 * mallocs.c (scm_malloc_obj): Store result of malloc as raw
440 data.
441
442 * ports.c (scm_close_all_ports_except): Duplicate documentation
443 text removed.
444
445 * print.c (scm_iprin1): Use SCM_ITAG3.
446
447 * procs.h (SCM_SET_SUBRNUM): Fix shift direction.
448
449 * snarf.h (SCM_GPROC, SCM_GPROC1, SCM_SYMBOL, SCM_GLOBAL_SYMBOL,
450 SCM_KEYWORD, SCM_GLOBAL_KEYWORD, SCM_VCELL, SCM_GLOBAL_VCELL,
451 SCM_VCELL_INIT, SCM_GLOBAL_VCELL_INIT): Don't initialize globals
452 and static variables at their point of declaration, but rather in
453 the init function.
454
455 * tags.h (SCM_PACK): Automatically cast to scm_bits_t.
456
457 2000-04-02 Gary Houston <ghouston@arglist.com>
458
459 * guardians.c (TCONC_IN, scm_make_guardian): set the CDR of the
460 empty tconc pair to SCM_EOL instead of SCM_BOOL_F, avoiding the
461 use of an improper list (which breaks g_print. g_print isn't
462 used).
463 guardians.c: Added more comments and modified the make-guardian
464 docstring. Reordered a few procedures.
465
466 2000-04-01 Dirk Herrmann <D.Herrmann@tu-bs.de>
467
468 * eval.c (scm_lookupcar1, scm_lookupcar, scm_m_case, scm_m_cond,
469 scm_m_lambda, iqq, scm_m_define, scm_m_expand_body, unmemocopy,
470 SCM_CEVAL), procs.h (SCM_TOP_LEVEL): Don't use C operators to
471 compare SCM values.
472
473 (scm_makprom): Smob data is of type scm_bits_t.
474
475 2000-03-31 Dirk Herrmann <D.Herrmann@tu-bs.de>
476
477 * backtrace.c (display_error_body), debug.c (scm_procedure_source,
478 scm_reverse_lookup), dynl.c (scm_dynamic_link): Don't use C
479 operators to compare SCM values.
480
481 * debug.c (scm_make_debugobj), debug.h (SCM_DEBUGOBJ_FRAME,
482 SCM_SET_DEBUGOBJ_FRAME): Update SCM_{SET_}?DEBUGOBJ_FRAME to
483 access raw cell data with SCM_{SET_}?CELL_WORD_1.
484
485 * debug.c (scm_make_debugobj): Don't use SCM_SETCAR to set types.
486
487 * debug.c (scm_make_memoized), dynl.c (scm_dynamic_link): Smob
488 data is of type scm_bits_t.
489
490 2000-03-31 Dirk Herrmann <D.Herrmann@tu-bs.de>
491
492 * gdbint.c (gdb_maybe_valid_type_p), guardians.c (TCONC_EMPTYP,
493 scm_guardian_zombify): Use SCM_EQ_P to compare SCM values.
494
495 * guardians.c (GUARDIAN): Use SCM_CELL_WORD_1 for raw data.
496
497 2000-03-31 Dirk Herrmann <D.Herrmann@tu-bs.de>
498
499 * ports.h (scm_port): Change type of stream member to scm_bits_t.
500
501 * gdbint.c (unmark_port, remark_port), ports.c (scm_markstream),
502 strports.c (st_resize_port, scm_mkstrport), vports (sf_flush,
503 sf_write, sf_fill_input, sf_close, scm_make_soft_port): Since
504 streams are now of type scm_bits_t, SCM streams have to be
505 unpacked/packed.
506
507 * ports.h (SCM_SETPTAB_ENTRY, SCM_SETSTREAM): Cast input to
508 scm_bits_t.
509
510 2000-03-31 Mikael Djurfeldt <mdj@thalamus.nada.kth.se>
511
512 * coop-defs.h (struct coop_t): Added `sto'-field again because of
513 binary compatibility---let's remove it next time we alter some
514 major structure.
515
516 * coop.c (coop_quitting_p, coop_cond_create, coop_mutex_create,
517 coop_mother, coop_child): New variables.
518 (mother): New function.
519 (coop_create): New thread spawning mechanism which uses a "mother
520 thread". The "dummy" pthreads aren't healthy enough to give birth
521 to new threads since Linux threads thinks they are asleep.
522
523 * coop-defs.h (struct coop_t): Removed dummy_mutex.
524
525 * coop-defs.h, coop-threads.c (struct coop_t): Eliminate
526 `sto'-field when GUILE_PTHREAD_COMPAT is enabled.
527
528 2000-03-30 Dirk Herrmann <D.Herrmann@tu-bs.de>
529
530 * arbiters.c (scm_make_arbiter), async.c (scm_async), dynwind.c
531 (scm_internal_dynamic_wind): Smob data is always of type
532 scm_bits_t.
533
534 * arbiters.c (SCM_ARB_LOCKED, SCM_LOCK_ARB, SCM_UNLOCK_ARB):
535 Access the locking information in cell entry 0 with
536 SCM_{SET_}?CELL_WORD_0 instead of SCM_*CAR.
537
538 * async.c (scm_run_asyncs): Use SCM_NULLP to test for the empty
539 list.
540
541 * dynwind.c (scm_dowinds): Use SCM_EQ_P to compare SCM values.
542
543 * ports.h (SCM_PTAB_ENTRY, SCM_SETPTAB_ENTRY): Access the ptab
544 entry data using SCM_{SET_}?CELL_WORD_1 instead of SCM_{SET}?CDR.
545
546 2000-03-29 Dirk Herrmann <D.Herrmann@tu-bs.de>
547
548 * alist.c (scm_sloppy_assq, scm_assq), eq.c (scm_eq_p, scm_eqv_p,
549 scm_equal_p), list.c (scm_ilength, scm_last_pair, scm_reverse,
550 scm_sloppy_memq, scm_delq_x, scm_delq1_x), tags.h (SCM_UNBNDP):
551 Don't use C operators == and != to compare SCM values, use
552 SCM_EQ_P instead.
553
554 * boolean.c (scm_boolean_p): Use SCM_BOOLP to determine whether a
555 SCM value is equal to #t or #f.
556
557 * eq.c (scm_eqv_p, scm_equal_p): Don't use SCM_CAR to access the
558 cell type entry of non immediate objects of unknown type. Use
559 SCM_CELL_TYPE instead.
560
561 * gh_data.c (gh_scm2bool, gh_module_lookup), list.c
562 (scm_sloppy_memv, scm_sloppy_member, scm_delv_x, scm_delete_x,
563 scm_delv1_x, scm_delete1_x), scmsigs.c (scm_sigaction): Use
564 SCM_FALSEP and SCM_TRUE_P to compare SCM values against #f and
565 #t.
566
567 * list.c (scm_listify): Use SCM_UNBNDP to test for an unbound
568 scheme value.
569
570 2000-03-29 Mikael Djurfeldt <mdj@thalamus.nada.kth.se>
571
572 * coop-threads.c (scm_call_with_new_thread, scm_spawn_thread,
573 scm_make_mutex, scm_make_condition_variable): Cast data to
574 scm_bits_t in SCM_SET_CELL_WORD and SCM_NEWSMOB macros.
575
576 * coop.c (coop_create): Set `specific' field, not `data' to NULL.
577
578 2000-03-29 Dirk Herrmann <D.Herrmann@tu-bs.de>
579
580 * smob.h (SCM_NEWSMOB, SCM_NEWSMOB2, SCM_NEWSMOB3, SCM_SMOB_DATA,
581 SCM_SET_SMOB_DATA, SCM_TC2SMOBNUM, SCM_SMOBNUM): To access smob
582 data, use SCM_{SET_}?CELL_TYPE or SCM_{SET_}?WORD_[1-3].
583
584 Note that this implies that smob data has always to be passed as
585 values of type scm_bits_t.
586
587 2000-03-29 Mikael Djurfeldt <mdj@thalamus.nada.kth.se>
588
589 * threads.c (scm_init_threads): Pass 0 size to scm_make_smob_type
590 for scm_tc16_thread. As the current COOP threads are written, GC
591 is not supposed to manage storage for threads.
592
593 * error.c (scm_error): Don't try to throw an error if
594 scm_gc_heap_lock is true.
595
596 * coop.c (coop_finish): New function. Called at exit.
597 (coop_aborthelp): Free thread structures when threads die.
598 Finished LinuxThreads compatibility support => COOP threads now
599 mesh with LinuxThreads.
600
601 * coop-threads.c (scm_call_with_new_thread, scm_spawn_thread):
602 Changed SETCDR --> SET_CELL_WORD_1.
603
604 * coop-threads.c (scheme_launch_thread): Set word 1 of handle to 0
605 when thread dies.
606
607 2000-03-29 Dirk Herrmann <D.Herrmann@tu-bs.de>
608
609 * boolean.h (SCM_TRUE_P): New macro.
610
611 * boolean.h (SCM_FALSEP, SCM_NFALSEP, SCM_BOOLP), pairs.h
612 (SCM_NULLP, SCM_NNULLP): Use SCM_EQ_P to compare SCM values.
613
614 2000-03-28 Dirk Herrmann <D.Herrmann@tu-bs.de>
615
616 * continuations.h (SCM_CONTREGS, SCM_SET_CONTREGS): New macros to
617 access continuation data.
618
619 (SCM_SETJMPBUF): Deprecated. Use SCM_SET_CONTREGS instead.
620
621 (SCM_JMPBUF, SCM_DYNENV, SCM_THROW_VALUE, SCM_BASE, SCM_SEQ,
622 SCM_DFRAME): Use SCM_CONTREGS instead of SCM_CHARS to access
623 continuation data.
624
625 * continuations.c (scm_make_cont), init.c (start_stack),
626 root.c (scm_internal_cwdr): Use SCM_SET_CONTREGS instead of
627 SCM_SETJMPBUF.
628
629 2000-03-28 Dirk Herrmann <D.Herrmann@tu-bs.de>
630
631 * symbols.h (SCM_LENGTH, SCM_SETLENGTH): Access the length field
632 of strings and symbols by using SCM_{SET_}?CELL_WORD_0.
633
634 (SCM_CHARS, SCM_UCHARS, SCM_SETCHARS): Use SCM_{SET_}?CELL_WORD_1
635 to access the char * field of strings and symbols.
636
637 2000-03-27 Dirk Herrmann <D.Herrmann@tu-bs.de>
638
639 * gc.h (SCM_NEWCELL, SCM_NEWCELL2): Use SCM_SET_CELL_TYPE to set
640 the type entry of a new cell. Added a comment about things to
641 remember when updating the list of free cells.
642
643 (SCM_FREEP, SCM_MARKEDP): Use SCM_CELL_TYPE to access the type
644 entry of a cell.
645
646 2000-03-27 Dirk Herrmann <D.Herrmann@tu-bs.de>
647
648 * pairs.h (SCM_CAR, SCM_CDR, SCM_SETCAR, SCM_SETCDR): Use
649 SCM_CELL_OBJECT and SCM_SET_CELL_OBJECT. This change implies that
650 with strict type checking enabled these macros will only work if
651 given valid SCM parameters.
652
653 (SCM_GCCDR): Moved to tags.h.
654
655 * tags.h (SCM_GCCDR): Moved here from pairs.h.
656
657 2000-03-26 Dirk Herrmann <D.Herrmann@tu-bs.de>
658
659 * tags.h (SCM2PTR, PTR2SCM): Moved to gc.h.
660
661 * pairs.h (scm_cell, SCM_CELLPTR, SCM_CELL_WORD*, SCM_CELL_OBJECT*,
662 SCM_SET_CELL_WORD*, SCM_SET_CELL_OBJECT*, SCM_CELL_TYPE,
663 SCM_SET_CELL_TYPE, SCM_PTR_LT, SCM_PTR_MASK, SCM_PTR_GT,
664 SCM_PTR_LE, SCM_PTR_GE, SCM_CELL_WORD_LOC, SCM_NEWCELL,
665 SCM_NEWCELL2): Moved to gc.h.
666
667 (SCM_CARLOC, SCM_CDRLOC, SCM_SETAND_CAR, SCM_SETAND_CDR,
668 SCM_SETOR_CAR, SCM_SETOR_CDR): Moved to gc.h. These names should
669 be changed, though, since the macros are not only pair related.
670
671 (SCMPTR): Deleted.
672
673 * gc.h (SCM2PTR, PTR2SCM, scm_cell, SCM_CELLPTR, SCM_CELL_WORD*,
674 SCM_CELL_OBJECT*, SCM_SET_CELL_WORD*, SCM_SET_CELL_OBJECT*,
675 SCM_CELL_TYPE, SCM_SET_CELL_TYPE, SCM_PTR_LT, SCM_PTR_MASK,
676 SCM_PTR_GT, SCM_PTR_LE, SCM_PTR_GE, SCM_CELL_WORD_LOC,
677 SCM_NEWCELL, SCM_NEWCELL2, SCM_CARLOC, SCM_CDRLOC, SCM_SETAND_CAR,
678 SCM_SETAND_CDR, SCM_SETOR_CAR, SCM_SETOR_CDR): Moved here from
679 tags.h and pairs.h.
680
681 2000-03-25 Dirk Herrmann <D.Herrmann@tu-bs.de>
682
683 * tags.h (SCM_STRICT_TYPING): New macro that, if defined,
684 activates strict compile time type checking for variables of
685 type SCM.
686 (SCM, SCM_PACK, SCM_UNPACK): Define according to whether
687 SCM_STRICT_TYPING or SCM_VOIDP_TEST are defined.
688 (SCM_EQ_P): Defined as a macro equivalent for eq?.
689
690 2000-03-25 Dirk Herrmann <D.Herrmann@tu-bs.de>
691
692 * tags.h (SCM_POINTERS_MUNGED): Removed.
693
694 * gc.c (scm_gc_sweep, init_heap_seg): Removed use of
695 SCM_POINTERS_MUNGED, thus fixing some illegal casts to SCM.
696
697 2000-03-24 Dirk Herrmann <D.Herrmann@tu-bs.de>
698
699 * pairs.h (SCM_CELL_OBJECT, SCM_CELL_OBJECT_[0-3],
700 SCM_SET_CELL_OBJECT, SCM_SET_CELL_OBJECT_[0-3], SCM_CELL_TYPE,
701 SCM_SET_CELL_TYPE): Added a set of low level macros for accessing
702 cell entries.
703 (SCM_CELL_WORD_[0-3]): Renamed from the SCM_CELL_WORD[0-3].
704
705 * procs.h, procs.c: Instead of SCM_{SET_}?CELL_WORD[12], use the
706 newly introduced SCM_{SET_}?CELL_OBJECT_[12] macros.
707
708 2000-03-23 Mikael Djurfeldt <mdj@mdj.nada.kth.se>
709
710 * tags.h: Disabled definition of SCM_VOIDP_TEST.
711
712 Defining SCM as void * introduces problems which haven't been
713 handled yet. Developers who work with these issues can enable it
714 in their working copies.
715
716 Disabling this definition exposes a set of newly introduced and
717 older misuses of types which causes warning messages during
718 compilation. We'll fix this successively.
719
720 * gc.c (scm_mark_locations): Changed * (SCM **) X --> * (SCM *) X
721 in order to obtain a value of type SCM.
722 (scm_cellp): Updated with new changes to scm_mark_locations.
723
724 * continuations.h (SCM_SETJMPBUF): Cast second arg into SCM.
725
726 * continuations.c (scm_make_cont): Removed cast of size_t into
727 long.
728
729 * symbols.h (SCM_SETCHARS): Cast second arg into SCM.
730
731 2000-03-22 Dirk Herrmann <D.Herrmann@tu-bs.de>
732
733 * numbers.h (SCM_SETNUMDIGS): Use SCM_BIGSIZEFIELD macro for
734 shifting, not constant. Thanks to Dale P. Smith.
735
736 * numbers.c (scm_sum, scm_difference): Don't test a SCM value
737 for being less than zero. Decode it to a C value first. Again,
738 thank you Dale.
739
740 2000-03-22 Dirk Herrmann <D.Herrmann@tu-bs.de>
741
742 * numbers.h, ramap.c, struct.h, vectors.h: Don't use SCM2PTR for
743 non scheme values. If raw data is stored in SCM variables, it has
744 to be accessed using SCM_UNPACK until a better solution is found.
745
746 2000-03-22 Mikael Djurfeldt <mdj@mdj.nada.kth.se>
747
748 * tags.h (SCM_ECONSP, SCM_NECONSP): More corrections of
749 pointer-arithmetic induced by the SCM_PACK/UNPACK change.
750
751 * print.c (scm_iprin1): SCM_PACK/UNPACK corrections.
752
753 * gc.c (scm_gc_sweep): SCM_PACK/UNPACK corrections.
754
755 * eval.c (SCM_CEVAL, scm_unmemocar): SCM_PACK/UNPACK corrections.
756
757 * dynwind.c (scm_swap_bindings): SCM_PACK/UNPACK corrections.
758
759 * async.c, __scm.h: Removed lots of the old async click logic. It
760 is possible to reinsert it by defining GUILE_OLD_ASYNC_CLICK in
761 __scm.h. Let's try this out and dump the old code after the
762 threads reorganization.
763 (set-tick-rate, set-switch-rate): Conditionally removed.
764
765 2000-03-21 Mikael Djurfeldt <mdj@mdj.nada.kth.se>
766
767 * gc.c (scm_gc_mark): Bugfix 1: The recent SCM_PACK/UNPACK change
768 made SCM values into pointers. This turned an arithmetic
769 computation of the address of the vcell into a pointer-arithmetic
770 one, thereby screwing up marking of structs.
771 Bugfix 2: Removed incompletely introduced loop variable `j' used
772 when protecting the tail array of a struct.
773
774 2000-03-21 Dirk Herrmann <D.Herrmann@tu-bs.de>
775
776 * struct.h (SCM_STRUCT_DATA): Don't cast SCM values to pointers.
777
778 2000-03-21 Dirk Herrmann <D.Herrmann@tu-bs.de>
779
780 * symbols.h, symbols.c (scm_strhash): Declare the string
781 parameter as constant, since it is not modified.
782
783 * symbols.c (scm_intern_obarray_soft,
784 scm_sysintern0_no_module_lookup): Can now pass constant strings
785 to scm_strhash without need for casting.
786
787 2000-03-21 Dirk Herrmann <D.Herrmann@tu-bs.de>
788
789 * vectors.h (SCM_VELTS, SCM_VELTS_AS_STACKITEMS): Don't cast SCM
790 values to pointers. Use SCM2PTR instead.
791
792 2000-03-21 Dirk Herrmann <D.Herrmann@tu-bs.de>
793
794 * async.c (scm_set_tick_rate, scm_set_switch_rate): Don't unpack
795 results of SCM_INUM.
796
797 2000-03-21 Mikael Djurfeldt <mdj@thalamus.nada.kth.se>
798
799 * init.c (scm_boot_guile_1): Renamed GUILE_GC_TRIGGER_1 -->
800 GUILE_MIN_YIELD_1, GUILE_GC_TRIGGER_2 --> GUILE_MIN_YIELD_2.
801 GUILE_MIN_YIELD_X now take *positive* fractions of heap size.
802
803 * gc.c, gc.h (SCM_MIN_YIELD_1, SCM_MIN_YIELD_2,
804 min_yield_fraction, min_yield, adjust_min_yield): Renamed from
805 SCM_GC_TRIGGER_1, SCM_GC_TRIGGER_2, gc_trigger_fraction,
806 gc_trigger, adjust_gc_trigger.
807
808 * gc.c (alloc_some_heap): Further improvement of minimal heap size
809 prediction.
810 (SCM_MAX): New macro.
811 (scm_freelist_t): New field: collected_1. Previous amount of
812 collected cells.
813 (gc_sweep_freelist_finish): Trigger based on two last values of
814 freelist->collected to avoid unnecessary allocation due to
815 temporary peaks.
816 (SCM_INIT_HEAP_SIZE_1, SCM_GC_TRIGGER_1, SCM_GC_TRIGGER_2):
817 Adjusted to 45000 cells, 40% and 40%. Gives quick startup
818 without extra heap allocation.
819
820 2000-03-20 Dirk Herrmann <D.Herrmann@tu-bs.de>
821
822 * numbers.h (SCM_MAKINUM): The parameter to SCM_MAKINUM should
823 already be a C value. No need to unpack it.
824
825 * numbers.c (scm_long_long2num): Cast the parameter to scm_bits_t
826 if we know it fits into an inum.
827
828 * ramap.c (ramap_rp): An scm_tc7_[ui]vect object does point to a
829 field of long values. In contrast, SCM_VELTS accesses a field of
830 SCM values.
831
832 2000-03-20 Mikael Djurfeldt <mdj@mdj.nada.kth.se>
833
834 * gc.c (scm_gc_stats): Inserted explanation of local_scm_mtrigger
835 etc.
836 (scm_gc_yield_1): New variable: Holds previous yield. Used to
837 make better judgements.
838 (gc_sweep_freelist_finish): Inserted explanation of use of
839 gc_trigger.
840
841 * print.h, stacks.h, options.c, options.h: Changed C++
842 commentaries to C.
843
844 2000-03-20 Dirk Herrmann <D.Herrmann@tu-bs.de>
845
846 * tags.h (SCM2PTR, PTR2SCM): Use SCM_PACK / SCM_UNPACK correctly.
847
848 * numbers.h (SCM_INUMP, SCM_MAKINUM, SCM_INUM0, SCM_COMPLEX_REAL,
849 SCM_COMPLEX_IMAG, SCM_NUMP, SCM_BDIGITS): Use SCM_PACK /
850 SCM_UNPACK / SCM2PTR correctly.
851
852 2000-03-20 Mikael Djurfeldt <mdj@mdj.nada.kth.se>
853
854 * gc.c (adjust_gc_trigger): Improved documentation.
855 (alloc_some_heap): Since gc_trigger is used against
856 freelist->collected, this is the value which should be used to
857 predict minimum growth.
858
859 2000-03-20 Dirk Herrmann <D.Herrmann@tu-bs.de>
860
861 * eval.h: Fix mixup of packed/unpacked SCM values. (Thanks
862 Thien-Thi Nguyen for the patch.)
863
864 2000-03-20 Dirk Herrmann <D.Herrmann@tu-bs.de>
865
866 * numbers.c (scm_ash): Fixed typing problems with the second
867 parameter and added some documentation. (Thanks Thien-Thi Nguyen
868 for indicating the problem.)
869
870 2000-03-19 Mikael Djurfeldt <mdj@mdj.nada.kth.se>
871
872 * gc.c, gc.h (scm_gc_yield): New variable.
873 (adjust_gc_trigger): Use scm_gc_yield.
874 (alloc_some_heap): Use scm_gc_yield instead of
875 scm_gc_cells_collected.
876
877 * coop-threads.c: Addd #include "root.h", #include "strings.h".
878
879 * debug.c: Added #include "root.h". (Thanks to Thien-Thi Nguyen.)
880
881 * gc.c (scm_gc_for_newcell, adjust_gc_trigger): Improved GC
882 trigger adjustmeant: Take yield (freed cells) for all freelists
883 into account.
884 (SCM_INIT_HEAP_SIZE_1, SCM_GC_TRIGGER_1, SCM_GC_TRIGGER_2): Tuned
885 to 50000 cell heap with 45% trigger.
886 (scm_gc_cells_collected): Reintroduced.
887 (SCM_HEAP_SIZE): New macro.
888 (scm_gc_sweep): Reintroduced correct computation of
889 scm_cells_allocated.
890 (scm_freelist_t): Corrected commentary for field `cluster_size':
891 Clustersize counts objects, not cells; New member
892 `clusters_allocated'.
893
894 2000-03-19 Michael Livshin <mlivshin@bigfoot.com>
895
896 * *.[hc]: add Emacs magic at the end of file, to ensure GNU
897 indentation style.
898
899 2000-03-19 Mikael Djurfeldt <mdj@thalamus.nada.kth.se>
900
901 * threads.h: Added #include "libguile/throw.h". (Thanks to
902 Thien-Thi Nguyen.)
903
904 2000-03-18 Michael Livshin <mlivshin@bigfoot.com>
905
906 * tags.h: (SCM_DOUBLE_CELLP, SCM_NDOUBLE_CELLP): new macros (bad
907 names, anyone got any better ones?)
908
909 * gc.h: (typedef struct scm_freelist_t) remove from here.
910
911 * gc.c: (CELL_UP, CELL_DN) made these macros take additional
912 parameter (the span).
913 (CLUSTER_SIZE_IN_BYTES, ALIGNMENT_SLACK) new macros.
914 (typedef struct scm_freelist_t) moved here from gc.h, it had no
915 business being externally visible.
916 (typedef struct scm_heap_seg_data_t) renamed from
917 scm_heap_seg_data, to be style-compliant.
918 (scm_mark_locations) if the possible pointer points to a
919 double-cell, check that it's properly aligned.
920 (init_heap_seg) align double-cells properly, work with the
921 assumption that the segment size divides cleanly by cluster size.
922 (round_to_cluster_size) new function.
923 (alloc_some_heap, make_initial_segment) use round_to_cluster_size
924 to satisfy the new init_heap_seg invariant.
925
926 2000-03-18 Dirk Herrmann <D.Herrmann@tu-bs.de>
927
928 * _scm.h: Don't include async.h everywhere...
929
930 * eq.c eval.c iselect.c: ... only include it here.
931
932 2000-03-18 Dirk Herrmann <D.Herrmann@tu-bs.de>
933
934 * _scm.h: Don't include root.h everywhere...
935
936 * async.c continuations.c eq.c eval.c evalext.c feature.c gc.c
937 gdbint.c gsubr.c ioext.c keywords.c lang.c load.c macros.c
938 numbers.c objprop.c ports.c print.c procprop.c ramap.c read.c
939 srcprop.c stackchk.c stacks.c strports.c symbols.c unif.c
940 variable.c vectors.c vports.c: ... only include it here.
941
942 2000-03-17 Dirk Herrmann <D.Herrmann@tu-bs.de>
943
944 * _scm.h: Don't include strings.h everywhere...
945
946 * backtrace.c dynl.c error.c feature.c filesys.c fports.c gc.c
947 gdbint.c ioext.c load.c net_db.c numbers.c objects.c options.c
948 ports.c posix.c print.c procs.c random.c read.c regex-posix.c
949 simpos.c socket.c stacks.c stime.c strop.c strports.c struct.c
950 symbols.c unif.c vectors.c version.c vports.c: ... only include it
951 here.
952
953 2000-03-17 Dirk Herrmann <D.Herrmann@tu-bs.de>
954
955 * _scm.h: Don't include ports.h everywhere...
956
957 * arbiters.c backtrace.c debug.c dynl.c dynwind.c eval.c feature.c
958 fluids.c gc.c gdbint.c guardians.c hash.c keywords.c mallocs.c
959 numbers.c objects.c print.c read.c root.c smob.c srcprop.c
960 stackchk.c strports.c struct.c throw.c variable.c: ... only
961 include it here.
962
963 2000-03-17 Dirk Herrmann <D.Herrmann@tu-bs.de>
964
965 * _scm.h: Don't include vectors.h everywhere...
966
967 * eq.c eval.c filesys.c gc.c gsubr.c guardians.c hash.c hashtab.c
968 keywords.c net_db.c numbers.c objects.c posix.c print.c procprop.c
969 procs.c ramap.c random.c read.c scmsigs.c socket.c sort.c stime.c
970 strports.c symbols.c unif.c vports.c weaks.c: ... only include it
971 here.
972
973 2000-03-17 Dirk Herrmann <D.Herrmann@tu-bs.de>
974
975 * genio.h: removed. (Only content was '/* delete me */'.)
976
977 * Makefile.am arbiters.c backtrace.c debug.c dynl.c dynwind.c
978 error.c filesys.c fluids.c gc.c gsubr.c guardians.c keywords.c
979 libguile.h mallocs.c numbers.c print.c random.c read.c root.c
980 srcprop.c stackchk.c struct.c threads.c throw.c variable.c:
981 Removed reference to genio.h
982
983 2000-03-17 Mikael Djurfeldt <mdj@thalamus.nada.kth.se>
984
985 * gc.c, gc.h: Cleanup of the change of 2000-03-15.
986 Cluster sizes are now independent of GC trigger values.
987 GUILE_GC_TRIGGER_n can now specify a relative trigger value:
988 A negative integer gives fraction of total heap size in percent.
989 (SCM_GC_TRIGGER_1, SCM_GC_TRIGGER_2): Default values set to -40.
990
991 * init.c (scm_boot_guile_1): Introduced new variable
992 GUILE_MAX_SEGMENT_SIZE; New environment variable names:
993 GUILE_INIT_SEGMENT_SIZE_1, GUILE_GC_TRIGGER_1,
994 GUILE_INIT_SEGMENT_SIZE_2, GUILE_GC_TRIGGER_2
995
996 2000-03-16 Mikael Djurfeldt <mdj@mdj.nada.kth.se>
997
998 * __scm.h (GC_FREE_SEGMENTS): Disable this until we have made
999 freeing of segment work with the new GC scheme. (Thanks to
1000 Michael Livshin.) Oops, also happened to make GUILE_NEW_GC_SCHEME
1001 the default, but I'll let this change stay in CVS Guile since this
1002 code is not expected to contain serious bugs.
1003
1004 2000-03-16 Mikael Djurfeldt <mdj@thalamus.nada.kth.se>
1005
1006 * gc.c, gc.h (scm_map_free_list): Define also if GUILE_DEBUG is
1007 defined.
1008 (scm_free_list_length): New procedure (GUILE_DEBUG).
1009 Fixed a small but serious bug introduced by the previous change.
1010
1011 * gc.c (scm_gc_sweep): Moved variable n_objects to inner sweep
1012 loop and declare as register.
1013
1014 * gc.c (scm_gc_sweep): Sigh... forgot to clear private freelists
1015 after GC.
1016
1017 Wed Mar 15 08:27:04 2000 Greg J. Badros <gjb@cs.washington.edu>
1018
1019 * fluids.c: Docstring patch from Keisuke Nishida. Some
1020 reindentation, too, and a couple formals renamed. Should
1021 fluid-set! return UNSPECIFIED instead of a value?
1022
1023 Wed Mar 15 08:24:58 2000 Greg J. Badros <gjb@cs.washington.edu>
1024
1025 * Makefile.am: Separate out DOT_X_FILES and DOT_DOC_FILES, and
1026 generate the latter from the concrete listing of the former. Then
1027 make guile-procedures.txt depend on DOT_DOC_FILES instead of
1028 *.doc, so that rebuilding it works.
1029
1030 Wed Mar 15 08:12:14 2000 Greg J. Badros <gjb@cs.washington.edu>
1031
1032 * libguile.h: Include libguile/validate.h. Thanks Keisuke Nishida!
1033
1034 * guile-snarf.awk.in: Replace docstring line-ending \n" and \n\n"
1035 with nothing and \n, respectively. Thanks Keisuke Nishida for
1036 noticing this problem.
1037
1038 2000-03-15 Mikael Djurfeldt <mdj@mdj.nada.kth.se>
1039
1040 * __scm.h (GUILE_NEW_GC_SCHEME): Define this if you want to test a
1041 new way of allocating heap. It makes Guile fast, but still
1042 contains bugs.
1043
1044 * gc.c, gc.h, pairs.h, init.c: Implementation of a new way of
1045 allocating heap. The basic idea is to trigger GC every Nth
1046 allocated cell and grow heap when free list runs out. The scheme
1047 has been extended so that GC isn't triggered until all remaining
1048 cells are used. The implementation is also prepared for
1049 development in the direction of POSIX threads.
1050
1051 * gc.c (SCM_EXPHEAP): In order to grow by a factor of 1.5,
1052 SCM_EXPHEAP should return half of the heap size.
1053
1054 2000-03-14 Mikael Djurfeldt <mdj@thalamus.nada.kth.se>
1055
1056 The following change to init.c is only enabled if Guile was
1057 configured with --enable-guile-debug.
1058
1059 * init.c (scm_i_getenv_int): New function.
1060 (scm_boot_guile_1): Use the environment variables
1061 GUILE_INIT_HEAP_SIZE, GUILE_INIT_HEAP_SIZE2 to select heap size if
1062 they exist. (This may be replaced by a Scheme level mechanism in
1063 the future.)
1064
1065 * objprop.c (s_scm_set_object_property_x): Use scm_assq instead of
1066 scm_assoc. (Thanks to Keisuke Nishida.)
1067
1068 2000-03-14 Mikael Djurfeldt <mdj@mdj.nada.kth.se>
1069
1070 * eval.c, lang.c, lang.h (scm_lisp_nil, scm_lisp_t): Renamed from
1071 scm_nil, scm_t. (Thanks to Keisuke Nishida.)
1072
1073 2000-03-14 Mikael Djurfeldt <mdj@thalamus.nada.kth.se>
1074
1075 * init.c (scm_boot_guile_1): Use same initial segment size for
1076 1-word and 2-word segments. Having the smaller size causes Guile
1077 to GC too often. Obviously something needs to be done to allow
1078 for a smaller 2-word segment without this to happen. (The amount
1079 of heap for each type should be automatically adapted to the
1080 application somehow.)
1081
1082 [Almost all of these changes should be documented in the NEWS
1083 file.]
1084
1085 * gc.h (scm_freelist_t): New type.
1086
1087 * pairs.h (SCM_NEWCELL, SCM_NEWCELL2): Use new style freelists.
1088
1089 * gc.c (SCM_INIT_HEAP_SIZE): Changed from 32768 --> 40000 so that
1090 all of Guile basics fits into one segment and there suitable room
1091 for work.
1092 (SCM_EXPHEAP): Now takes an argument. Grow by a factor of 1.5
1093 instead of 2.
1094 (scm_freelist, scm_freelist2): Now of type scm_freelist_t.
1095 Freelists now contains information about object span, cells
1096 collected and amount of cells in heap segments belonging to the
1097 list.
1098 (scm_heap_size, scm_gc_cells_collected): Removed.
1099
1100 * init.c (scm_boot_guile_1): Make 2-word segment 8K (512 cells).
1101
1102 * Makefile.am (libguile_la_LDFLAGS): Bumped library version
1103 number.
1104
1105 * __scm.h eq.c, eval.c, gc.c, gc.h, gh_data, hash.c, numbers.c,
1106 numbers.h, objects.c, ramap.c, random.c, unif.c, unif.h: Extensive
1107 rewrite of handling of real and complex numbers.
1108 (SCM_FLOATS, SCM_SINGLES): These #ifdef conditionals have been
1109 removed along with the support for floats. (Float vectors are
1110 still supported.)
1111
1112 * tags.h (scm_tcs_bignums): Removed.
1113 (scm_tc16_bigpos, scm_tc16_bigneg): Replaced by scm_tc16_big.
1114 Use SCM_BIGSIGN(x) to test for sign!
1115 (scm_tc16_big): The new bignum type.
1116 (SCM_REAL_PART, SCM_IMAG_PART): Removed.
1117
1118 * numbers.h (SCM_BIGSIGN): Sign moved to bit 16.
1119 (scm_makdbl): Deprecated.
1120 (SCM_NEWREAL, SCM_NEWCOMPLEX): New macros.
1121 (SCM_SINGP): Deprecated.
1122 (SCM_FLO): Removed.
1123 (SCM_INEXP, SCM_CPLXP): Deprecated.
1124 (SCM_INEXACTP, SCM_COMPLEXP): New macros.
1125 (SCM_COMPLEX_REAL, SCM_COMPLEX_IMAG): Renamed from
1126 SCM_REAL, SCM_IMAG (and now only valid for complex numbers).
1127 (SCM_REAL, SCM_IMAG): New, *deprecated*, selectors which work both
1128 for doubles and complex numbers.
1129 (SCM_REAL_VALUE): New selector for doubles.
1130 (scm_double_t, scm_complex_t): New types.
1131 (scm_dbl): Removed.
1132
1133 * numbers.c (scm_floprint, scm_floequal): Removed.
1134 (scm_print_real, scm_print_complex, scm_real_equalp,
1135 scm_complex_equalp): New functions.
1136
1137 * unif.c (scm_makflo): Removed.
1138
1139 * smob.h (SCM_SMOB_PREDICATE): New macro.
1140 (SCM_NEWSMOB2, SCM_RETURN_NEWSMOB2, SCM_NEWSMOB3,
1141 SCM_RETURN_NEWSMOB3): New macros.
1142
1143 1999-11-21 Michael Livshin <mlivshin@bigfoot.com>
1144
1145 The following changes implement primitive support for double cells
1146 (i.e. four-word cells) and change the representation of some
1147 things to multi-cells instead of cons+malloc. (Applied and
1148 modified by mdj.)
1149
1150 * pairs.h (SCM_NEWCELL2): double-cell variants of SCM_NEWCELL.
1151 (SCM_CELL_WORD, SCM_CELL_WORDLOC, SCM_SET_CELL_WORD): primitive
1152 multi-cell access macros (used by the ones below).
1153 (SCM_CELL_WORD[0-3], SCM_SET_CELL_WORD[0-3]): multi-cell access
1154 macros.
1155
1156 * gc.c (scm_freelist2): multi-cell freelists.
1157 (inner_map_free_list): map_free_list, parameterized on ncells.
1158 "nn cells in segment mm" was misleading for ncells > 1; changed to
1159 "objects". still print cells too, though.
1160 (scm_map_free_list): rewritten using inner_map_free_list.
1161 (scm_check_freelist): get freelist as parameter, since now we have
1162 more than one.
1163 (scm_debug_newcell2): multi-cell variants of
1164 scm_debug_newcell.
1165 (scm_gc_for_newcell): take ncells and freelist pointer as
1166 parameters.
1167 (scm_gc_mark): add case for tc7_pws (procedures with setters are
1168 now double cells).
1169 (scm_gc_sweep): don't free the float data, since it's not malloced
1170 anymore.
1171 (init_heap_seg): didn't understand what n_new_objects stood for,
1172 so changed to n_new_cells.
1173 (make_initial_segment): new function, makes an initial segment
1174 according to given ncells.
1175 (scm_init_storage): call make_initial_segment, for ncells={1,2,3}.
1176
1177 * numbers.c (scm_makdbl): no malloc'ing needed, so the
1178 {DEFER,ALLOW}_INTS thing removed.
1179
1180 * numbers.h (struct scm_dbl): changed to represent a double cell,
1181 with the number in the second half.
1182
1183 * dynwind.c: changed the wind-guards representation to double
1184 cell.
1185
1186 * procs.c, procs.h: changed the procedure-with-setter representation
1187 to double cell.
1188
1189 * async.c, async.h: made async representation a double cell.
1190
1191 * dynl.c: made dynamic_obj representation a double cell.
1192
1193 2000-03-13 Gary Houston <ghouston@arglist.com>
1194
1195 * ports.c (flush_void_port): renamed to flush_port_default.
1196 (end_input_void_port): renamed to end_input_default.
1197
1198 * init.c (scm_standard_stream_to_port): create a void port instead
1199 of opening /dev/null if the standard file descriptors are bad.
1200 advantages: no portability problems, doesn't waste a file descriptor,
1201 simplifies the code (thanks to Marius for the idea).
1202
1203 * vports.c (s_scm_make_soft_port): call scm_port_non_buffer.
1204
1205 * void ports: make reading from a void port give EOF instead of
1206 segv:
1207 * ports.c (s_scm_sys_make_void_port): modified docstring.
1208 (fill_input_void_port): new proc.
1209 (scm_init_ports): set up fill_input_void_port.
1210 * ports.c (scm_port_non_buffer): new proc.
1211 (scm_void_port): call scm_port_non_buffer.
1212
1213 * fports.c (scm_setvbuf): docstring: remove the fcntl documentation
1214 which was incorrectly appended.
1215
1216 2000-03-13 Mikael Djurfeldt <mdj@mdj.nada.kth.se>
1217
1218 * guile-doc-snarf.in: Don't use absolute path for `sed'. (Note
1219 that we can't use autoconf for this. Autoconf itself relies on
1220 the existence of `sed' somewhere on your path.) (Thanks to Dirk
1221 Herrman.)
1222
1223 2000-03-13 Mikael Djurfeldt <mdj@thalamus.nada.kth.se>
1224
1225 * Makefile.am (libguile_la_SOURCES): Moved iselect.c here from
1226 EXTRA_libguile_la_SOURCES.
1227
1228 * iselect.h: Always declare scm_internal_select.
1229
1230 * iselect.c (scm_internal_select): Added SCM_ASYNC_TICK at the
1231 end. Also let scm_internal_select be a real function also when
1232 not using threads.
1233
1234 * __scm.h (SCM_TICK): Oops! Forgot to put SCM_ASYNC_TICK here...
1235
1236 2000-03-13 Mikael Djurfeldt <mdj@mdj.nada.kth.se>
1237
1238 * __scm.h (SCM_ALLOW_INTS, SCM_REALLOW_INTS): Removed call to
1239 SCM_ASYNC_TICK. (This is a preparation for POSIX threads support,
1240 and kind of an experiment: Will this cause problems?)
1241
1242 Sun Mar 12 13:26:30 2000 Greg J. Badros <gjb@cs.washington.edu>
1243
1244 * Makefile.am: Added *.doc to DISTCLEANFILES.
1245
1246 2000-03-12 Gary Houston <ghouston@arglist.com>
1247
1248 * fports.c (scm_fdes_to_port): call fcntl F_GETFL to test that
1249 the fdes is valid before doing anything else. check that
1250 the file descriptor supports the modes required.
1251 (scm_fport_buffer_add): don't throw an error if fstat doesn't
1252 work: just use the default buffer size.
1253
1254 * throw.c: change an outdated comment about scm_internal_catch
1255 BODY: it doesn't take a jumpbuf arg.
1256
1257 * init.c (scm_standard_stream_to_port): install a handler in case
1258 scm_fdes_to_port throws an error. don't check here whether the
1259 file descriptor is valid, since scm_fdes_to_port will do that.
1260 set the revealed count depending on whether the port got the
1261 standard file descriptor.
1262 (stream_body_data): new type.
1263 (stream_body, stream_handler): new procs.
1264
1265 2000-03-12 Mikael Djurfeldt <mdj@thalamus.nada.kth.se>
1266
1267 * stacks.c, stacks.h, struct.c, tags.h, unif.c (scm_bits_t):
1268 Renamed from SCMWORD.
1269
1270 * tags.h (SCM_NCELLP): Removed (SCMWORD).
1271
1272 * arbiters.c (SCM_ARB_LOCKED): Use SCM_UNPACK_CAR.
1273
1274 * async.c, boolean.h, debug.c, dynl.c, dynwind.c, eval.c, eval.h,
1275 feature.h, filesys.h, fluids.h, fports.c, fports.h, gc.c, gc.h,
1276 hash.c, keywords.h, macros.c, numbers.c, numbers.h, objects.c,
1277 objects.h, options.c, pairs.h, ports.c, ports.h, print.c,
1278 procs.h, ramap.c, read.c, smob.c, smob.h, srcprop.h, stacks.c,
1279 stacks.h, strports.c, struct.c, struct.h, tag.c, tags.h,
1280 throw.c, unif.c, unif.h, variable.h, vectors.h, weaks.c,
1281 weaks.h (SCM_PACK, SCM_UNPACK, SCM_UNPACK_CAR): Renamed from
1282 SCM_ASSCM, SCM_ASWORD, SCM_CARW).
1283
1284 * numbers.h (SCM_SRS, SCM_INUM): Corrected SCM_ASSCM/ASWORD fixes.
1285
1286 * alist.c, eval.c, net_db.c, posix.c, print.c, snarf.h, struct.c,
1287 tags.h: Fixed copyright notices.
1288
1289 * struct.c, coop-threads.c: SCM_ASSCM/ASWORD fixes.
1290
1291 2000-03-12 Marius Vollmer <mvo@zagadka.ping.de>
1292
1293 * init.c (scm_standard_stream_to_port): Check whether the file
1294 descriptor is valid and substitute "/dev/null" when not.
1295
1296 2000-03-12 Mikael Djurfeldt <mdj@thalamus.nada.kth.se>
1297
1298 * coop-defs.h (struct timespec): Conditionally defined.
1299
1300 * coop.c (coop_condition_variable_timed_wait_mutex): Use ETIMEDOUT
1301 instead of ETIME.
1302
1303 * readline.c (match_paren): Bugfix: First arg to select is not
1304 number of descriptors but the number of the highest descriptor +
1305 1.
1306
1307 This is a preliminary attempt at a cleanup of the threads support
1308 code. It moves things to better places, makes arguments more
1309 consistent with the POSIX API (which is used in GNOME's glib), and
1310 adds new functionality.
1311
1312 * readline.c (scm_init_readline): Added new arg to scm_init_mutex.
1313
1314 * coop-defs.h (scm_mutex_trylock): New macro: alias for
1315 coop_mutex_trylock.
1316 (scm_cond_init): Changed definition to
1317 coop_new_condition_variable_init.
1318
1319 * coop.c: #include <errno.h>
1320 (coop_timeout_qinsert): Moved here from iselect.c
1321 (coop_new_mutex_init, coop_new_condition_variable_init): New
1322 functions. The strange names are temporary. Use scm_mutex_init
1323 and scm_cond_init instead.
1324 (coop_mutex_trylock): New function. Uses errno.h:EBUSY. errno.h
1325 is ANSI C, but should we check for individual error codes in
1326 configure.in?
1327 (coop_condition_variable_timed_wait_mutex): New function.
1328 (coop_key_create, coop_setspecific, coop_getspecific,
1329 coop_key_delete): New functions.
1330
1331 * iselect.c (coop_timout_qinsert): Moved to coop.c
1332
1333 2000-03-11 Mikael Djurfeldt <mdj@thalamus.nada.kth.se>
1334
1335 * pairs.h (SCM_SETAND_CAR, SCM_SETAND_CDR, SCM_SETOR_CAR,
1336 SCM_SETOR_CDR): Corrected SCM_ASSCM/WORD fixes.
1337
1338 * tags.h (SCM_VOIDP_TEST): Renamed from VOIDP_TEST.
1339 Layout cleanups.
1340
1341 * objects.h (SCM_CLASS_FLAGS, SCM_OBJ_CLASS_FLAGS,
1342 SCM_SET_CLASS_INSTANCE_SIZE), struct.h (SCM_STRUCT_VTABLE_DATA),
1343 proc.h (SCM_CLOSCAR): SCM_ASSCM/WORD fixes.
1344
1345 * eval.c (scm_lookupcar1): Inserted SCM_ASWORD in expressions
1346 dealing with ilocs.
1347
1348 2000-03-11 Dale P. Smith <dpsm@en.com>, applied by Greg J. Badros, <gjb@cs.washington.edu>
1349
1350 * numbers.c (scm_copy_big_dec, scm_copy_smaller, scm_big_ior,
1351 scm_big_xor, scm_big_and, scm_big_test): Added new lowlevel bignum
1352 logical functions from SCM.
1353
1354 (logand, logior, logxor, logtest, logbit?): Extended scheme
1355 logical functions to use bignums from SCM.
1356
1357 (lognot): Removed call to `SCM_VALIDATE_INUM' that prevented
1358 lognot from using bignums.
1359
1360 Thu Mar 9 11:33:25 2000 Greg J. Badros <gjb@cs.washington.edu>
1361
1362 * vectors.h (SCM_VELTS_AS_STACKITEMS): Added this macro to help in
1363 eliminating some warnings.
1364
1365 * unif.c, strports.c, print.c, options.c: Fix some warnings on
1366 mis-use of SCM/long
1367
1368 * gc.c, gc.h: Added scm_return_first_int(), and added comment re:
1369 what the scm_return_first* functions do.
1370
1371 2000-03-09 Han-Wen Nienhuys <hanwen@cs.uu.nl>, applied by Greg J. Badros, <gjb@cs.washington.edu>
1372
1373 * libguile/*.[ch]: make a distinction between SCM as a generic
1374 name for a Scheme object (now a void*), and SCM as 32 bit word for
1375 storing tags and immediates (now a long int). Introduced
1376 SCM_ASWORD and SCM_ASSCM for conversion. Fixed various dubious
1377 code in the process: arbiter.c (use macros), unif.c (scm_array_p),
1378
1379 Wed Mar 8 10:15:59 2000 Greg J. Badros <gjb@cs.washington.edu>
1380
1381 * numbers.c: Use SCM_VALIDATE_LONG_COPY, and longs, not ints, in
1382 various logXXX primitives. Thanks Eric Moore!
1383
1384 Tue Mar 7 08:05:22 2000 Greg J. Badros <gjb@cs.washington.edu>
1385
1386 * run-test, remaining-docs-needed: Added these scripts. The
1387 second one is only temporary until the docstring additions are
1388 complete. run-test may best live on, but is here mostly for
1389 convenience and awareness for now.
1390
1391 * hash.c: Docs, minor cleanup patch from Dirk Herrman.
1392
1393 Thu Mar 2 16:06:58 2000 Greg J. Badros <gjb@cs.washington.edu>
1394
1395 * error.h, error.c: Added `scm_wrong_type_arg_msg' to support
1396 displaying the expected type. Use SCM_LISTn in a couple places
1397 instead of scm_cons-ing by hand.
1398
1399 * __scm.h: Added SCM_ASSERT_TYPE macro.
1400
1401 * validate.h, scm_validate.h: Added the former, as a renamed
1402 version of the latter with SCM_ASSERT_TYPE used in
1403 SCM_MAKE_VALIDATE (instead of just SCM_ASSERT)
1404
1405 * Makefile.am: Rename scm_validate.h to validate.h.
1406
1407 * *.c, *.h: Include validate.h, not scm_validate.h (old name's
1408 prefix was superfluous).
1409
1410 Thu Mar 2 15:33:12 2000 Greg J. Badros <gjb@cs.washington.edu>
1411
1412 * hashtab.c: Improved documentation for lots of functions. Added
1413 handwritten docs for `hash-fold'.
1414
1415 Thu Mar 2 15:13:25 2000 Greg J. Badros <gjb@cs.washington.edu>
1416
1417 * list.c: Added hand-written docs for `del{q,v,ete}1!'.
1418
1419 Thu Mar 2 12:38:30 2000 Greg J. Badros <gjb@cs.washington.edu>
1420
1421 * list.c: Moved append docs to append! Thanks Dirk Hermann. Also,
1422 added append docs from R4RS.
1423
1424 * strings.c: Docstring typo fix, + eliminate unneeded IMP tests.
1425 Thanks Dirk Hermann!
1426
1427 * chars.h: Provide SCM_CHARP, SCM_CHAR, SCM_MAKE_CHAR and
1428 deprecate SCM_ICHRP, SCM_ICHR, SCM_MAKICHR. Thanks Dirk Hermann!
1429
1430 * *.h, *.c: Use SCM_CHARP, SCM_CHAR, SCM_MAKE_CHAR throughout.
1431 Drop use of SCM_P for function prototypes... assume an ANSI C
1432 compiler. Thanks Dirk Hermann!
1433
1434 Sat Feb 19 12:20:12 2000 Greg J. Badros <gjb@cs.washington.edu>
1435
1436 * ports.c: Made `set-port-column!' and `set-port-line!' each
1437 return SCM_UNSPECIFIED instead of a (not-scheme-object) integer
1438 that caused a seg fault. Also fixed `set-port-column!'s
1439 docstring. Thanks Han-Wen Nienhuys for finding the bug!
1440
1441 Sun Feb 13 19:11:42 2000 Greg J. Badros <gjb@cs.washington.edu>
1442
1443 * arbiters.c, eq.c, gc.c, guardians.c, list.c, ports.c, print.c,
1444 regex-posix.c, scmsigs.c, stime.c, strings.c, variable.c, stime.c,
1445 strings.c, variable.c: Added lots of documentation, cleaned up
1446 some existing documentation. Occasionally changed formal params
1447 to match docs. Also folded an #ifdef into the inners of a
1448 primitive instead of having two copies of the primitive
1449 (`get-internal-real-time', from stime.c)
1450
1451 Sun Feb 13 18:12:19 2000 Greg J. Badros <gjb@cs.washington.edu>
1452
1453 * ports.c: Added docs for primitives missing them. Written by
1454 hand.
1455
1456 Sun Feb 13 09:40:36 2000 Greg J. Badros <gjb@cs.washington.edu>
1457
1458 * guile-doc-snarf.in: Use ${AWK} -f guile-func-name-check, not
1459 just execing guile-func-name-check. Thanks Michael Livshin!
1460
1461 Thu Feb 10 11:43:23 2000 Greg J. Badros <gjb@cs.washington.edu>
1462
1463 * guile-snarf.awk.in: Tweak to work with Sun/HP awk, removed some
1464 dead code. Patch from Michael Livshin.
1465
1466 * guile-doc-snarf.in: Tweak to work with Sun/HP sh. Patch from
1467 Michael Livshin.
1468
1469 2000-02-09 Gary Houston <ghouston@arglist.com>
1470
1471 * init.c (scm_init_standard_ports): when stdout is a tty, make the
1472 current-output-port unbuffered by default. this is less confusing
1473 for interactive use. it was line-buffered because of a
1474 performance problem with unbuffered ports, but I think it will be
1475 OK now.
1476
1477 2000-02-08 Gary Houston <ghouston@arglist.com>
1478
1479 * __scm.h: don't define long_long or ulong_long if HAVE_LONG_LONGS
1480 is not defined.
1481
1482 * stime.c (scm_localtime, scm_mktime): if neither HAVE_TM_ZONE nor
1483 HAVE_TZNAME are defined, use an empty string instead of giving two
1484 spurious compile-time errors.
1485
1486 Tue Feb 8 13:57:46 2000 Greg J. Badros <gjb@cs.washington.edu>
1487
1488 * ports.c: Doc patches from Richard Kim. Pasted from MIT Scheme.
1489 Thanks Richard!
1490
1491 Mon Feb 7 09:07:31 2000 Greg J. Badros <gjb@cs.washington.edu>
1492
1493 * macros.c: Doc patches from Richard Kim. Pasted from scm.texi.
1494
1495 Sun Feb 6 20:26:21 2000 Greg J. Badros <gjb@cs.washington.edu>
1496
1497 * pairs.c: Doc patches from Richard Kim. Pasted from MIT Scheme
1498 (which is GNU GPL'd).
1499
1500 2000-01-31 Gary Houston <ghouston@arglist.com>
1501
1502 * strings.h: don't use SCM_P. don't include <string.h>.
1503 * error.c, gh_data.c, ports.c, script.c, strop.c: include <string.h>.
1504
1505 * strings.c (scm_string_ref): make the 2nd argument compulsory.
1506 previously it defaulted to zero for no good reason that I can see.
1507 use a local variable for SCM_INUM (k). replace
1508 SCM_VALIDATE_INUM_DEF with SCM_VALIDATE_INUM_COPY.
1509
1510 (scm_makfromstr): cosmetic changes.
1511
1512 (scm_string): Accept only chars in the list, not strings, for
1513 conformance to R5RS (particularly for list->string, which is
1514 supposed to be the inverse of string->list.) remove
1515 SCM_DEFER_INTS/SCM_ALLOW_INTS, which is unnecessary since
1516 scm_makstr handles the cell allocation. when reporting wrong-type
1517 arg, don't report the position as 1.
1518
1519 * posix.c (scm_init_posix): intern PIPE_BUF if it's defined.
1520
1521 2000-01-29 Gary Houston <ghouston@arglist.com>
1522
1523 * posix.c (scm_pipe): rewrote the docstring.
1524
1525 * filesys.c (scm_select, retrieve_select_type, get_element,
1526 fill_select_type, set_element): modified so that Scheme
1527 "select" tests port buffers for the ability to provide input
1528 or accept output. Previously only the underlying file descriptors
1529 were checked. Rewrote the docstring.
1530
1531 Thu Jan 27 10:14:25 2000 Greg J. Badros <gjb@cs.washington.edu>
1532
1533 * vectors.c, symbols.c, strorder.c: Documentation cut and pasted
1534 from Gregg Reynolds. Thanks Gregg!
1535
1536 Thu Jan 27 09:59:38 2000 Greg J. Badros <gjb@cs.washington.edu>
1537
1538 * strop.c (scm_i_index): Obfuscated commented-out SCM_DEFINE by
1539 adding "x" prefix to the line so that guile-func-name-check
1540 doesn't complain unnecessarily.
1541
1542 Wed Jan 26 17:33:52 2000 Greg J. Badros <gjb@cs.washington.edu>
1543
1544 * throw.c: Factor out an #ifdef/#else/#endif choice more finely
1545 for maintainability.
1546
1547 * strop.c: Documentation added by Gregg A. Reynolds. Pasted in
1548 from qdocs, RnRs.
1549
1550 Wed Jan 26 10:02:11 2000 Greg J. Badros <gjb@cs.washington.edu>
1551
1552 * tag.c: Added doc for `tag', but mark as deprecated since Mikael
1553 suggests removing tag.c altogether (and using a new `class-of'
1554 instead).
1555
1556 * strings.c: Added documentation from Gregg A. Reynolds. Edited
1557 a bit by me to use FOO instead of @var{foo} and to have the
1558 summary come before preconditions on input. Also dropped trailing
1559 (rnrs) note.
1560
1561 * gsubr.c: Do not use SCM_DEFINE for `gsubr-apply'. Register the
1562 function with scm_make_subr_opt w/ last arg of 0 so it is not
1563 visible at the Scheme level. Mikael says that this is the right
1564 thing because the first arg to the proc is the guts of a compiled
1565 closure and shouldn't be exposed to the Scheme level.
1566
1567 Tue Jan 25 17:15:47 2000 Greg J. Badros <gjb@cs.washington.edu>
1568
1569 * sort.c: typo in comment fixed.
1570
1571 * keywords.c: Added documentation.
1572
1573 * guardians.c: Added documentation (could be better).
1574
1575 * gc.c: Added docs for gc-set-debug-check-freelist.
1576
1577 * eq.c: Added docs for eq?, eqv? equal? abridged from R4RS.
1578
1579 * boolean.c: Added docs for `not', `boolean?' (by hand).
1580
1581 Tue Jan 25 13:28:56 2000 Greg J. Badros <gjb@cs.washington.edu>
1582
1583 * random.c: Added documentation, from SLIB page:
1584 http://angela.ctrl-c.liu.se/~calle/scheme/slib_toc.html
1585
1586 Mon Jan 24 17:50:20 2000 Greg J. Badros <gjb@cs.washington.edu>
1587
1588 * variable.c, version.c: Added documentation, written by hand
1589 since I could not find anything already written that was
1590 relevant.
1591
1592 2000-01-23 Gary Houston <ghouston@arglist.com>
1593
1594 * filesys.c (scm_chown): omit port/fdes support if HAVE_FCHOWN is
1595 not defined (thanks to Richard Y. Kim).
1596
1597 Thu Jan 20 13:00:38 2000 Greg J. Badros <gjb@cs.washington.edu>
1598
1599 * Makefile.in: Removed, this is auto-generated.
1600
1601 Thu Jan 20 11:33:47 2000 Dirk Hermann <dirk@ida.ing.tu-bs.de> --applied 01/20/00 gjb
1602
1603 * list.c: Put some variable initialization code at the point of
1604 declaration; Added a comment for list*; Formatting changes.
1605
1606 * load.c: use SCM_NNULLP to make sure the end of a list is not
1607 reached yet.
1608
1609 2000-01-18 Mikael Djurfeldt <mdj@mdj.nada.kth.se>
1610
1611 * backtrace.c (scm_display_error_message): Bugfix: Don't use
1612 result of scm_list_p as C boolean.
1613 (scm_display_error_message, scm_set_print_params_x): Use new
1614 validation macros. (Thanks to Dirk Herrmann.)
1615
1616 * net_db.c (scm_resolv_error): Cast result from hstrerror.
1617
1618 * strports.c (st_end_input): Inserted parenthesis to get operator
1619 grouping correct.
1620
1621 * list.h (scm_init_list): Removed SCM_P around prototypes.
1622
1623 * fports.c, list.c, numbers.c, ports.c, stime.c, symbols.c,
1624 filesys.c, posix.c: Converted docstrings to ANSI C format and
1625 escaped " occurring inside string literals.
1626
1627 Tue Jan 18 13:21:08 2000 Mikael Djurfeldt <mdj@r11n07-s.pdc.kth.se>
1628
1629 * posix.c (scm_mknod): Escape " occuring inside docstring.
1630
1631 2000-01-18 Mikael Djurfeldt <mdj@mdj.nada.kth.se>
1632
1633 * alist.c, chars.c, debug.c, dynl.c, dynwind.c, error.c, eval.c,
1634 evalext.c, filesys.c, gc.c, hash.c, hashtab.c, ioext.c,
1635 keywords.c, list.c, load.c, macros.c, net_db.c, numbers.c,
1636 objprop.c, ports.c, posix.c, print.c, procprop.c, procs.c,
1637 ramap.c, regex-posix.c, root.c, scmsigs.c, simpos.c, socket.c,
1638 stacks.c, stime.c, strings.c, strop.c, strports.c, struct.c,
1639 symbols.c, throw.c, unif.c, vectors.c, version.c, vports.c,
1640 weaks.c: Converted docstrings to ANSI C format.
1641
1642 * filesys.c (scm_chmod), simpos.c (scm_system), version
1643 (scm_version), vports (scm_make_soft_port): Escape " occuring
1644 inside docstring.
1645
1646 Mon Jan 17 11:41:22 2000 Greg J. Badros <gjb@cs.washington.edu>
1647
1648 * scm_validate.h: Added SCM_VALIDATE_ULONG_COPY,
1649 SCM_VALIDATE_LONG_COPY
1650
1651 * numbers.c: Use SCM_VALIDATE_ULONG_COPY, instead of
1652 SCM_VALIDATE_INUM_COPY to let bigger numbers be used. Rename a
1653 couple of formal arguments (and fix their uses) to make arguments
1654 match the documentation.
1655
1656 2000-01-14 <mstachow@alum.mit.edu>
1657
1658 * Makefile.am: Augment path when running guile-doc-snarf so
1659 guile-func-name-check is found.
1660
1661 Fri Jan 14 09:34:55 2000 Greg J. Badros <gjb@cs.washington.edu>
1662
1663 * scm_validate.h (SCM_NUM2LONG_DEF): Fix this macro to just use
1664 def, not SCM_MAKINUM(def); thanks Janis Bzerins!
1665
1666 Wed Jan 12 00:06:53 2000 Greg J. Badros <gjb@cs.washington.edu>
1667
1668 * net_db.c (s_scm_inet_makeaddr): Use SCM_NUM2ULONG since that's
1669 the way guile-1.3.4 worked, but #if 0 out the version using
1670 SCM_VALIDATE_INUM_COPY for stricter testing.
1671
1672 Tue Jan 11 18:24:18 2000 Greg J. Badros <gjb@cs.washington.edu>
1673
1674 * guile-doc-snarf.in: Use new $fullfilename for running
1675 guile-func-name-check, and put "$fullfilename" and "$filename" in
1676 quotes at uses to make sure re-splitting on whitespace does not
1677 occur (so filenames w/ embedded whitespace would work okay, though
1678 I sure hope we never have to deal with that! :-) ). Thanks to
1679 Mikael for pointing out the source_dir != build_dir was broken.
1680
1681 Tue Jan 11 17:42:40 2000 Greg J. Badros <gjb@cs.washington.edu>
1682
1683 * scm_validate.h: Added SCM_NUM2LONG_DEF macro. Make
1684 SCM_OUT_OF_RANGE use SCM_MAKINUM, not scm_long2num. Added
1685 SCM_COERCE_ROSTRING macro. Added SCM_VALIDATE_NONEMPTYLIST
1686 macro. Fix SCM_VALIDATE_STRINGORSUBSTR macro to not use SLOPPY
1687 variants.
1688
1689 * ports.c (scm_port_closed_p): Validate that the arg is a PORT,
1690 then return whether it's an open port (was validating that it was
1691 an open port -- this was a bug I introduced back in December, but
1692 my careful reading of diffs caught it).
1693
1694 * numbers.c: Recombine the two conditional-compilation paths for
1695 all the log* primitives -- they were split based on #ifndef
1696 scm_long2num; factored out a SCM_LOGOP_RETURN macro, and fixed
1697 some bugs and inconsistencies in the two sets of implementations.
1698 (scm_lognot) Fixed *atrocious* re-use of a SCM as an integer!
1699
1700 * ioext.c: Use SCM_ASSERT_RANGE in a couple places, and
1701 SCM_VALIDATE_INUM_COPY once where it should've been used.
1702
1703 * fluids.c (scm_internal_with_fluids): Use
1704 SCM_VALIDATE_LIST_COPYLEN.
1705
1706 * filesys.c: Use SCM_NUM2LONG instead of SCM_VALIDATE_INUM_COPY;
1707 this is questionable as it relaxes type safety, but other changes
1708 were useful and all SCM_NUM2LONG's should probably be
1709 revisited. Use SCM_OUT_OF_RANGE, SCM_WRONG_TYPE_ARG.
1710
1711 * evalext.c: line-break change on 1 line.
1712
1713 * eval.c (nconc2last): Takes a non-empty list as its first
1714 argument, not just a list.
1715
1716 * dynl.c: Use new SCM_COERCE_ROSTRING macro.
1717
1718 Tue Jan 11 15:44:23 2000 Greg J. Badros <gjb@cs.washington.edu>
1719
1720 * dynl.c, feature.c, filesys.c, fports.c, list.c, load.c,
1721 net_db.c, sort.c, stacks.c, unif.c: Use SCM_WTA, SCM_MISC_ERROR
1722 where possible.
1723
1724 * symbols.c (scm_sysintern0): Fixed the function name in a
1725 scm_misc_error invocation.
1726
1727 * print.c (scm_simple_format): Do not need SCM_COERCE_SUBSTR, and
1728 use scm_return_first to ward off latent GC bug that Mikael caught.
1729
1730 * async.c: Use SCM_VALIDATE_ASYNC_COPY one place where it wasn't
1731 used before but should've been.
1732
1733 2000-01-12 Mikael Djurfeldt <mdj@thalamus.nada.kth.se>
1734
1735 * snarf.h (SCM_PROC1): Replaced SCM (*) (...) with
1736 SCM_FUNC_CAST_ARBITRARY_ARGS.
1737
1738 Tue Jan 11 13:44:07 2000 Greg J. Badros <gjb@cs.washington.edu>
1739
1740 * guile-func-name-check.in: Added this script to statically check
1741 #define FUNC_NAME, #undef FUNC_NAME in the source.
1742
1743 * sort.c, posix.c: Fix #undef FUNC_NAME lines to not have trailing
1744 redundant comment, semicolon; caught by new guile-func-name-check
1745 script.
1746
1747 * debug.c: Fix mistaken #define FUNC_NAME for scm_make_iloc.
1748 Caught by new guile-func-name-check-script.
1749
1750 * Makefile.am: Added guile-func-name-check to bin_SCRIPTS
1751
1752 * ramap.c: Fix #if 0'd out code to be syntactically acceptable to
1753 guile-func-name-check.
1754
1755 * guile-doc-snarf.in: Run guile-func-name-check on the file before
1756 doing the snarf.
1757
1758 Tue Jan 11 11:31:10 2000 Greg J. Badros <gjb@cs.washington.edu>
1759
1760 * fports.c, ports.c, ports.h, strports.c, vports.c: Make write
1761 port function take const void*, not void*.
1762
1763 Tue Jan 11 11:18:07 2000 Greg J. Badros <gjb@cs.washington.edu>
1764
1765 * scm_validate.h, chars.c, ports.c, print.c, read.c, strings.c,
1766 strop.c: Use SCM_VALIDATE_ICHR, SCM_VALIDATE_ICHR_COPY instead of
1767 SCM_VALIDATE_CHAR, SCM_VALIDATE_CHAR_COPY. Change made for
1768 consistency with the other macros dealing with immediate
1769 characters. (Similar to INT -> INUM change a week or so ago).
1770
1771 Tue Jan 11 10:41:46 2000 Greg J. Badros <gjb@cs.washington.edu>
1772
1773 * dynl.c, error.c, eval.c, feature.c, filesys.c, fports.c, list.c, load.c,
1774 net_db.c, read.c, socket.c: Update error messages to use ~A for
1775 %s, ~S for %S to work with new `simple-format' format and be
1776 standardized better.
1777
1778 * print.h, print.c (scm_simple_format): Added `simple-format'
1779 primitive. It's the old scm_display_error, with ARGS now a rest
1780 parameter, and the destination first instead of last (and a couple
1781 new capabilities inspired by `format' -- #t as destination means
1782 current-output-port, #f means return the formatted text as a
1783 string.
1784
1785 * gh.h, gh_data.c, ports.h, ports.c: Added some missing const specifications.
1786
1787 * backtrace.c (scm_display_error_message): Rewrote to use
1788 scm_simple_format() procedure.
1789
1790 * __scm.h: Added commented-out #define of GUILE_DEBUG_FREELIST
1791
1792 2000-01-09 Marius Vollmer <mvo@zagadka.ping.de>
1793
1794 Finally applied the libltdl patch from Thomas Tanner, with slight
1795 modifications.
1796
1797 * DYNAMIC-LINKING: Removed because it is obsolete.
1798 * dynl.c: Use ANSI prototypes.
1799 (sysdep_dynl_link): Use lt_dlopenext instead of lt_dlopen.
1800 * scmconfig.h.in: Do not change, as it is automatically generated.
1801
1802 1999-07-25 Thomas Tanner <tanner@ffii.org>
1803
1804 * dynl-dl.c, dynl-dld.c, dynl-shl.c, dynl-vms.c: deleted
1805 (obsolete)
1806 * Makefile.am: likewise, add INCLTDL (libltdl headers) to
1807 INCLUDES, set dlpreopened files in LDFLAGS, link libguile
1808 against libltdl
1809 * dynl.c: use libltdl if DYNAMIC_LINKING is enabled,
1810 * guile.c: register preloaded modules
1811 * scmconfig.h.in: remove obsolete symbols
1812
1813 2000-01-09 Gary Houston <ghouston@arglist.com>
1814
1815 * These changes should make it unnecessary to call tzset from
1816 Scheme after modifying the TZ environment variable, even if the
1817 system date facilities cache the value.
1818 * stime.c (setzone, scm_localtime): added comments.
1819 (tzset): don't define a noop tzset macro if HAVE_TZSET not defined.
1820 (setzone): don't call tzset.
1821 (restorezone): call tzset only if HAVE_TZSET is defined.
1822 (scm_tzset): don't define if HAVE_TZSET not defined. Change the
1823 doc string to indicate that this procedure isn't likely to do
1824 anything useful.
1825 (scm_localtime, scm_strftime, scm_mktime): call tzset if
1826 LOCALTIME_CACHE is defined.
1827
1828 2000-01-09 Mikael Djurfeldt <mdj@thalamus.nada.kth.se>
1829
1830 * posix.c (scm_sync): Return SCM_UNSPECIFIED.
1831
1832 2000-01-09 Gary Houston <ghouston@arglist.com>
1833
1834 * eval.c: define scm_unbound_variable_key ('unbound-variable).
1835 scm_lookupcar1: throw an error with key 'unbound-variable instead
1836 of 'misc-error when an unbound variable is encountered.
1837
1838 * filesys.c (scm_mkdir, scm_rmdir, scm_getcwd, scm_select,
1839 scm_symlink, scm_readlink, scm_lstat),
1840 posix.c (scm_setpgid, scm_setsid, scm_ctermid, scm_tcgetpgrp,
1841 scm_tcsetpgrp, scm_uname, scm_setlocale, scm_mknod, scm_nice,
1842 scm_sync),
1843 simpos.c (scm_system),
1844 stime.c (scm_times, scm_strptime):
1845 move the HAVE_XXX feature tests out of the procedure bodies.
1846 don't use SCM_SYSMISSING.
1847 scm_validate.h (SCM_SYSMISSING): removed.
1848 error.h, error.c (scm_sysmissing): comment that this is deprecated.
1849 see ChangeLog entry for 1999-12-28.
1850
1851 Sat Jan 8 19:52:04 2000 Greg J. Badros <gjb@cs.washington.edu>
1852
1853 * scm_validate.h (SCM_VALIDATE_BOOL_COPY): Fix typo.
1854
1855 Sat Jan 8 17:06:46 2000 Greg J. Badros <gjb@cs.washington.edu>
1856
1857 * backtrace.c: Fix spelling typo in a comment.
1858
1859 * snarf.h: Use new SCM_DOCS macro to encapsulate the non SCM_INIT
1860 text. Reformatted some of the expansions.
1861
1862 Fri Jan 7 15:50:46 2000 Greg J. Badros <gjb@cs.washington.edu>
1863
1864 * scm_validate.h (SCM_OUT_OF_RANGE): Use scm_out_of_range_pos to
1865 report the position of the argument.
1866
1867 * error.h, error.c (scm_out_of_range_pos): Added this function to
1868 take extra "pos" argument, the position number of the errant
1869 argument.
1870
1871 * debug.c: Use SCM_OUT_OF_RANGE instead of scm_out_of_range.
1872
1873 * snarf.h: Use SCM_HERE and SCM_INIT as names, not SCM_NOTSNARF
1874 and SCM_SNARFING. Also put the %%% in the SCM_INIT since Mikael
1875 prefers that and I'm reasonably indifferent.
1876
1877 Fri Jan 7 15:03:32 2000 Greg J. Badros <gjb@cs.washington.edu>
1878
1879 * snarf.h: Factor out differences between C++ and non-C++ into
1880 SCM_FUNC_CAST_ARBITRARY_ARGS macro. Modify all the snarf macro
1881 definitions to use SCM_NOTSNARF and SCM_SNARFING macros (like
1882 Mikael's macros, below, but changed names and SCM_SNARFING no
1883 longer expands to include %%% -- that must appear in the argument
1884 so that the token appears at the call-site as a reminder).
1885
1886 2000-01-07 Mikael Djurfeldt <mdj@thalamus.nada.kth.se>
1887
1888 * snarf.h (SCM_INSITU, SCM_INIT): New snarf macros for use in user
1889 snarf macro definitions.
1890
1891 2000-01-06 Mikael Djurfeldt <mdj@mdj.nada.kth.se>
1892
1893 * chars.c (scm_integer_to_char): Use Greg's nice
1894 SCM_VALIDATE_INUM_RANGE macro for argument checking for closer
1895 adherence to R5RS.
1896
1897 Thu Jan 6 11:48:49 2000 Greg J. Badros <gjb@cs.washington.edu>
1898
1899 * *.c, snarf.h: Replace GUILE_PROC1 with SCM_DEFINE1 throughout.
1900
1901 Thu Jan 6 11:22:53 2000 Greg J. Badros <gjb@cs.washington.edu>
1902
1903 * Makefile.am (ETAGS_ARGS): Switch to SCM_DEFINE, SCM_DEFINE1
1904 instead of GUILE_PROC.
1905
1906 Thu Jan 6 11:21:49 2000 Greg J. Badros <gjb@cs.washington.edu>
1907
1908 * alist.c: Do not report mismatch errors on some uses of `tmp' (do
1909 this by using SCM_ARG2 instead of `2' in the SCM_VALIDATE_CONS
1910 macro call.
1911
1912 Thu Jan 6 09:54:33 2000 Dirk Herrmann <dirk@ida.ing.tu-bs.de> --gjb applied
1913
1914 * scm_validate.h: Remove some redundant NIMP tests.
1915
1916 * alist.c: minimize scope of the tmp variables, and initialize
1917 them when declared. The strange SCM_NIMP tests are replaced by
1918 SCM_CONSP tests that more closely reflect the intended semantics.
1919 However, we don't get a performance penalty here, because the
1920 SCM_CONSP test was performed by the ALISTCELL test anyway. * The
1921 extremely ugly use of ASRTGO macros was removed: The calls to
1922 ASRTGO were not encapsulated by "#ifndef SCM_RECKLESS", but got a
1923 label parameter that only exists when SCM_RECKLESS is not defined.
1924 This works, because ASRTGO itself is defined in a way that it only
1925 makes use of the label parameter if SCM_RECKLESS is not defined
1926 (shudder!). Does guile make at all use of the possibility to
1927 define SCM_RECKLESS? * Codesize is likely to be reduced, since
1928 instead of two calls to SCM_ASSERT performed by the ALISTCELL test
1929 we now only get one test.
1930
1931 * list.c: Use SCM_NNULLP, not SCM_NIMP as appropriate. Also use
1932 SCM_NULLP instead of SCM_IMP. Drop use of "register" keyword on
1933 some variables in `list?'. Fix `reverse' and `reverse!'
1934 primitives to handle improper lists better.
1935
1936 Wed Jan 5 11:24:53 2000 Greg J. Badros <gjb@cs.washington.edu>
1937
1938 * *.[ch]: Whitespace changes -- added space after SCM_VALIDATE_*
1939 macros and SCM_DEFINE macros to match GNU coding standards.
1940
1941 Wed Jan 5 11:04:24 2000 Greg J. Badros <gjb@cs.washington.edu>
1942
1943 * *.[ch]: Replace GUILE_PROC w/ SCM_DEFINE.
1944
1945 Wed Jan 5 10:59:06 2000 Greg J. Badros <gjb@cs.washington.edu>
1946
1947 * *.[ch]: Replace SCM_VALIDATE_INT w/ SCM_VALIDATE_INUM for
1948 better consistency with the names of other SCM_VALIDATE_ macros
1949 and better conformance to guile naming policy.
1950
1951 Wed Jan 5 10:50:39 2000 Greg J. Badros <gjb@cs.washington.edu>
1952
1953 * ports.c (s_scm_close_all_ports_except): Use SCM_ARG1 in a
1954 SCM_VALIDATE instead of 1 to avoid a check on the argument (since
1955 it's not the actual name of the formal).
1956
1957 * guile-snarf.awk.in: Do argument/number mismatch checking and
1958 print warnings in an Emacs compile-mode parseable format.
1959
1960 * struct.c: Use SCM_ASSERT_RANGE instead of SCM_ASSERT w/
1961 SCM_OUTOFRANGE as 3rd argument.
1962
1963 * random.c: Fix argument/number mismatch (that I introduced :-( ).
1964
1965 * __scm.h: Do not #define SCM_ARG* when snarfing;
1966 lets us distinguish between 1 and SCM_ARG1 when snarfing as only
1967 the former (using the number) requires the argument to match the
1968 formal in the current argument snarfing check.
1969
1970 * snarf.h: Give new definition of SCM_ASSERT when in
1971 snarfing mode to output a lexically-identifiable sequence that the
1972 guile-snarf.awk script uses to verify argument/position matching.
1973
1974 * ramap.c: Remove extraneous #undef FUNC_NAME.
1975
1976 Wed Jan 5 08:36:38 2000 Greg J. Badros <gjb@cs.washington.edu>
1977
1978 * guile-doc-snarf.awk.in: Removed -- guile-snarf.awk.in is the
1979 current version of the same functionality; it writes the .x output
1980 to stdout instead of directly into the file.
1981
1982 Wed Jan 5 08:15:04 2000 Greg J. Badros <gjb@cs.washington.edu>
1983
1984 * unif.c, symbols.c, strings.c, stacks.c, random.c, print.c,
1985 posix.c: Eliminated a bunch of SCM_NIMP(..)s that are now
1986 redundant with the safer macros. Patch from Dirk Hermann applied
1987 by hand. Thanks Dirk!
1988
1989 * scm_validate.h: Added SCM_VALIDATE_VECTOR_OR_DVECTOR for some
1990 uses in random.c.
1991
1992 * ramap.c: whitespace change.
1993
1994 Tue Jan 4 14:21:35 2000 Greg J. Badros <gjb@cs.washington.edu>
1995
1996 * options.c, objects.c, keywords.c, gc.c: Some redundant SCM_NIMP
1997 removals from Dirk Hermann.
1998
1999 * alist.c: Rename formals to match the parameter names in the
2000 documentation, updates to documentation. Thanks Dirk Hermann!
2001
2002 2000-01-04 Mikael Djurfeldt <mdj@mdj.nada.kth.se>
2003
2004 * eval.c (SCM_CEVAL): Reverse order of
2005 scm_stack_checking_enabled_p and SCM_STACK_OVERFLOW_P
2006 (Thanks to Brad Knotwell.)
2007
2008 Mon Jan 3 08:30:02 2000 Greg Harvey <Greg.Harvey@thezone.net> (applied --01/03/00 gjb)
2009
2010 * gc.c (scm_debug_newcell): Added SCM_SETCAR of the newly
2011 allocated cell.
2012
2013 * pairs.h: Added a comment about the need for the SCM_SETCAR in
2014 SCM_NEWCELL macro.
2015
2016 Mon Jan 3 08:25:19 2000 Greg J. Badros <gjb@cs.washington.edu>
2017
2018 * dynl-vms.c, debug.c, coop-threads.c, backtrace.c, eval.c: More
2019 SCM_NIMP tests that were redundant are now eliminated. Patches
2020 from Dirk Hermann applied by hand.
2021
2022 The ChangeLog continues in the file: "ChangeLog-1996-1999"