* coop-threads.c (scm_call_with_new_thread, scm_spawn_thread,
[bpt/guile.git] / libguile / ChangeLog
CommitLineData
64e3bf6c
MD
12000-03-29 Mikael Djurfeldt <mdj@thalamus.nada.kth.se>
2
3 * coop.c (coop_create): Set `specific' field, not `data' to NULL.
4
94113249
DH
52000-03-29 Dirk Herrmann <D.Herrmann@tu-bs.de>
6
7 * smob.h (SCM_NEWSMOB, SCM_NEWSMOB2, SCM_NEWSMOB3, SCM_SMOB_DATA,
8 SCM_SET_SMOB_DATA, SCM_TC2SMOBNUM, SCM_SMOBNUM): To access smob
9 data, use SCM_{SET_}?CELL_TYPE or SCM_{SET_}?WORD_[1-3].
10
11 Note that this implies that smob data has always to be passed as
12 values of type scm_bits_t.
13
1978b33e
MD
142000-03-29 Mikael Djurfeldt <mdj@thalamus.nada.kth.se>
15
16 * threads.c (scm_init_threads): Pass 0 size to scm_make_smob_type
17 for scm_tc16_thread. As the current COOP threads are written, GC
18 is not supposed to manage storage for threads.
19
20 * error.c (scm_error): Don't try to throw an error if
21 scm_gc_heap_lock is true.
22
23 * coop.c (coop_finish): New function. Called at exit.
24 (coop_aborthelp): Free thread structures when threads die.
25 Finished LinuxThreads compatibility support => COOP threads now
26 mesh with LinuxThreads.
27
28 * coop-threads.c (scm_call_with_new_thread, scm_spawn_thread):
29 Changed SETCDR --> SET_CELL_WORD_1.
30
31 * coop-threads.c (scheme_launch_thread): Set word 1 of handle to 0
32 when thread dies.
33
dd039d6d
DH
342000-03-29 Dirk Herrmann <D.Herrmann@tu-bs.de>
35
36 * boolean.h (SCM_TRUE_P): New macro.
37
38 * boolean.h (SCM_FALSEP, SCM_NFALSEP, SCM_BOOLP), pairs.h
39 (SCM_NULLP, SCM_NNULLP): Use SCM_EQ_P to compare SCM values.
40
8b3bda20
DH
412000-03-28 Dirk Herrmann <D.Herrmann@tu-bs.de>
42
43 * continuations.h (SCM_CONTREGS, SCM_SET_CONTREGS): New macros to
44 access continuation data.
45
46 (SCM_SETJMPBUF): Deprecated. Use SCM_SET_CONTREGS instead.
47
48 (SCM_JMPBUF, SCM_DYNENV, SCM_THROW_VALUE, SCM_BASE, SCM_SEQ,
49 SCM_DFRAME): Use SCM_CONTREGS instead of SCM_CHARS to access
50 continuation data.
51
52 * continuations.c (scm_make_cont), init.c (start_stack),
53 root.c (scm_internal_cwdr): Use SCM_SET_CONTREGS instead of
54 SCM_SETJMPBUF.
55
3210f49a
DH
562000-03-28 Dirk Herrmann <D.Herrmann@tu-bs.de>
57
58 * symbols.h (SCM_LENGTH, SCM_SETLENGTH): Access the length field
59 of strings and symbols by using SCM_{SET_}?CELL_WORD_0.
60
61 (SCM_CHARS, SCM_UCHARS, SCM_SETCHARS): Use SCM_{SET_}?CELL_WORD_1
62 to access the char * field of strings and symbols.
63
2d67e390
DH
642000-03-27 Dirk Herrmann <D.Herrmann@tu-bs.de>
65
66 * gc.h (SCM_NEWCELL, SCM_NEWCELL2): Use SCM_SET_CELL_TYPE to set
67 the type entry of a new cell. Added a comment about things to
68 remember when updating the list of free cells.
69
70 (SCM_FREEP, SCM_MARKEDP): Use SCM_CELL_TYPE to access the type
71 entry of a cell.
72
76a369d9
DH
732000-03-27 Dirk Herrmann <D.Herrmann@tu-bs.de>
74
75 * pairs.h (SCM_CAR, SCM_CDR, SCM_SETCAR, SCM_SETCDR): Use
76 SCM_CELL_OBJECT and SCM_SET_CELL_OBJECT. This change implies that
77 with strict type checking enabled these macros will only work if
78 given valid SCM parameters.
79
3210f49a 80 (SCM_GCCDR): Moved to tags.h.
76a369d9
DH
81
82 * tags.h (SCM_GCCDR): Moved here from pairs.h.
83
2549a709
DH
842000-03-26 Dirk Herrmann <D.Herrmann@tu-bs.de>
85
86 * tags.h (SCM2PTR, PTR2SCM): Moved to gc.h.
87
88 * pairs.h (scm_cell, SCM_CELLPTR, SCM_CELL_WORD*, SCM_CELL_OBJECT*,
89 SCM_SET_CELL_WORD*, SCM_SET_CELL_OBJECT*, SCM_CELL_TYPE,
90 SCM_SET_CELL_TYPE, SCM_PTR_LT, SCM_PTR_MASK, SCM_PTR_GT,
91 SCM_PTR_LE, SCM_PTR_GE, SCM_CELL_WORD_LOC, SCM_NEWCELL,
92 SCM_NEWCELL2): Moved to gc.h.
93
94 (SCM_CARLOC, SCM_CDRLOC, SCM_SETAND_CAR, SCM_SETAND_CDR,
95 SCM_SETOR_CAR, SCM_SETOR_CDR): Moved to gc.h. These names should
96 be changed, though, since the macros are not only pair related.
97
98 (SCMPTR): Deleted.
99
100 * gc.h (SCM2PTR, PTR2SCM, scm_cell, SCM_CELLPTR, SCM_CELL_WORD*,
101 SCM_CELL_OBJECT*, SCM_SET_CELL_WORD*, SCM_SET_CELL_OBJECT*,
102 SCM_CELL_TYPE, SCM_SET_CELL_TYPE, SCM_PTR_LT, SCM_PTR_MASK,
103 SCM_PTR_GT, SCM_PTR_LE, SCM_PTR_GE, SCM_CELL_WORD_LOC,
104 SCM_NEWCELL, SCM_NEWCELL2, SCM_CARLOC, SCM_CDRLOC, SCM_SETAND_CAR,
105 SCM_SETAND_CDR, SCM_SETOR_CAR, SCM_SETOR_CDR): Moved here from
106 tags.h and pairs.h.
107
8d3356e7
DH
1082000-03-25 Dirk Herrmann <D.Herrmann@tu-bs.de>
109
110 * tags.h (SCM_STRICT_TYPING): New macro that, if defined,
111 activates strict compile time type checking for variables of
112 type SCM.
113 (SCM, SCM_PACK, SCM_UNPACK): Define according to whether
114 SCM_STRICT_TYPING or SCM_VOIDP_TEST are defined.
115 (SCM_EQ_P): Defined as a macro equivalent for eq?.
116
96f6f4ae
DH
1172000-03-25 Dirk Herrmann <D.Herrmann@tu-bs.de>
118
119 * tags.h (SCM_POINTERS_MUNGED): Removed.
120
121 * gc.c (scm_gc_sweep, init_heap_seg): Removed use of
122 SCM_POINTERS_MUNGED, thus fixing some illegal casts to SCM.
123
0cbaaf0b
DH
1242000-03-24 Dirk Herrmann <D.Herrmann@tu-bs.de>
125
126 * pairs.h (SCM_CELL_OBJECT, SCM_CELL_OBJECT_[0-3],
127 SCM_SET_CELL_OBJECT, SCM_SET_CELL_OBJECT_[0-3], SCM_CELL_TYPE,
128 SCM_SET_CELL_TYPE): Added a set of low level macros for accessing
129 cell entries.
130 (SCM_CELL_WORD_[0-3]): Renamed from the SCM_CELL_WORD[0-3].
131
132 * procs.h, procs.c: Instead of SCM_{SET_}?CELL_WORD[12], use the
133 newly introduced SCM_{SET_}?CELL_OBJECT_[12] macros.
134
7284d584
MD
1352000-03-23 Mikael Djurfeldt <mdj@mdj.nada.kth.se>
136
137 * tags.h: Disabled definition of SCM_VOIDP_TEST.
138
139 Defining SCM as void * introduces problems which haven't been
140 handled yet. Developers who work with these issues can enable it
141 in their working copies.
142
143 Disabling this definition exposes a set of newly introduced and
144 older misuses of types which causes warning messages during
145 compilation. We'll fix this successively.
146
147 * gc.c (scm_mark_locations): Changed * (SCM **) X --> * (SCM *) X
148 in order to obtain a value of type SCM.
149 (scm_cellp): Updated with new changes to scm_mark_locations.
150
151 * continuations.h (SCM_SETJMPBUF): Cast second arg into SCM.
152
2f9055ea
MD
153 * continuations.c (scm_make_cont): Removed cast of size_t into
154 long.
155
7284d584
MD
156 * symbols.h (SCM_SETCHARS): Cast second arg into SCM.
157
f81e080b
DH
1582000-03-22 Dirk Herrmann <D.Herrmann@tu-bs.de>
159
160 * numbers.h (SCM_SETNUMDIGS): Use SCM_BIGSIZEFIELD macro for
161 shifting, not constant. Thanks to Dale P. Smith.
162
163 * numbers.c (scm_sum, scm_difference): Don't test a SCM value
164 for being less than zero. Decode it to a C value first. Again,
165 thank you Dale.
166
1ff2fa6e
DH
1672000-03-22 Dirk Herrmann <D.Herrmann@tu-bs.de>
168
169 * numbers.h, ramap.c, struct.h, vectors.h: Don't use SCM2PTR for
170 non scheme values. If raw data is stored in SCM variables, it has
171 to be accessed using SCM_UNPACK until a better solution is found.
172
3920465b
MD
1732000-03-22 Mikael Djurfeldt <mdj@mdj.nada.kth.se>
174
6f29dc6d
MD
175 * tags.h (SCM_ECONSP, SCM_NECONSP): More corrections of
176 pointer-arithmetic induced by the SCM_PACK/UNPACK change.
177
178 * print.c (scm_iprin1): SCM_PACK/UNPACK corrections.
179
180 * gc.c (scm_gc_sweep): SCM_PACK/UNPACK corrections.
181
182 * eval.c (SCM_CEVAL, scm_unmemocar): SCM_PACK/UNPACK corrections.
183
184 * dynwind.c (scm_swap_bindings): SCM_PACK/UNPACK corrections.
185
3920465b
MD
186 * async.c, __scm.h: Removed lots of the old async click logic. It
187 is possible to reinsert it by defining GUILE_OLD_ASYNC_CLICK in
188 __scm.h. Let's try this out and dump the old code after the
189 threads reorganization.
190 (set-tick-rate, set-switch-rate): Conditionally removed.
191
90cca6f9
MD
1922000-03-21 Mikael Djurfeldt <mdj@mdj.nada.kth.se>
193
194 * gc.c (scm_gc_mark): Bugfix 1: The recent SCM_PACK/UNPACK change
195 made SCM values into pointers. This turned an arithmetic
196 computation of the address of the vcell into a pointer-arithmetic
197 one, thereby screwing up marking of structs.
198 Bugfix 2: Removed incompletely introduced loop variable `j' used
199 when protecting the tail array of a struct.
200
8246bf3e
DH
2012000-03-21 Dirk Herrmann <D.Herrmann@tu-bs.de>
202
203 * struct.h (SCM_STRUCT_DATA): Don't cast SCM values to pointers.
204
95c9e176
DH
2052000-03-21 Dirk Herrmann <D.Herrmann@tu-bs.de>
206
207 * symbols.h, symbols.c (scm_strhash): Declare the string
208 parameter as constant, since it is not modified.
209
210 * symbols.c (scm_intern_obarray_soft,
211 scm_sysintern0_no_module_lookup): Can now pass constant strings
212 to scm_strhash without need for casting.
213
7352d0b2
DH
2142000-03-21 Dirk Herrmann <D.Herrmann@tu-bs.de>
215
216 * vectors.h (SCM_VELTS, SCM_VELTS_AS_STACKITEMS): Don't cast SCM
217 values to pointers. Use SCM2PTR instead.
218
b00c8cdc 2192000-03-21 Dirk Herrmann <D.Herrmann@tu-bs.de>
9b139b4e
DH
220
221 * async.c (scm_set_tick_rate, scm_set_switch_rate): Don't unpack
222 results of SCM_INUM.
223
df2d5178
MD
2242000-03-21 Mikael Djurfeldt <mdj@thalamus.nada.kth.se>
225
bd54e664
MD
226 * init.c (scm_boot_guile_1): Renamed GUILE_GC_TRIGGER_1 -->
227 GUILE_MIN_YIELD_1, GUILE_GC_TRIGGER_2 --> GUILE_MIN_YIELD_2.
228 GUILE_MIN_YIELD_X now take *positive* fractions of heap size.
229
230 * gc.c, gc.h (SCM_MIN_YIELD_1, SCM_MIN_YIELD_2,
231 min_yield_fraction, min_yield, adjust_min_yield): Renamed from
232 SCM_GC_TRIGGER_1, SCM_GC_TRIGGER_2, gc_trigger_fraction,
233 gc_trigger, adjust_gc_trigger.
234
df2d5178
MD
235 * gc.c (alloc_some_heap): Further improvement of minimal heap size
236 prediction.
237 (SCM_MAX): New macro.
238 (scm_freelist_t): New field: collected_1. Previous amount of
239 collected cells.
240 (gc_sweep_freelist_finish): Trigger based on two last values of
241 freelist->collected to avoid unnecessary allocation due to
242 temporary peaks.
bd54e664
MD
243 (SCM_INIT_HEAP_SIZE_1, SCM_GC_TRIGGER_1, SCM_GC_TRIGGER_2):
244 Adjusted to 45000 cells, 40% and 40%. Gives quick startup
245 without extra heap allocation.
df2d5178 246
f2961ccd
DH
2472000-03-20 Dirk Herrmann <D.Herrmann@tu-bs.de>
248
249 * numbers.h (SCM_MAKINUM): The parameter to SCM_MAKINUM should
250 already be a C value. No need to unpack it.
251
3210f49a 252 * numbers.c (scm_long_long2num): Cast the parameter to scm_bits_t
f2961ccd
DH
253 if we know it fits into an inum.
254
255 * ramap.c (ramap_rp): An scm_tc7_[ui]vect object does point to a
256 field of long values. In contrast, SCM_VELTS accesses a field of
257 SCM values.
258
7b4cc831
MD
2592000-03-20 Mikael Djurfeldt <mdj@mdj.nada.kth.se>
260
f1d316dd
MD
261 * gc.c (scm_gc_stats): Inserted explanation of local_scm_mtrigger
262 etc.
80770ddc
MD
263 (scm_gc_yield_1): New variable: Holds previous yield. Used to
264 make better judgements.
f1083dd7
MD
265 (gc_sweep_freelist_finish): Inserted explanation of use of
266 gc_trigger.
f1d316dd
MD
267
268 * print.h, stacks.h, options.c, options.h: Changed C++
269 commentaries to C.
7b4cc831 270
7a710745
DH
2712000-03-20 Dirk Herrmann <D.Herrmann@tu-bs.de>
272
273 * tags.h (SCM2PTR, PTR2SCM): Use SCM_PACK / SCM_UNPACK correctly.
274
275 * numbers.h (SCM_INUMP, SCM_MAKINUM, SCM_INUM0, SCM_COMPLEX_REAL,
276 SCM_COMPLEX_IMAG, SCM_NUMP, SCM_BDIGITS): Use SCM_PACK /
277 SCM_UNPACK / SCM2PTR correctly.
278
1ef20c80
MD
2792000-03-20 Mikael Djurfeldt <mdj@mdj.nada.kth.se>
280
281 * gc.c (adjust_gc_trigger): Improved documentation.
282 (alloc_some_heap): Since gc_trigger is used against
283 freelist->collected, this is the value which should be used to
284 predict minimum growth.
285
b464b970
DH
2862000-03-20 Dirk Herrmann <D.Herrmann@tu-bs.de>
287
288 * eval.h: Fix mixup of packed/unpacked SCM values. (Thanks
289 Thien-Thi Nguyen for the patch.)
290
3ab9f56e
DH
2912000-03-20 Dirk Herrmann <D.Herrmann@tu-bs.de>
292
293 * numbers.c (scm_ash): Fixed typing problems with the second
294 parameter and added some documentation. (Thanks Thien-Thi Nguyen
295 for indicating the problem.)
296
05bc3265
MD
2972000-03-19 Mikael Djurfeldt <mdj@mdj.nada.kth.se>
298
78a4915a
MD
299 * gc.c, gc.h (scm_gc_yield): New variable.
300 (adjust_gc_trigger): Use scm_gc_yield.
301 (alloc_some_heap): Use scm_gc_yield instead of
302 scm_gc_cells_collected.
303
05bc3265
MD
304 * coop-threads.c: Addd #include "root.h", #include "strings.h".
305
306 * debug.c: Added #include "root.h". (Thanks to Thien-Thi Nguyen.)
307
308 * gc.c (scm_gc_for_newcell, adjust_gc_trigger): Improved GC
309 trigger adjustmeant: Take yield (freed cells) for all freelists
310 into account.
311 (SCM_INIT_HEAP_SIZE_1, SCM_GC_TRIGGER_1, SCM_GC_TRIGGER_2): Tuned
312 to 50000 cell heap with 45% trigger.
313 (scm_gc_cells_collected): Reintroduced.
314 (SCM_HEAP_SIZE): New macro.
315 (scm_gc_sweep): Reintroduced correct computation of
316 scm_cells_allocated.
317 (scm_freelist_t): Corrected commentary for field `cluster_size':
318 Clustersize counts objects, not cells; New member
319 `clusters_allocated'.
320
89e00824
ML
3212000-03-19 Michael Livshin <mlivshin@bigfoot.com>
322
323 * *.[hc]: add Emacs magic at the end of file, to ensure GNU
324 indentation style.
325
afcfc5bb
MD
3262000-03-19 Mikael Djurfeldt <mdj@thalamus.nada.kth.se>
327
328 * threads.h: Added #include "libguile/throw.h". (Thanks to
329 Thien-Thi Nguyen.)
330
a00c95d9
ML
3312000-03-18 Michael Livshin <mlivshin@bigfoot.com>
332
333 * tags.h: (SCM_DOUBLE_CELLP, SCM_NDOUBLE_CELLP): new macros.
334
335 * gc.h: (typedef struct scm_freelist_t) remove from here.
336
337 * gc.c: (CELL_UP, CELL_DN) make these macros take additional
338 parameter (the span).
339 (CLUSTER_SIZE_IN_BYTES, ALIGNMENT_SLACK) new macros.
340 (typedef struct scm_freelist_t) move here from gc.h, it had no
341 business being externally visible.
342 (typedef struct scm_heap_seg_data_t) renamed from
343 scm_heap_seg_data, to be style-compliant.
344 (scm_mark_locations) if the possible pointer points to a
345 multy-cell, check that it's properly aligned.
346 (init_heap_seg) alighn multy-cells properly, work with the
347 assumption that the segment size divides cleanly by cluster size
348 (so that there's no spill).
349 (round_to_cluster_size) new function.
350 (alloc_some_heap, make_initial_segment) use round_to_cluster_size
351 to satisfy the new init_heap_seg invariant.
352
28b3236d
DH
3532000-03-18 Dirk Herrmann <D.Herrmann@tu-bs.de>
354
355 * _scm.h: Don't include async.h everywhere...
356
357 * eq.c eval.c iselect.c: ... only include it here.
358
ba11fd4c
DH
3592000-03-18 Dirk Herrmann <D.Herrmann@tu-bs.de>
360
361 * _scm.h: Don't include root.h everywhere...
362
363 * async.c continuations.c eq.c eval.c evalext.c feature.c gc.c
364 gdbint.c gsubr.c ioext.c keywords.c lang.c load.c macros.c
365 numbers.c objprop.c ports.c print.c procprop.c ramap.c read.c
366 srcprop.c stackchk.c stacks.c strports.c symbols.c unif.c
367 variable.c vectors.c vports.c: ... only include it here.
368
7ab3fdd5
DH
3692000-03-17 Dirk Herrmann <D.Herrmann@tu-bs.de>
370
371 * _scm.h: Don't include strings.h everywhere...
372
373 * backtrace.c dynl.c error.c feature.c filesys.c fports.c gc.c
374 gdbint.c ioext.c load.c net_db.c numbers.c objects.c options.c
375 ports.c posix.c print.c procs.c random.c read.c regex-posix.c
376 simpos.c socket.c stacks.c stime.c strop.c strports.c struct.c
377 symbols.c unif.c vectors.c version.c vports.c: ... only include it
378 here.
379
f04d8caf
DH
3802000-03-17 Dirk Herrmann <D.Herrmann@tu-bs.de>
381
382 * _scm.h: Don't include ports.h everywhere...
383
384 * arbiters.c backtrace.c debug.c dynl.c dynwind.c eval.c feature.c
385 fluids.c gc.c gdbint.c guardians.c hash.c keywords.c mallocs.c
386 numbers.c objects.c print.c read.c root.c smob.c srcprop.c
387 stackchk.c strports.c struct.c throw.c variable.c: ... only
388 include it here.
389
003d1fd0
DH
3902000-03-17 Dirk Herrmann <D.Herrmann@tu-bs.de>
391
392 * _scm.h: Don't include vectors.h everywhere...
393
394 * eq.c eval.c filesys.c gc.c gsubr.c guardians.c hash.c hashtab.c
395 keywords.c net_db.c numbers.c objects.c posix.c print.c procprop.c
396 procs.c ramap.c random.c read.c scmsigs.c socket.c sort.c stime.c
397 strports.c symbols.c unif.c vports.c weaks.c: ... only include it
398 here.
399
0fa27efa
DH
4002000-03-17 Dirk Herrmann <D.Herrmann@tu-bs.de>
401
402 * genio.h: removed. (Only content was '/* delete me */'.)
403
404 * Makefile.am arbiters.c backtrace.c debug.c dynl.c dynwind.c
405 error.c filesys.c fluids.c gc.c gsubr.c guardians.c keywords.c
406 libguile.h mallocs.c numbers.c print.c random.c read.c root.c
407 srcprop.c stackchk.c struct.c threads.c throw.c variable.c:
408 Removed reference to genio.h
409
148f31de
MD
4102000-03-17 Mikael Djurfeldt <mdj@thalamus.nada.kth.se>
411
412 * gc.c, gc.h: Cleanup of the change of 2000-03-15.
413 Cluster sizes are now independent of GC trigger values.
414 GUILE_GC_TRIGGER_n can now specify a relative trigger value:
415 A negative integer gives fraction of total heap size in percent.
1eb489a2 416 (SCM_GC_TRIGGER_1, SCM_GC_TRIGGER_2): Default values set to -40.
148f31de
MD
417
418 * init.c (scm_boot_guile_1): Introduced new variable
419 GUILE_MAX_SEGMENT_SIZE; New environment variable names:
420 GUILE_INIT_SEGMENT_SIZE_1, GUILE_GC_TRIGGER_1,
421 GUILE_INIT_SEGMENT_SIZE_2, GUILE_GC_TRIGGER_2
422
6d0f81dd 4232000-03-16 Mikael Djurfeldt <mdj@mdj.nada.kth.se>
a00c95d9 424
6d0f81dd
MD
425 * __scm.h (GC_FREE_SEGMENTS): Disable this until we have made
426 freeing of segment work with the new GC scheme. (Thanks to
bc2c8d98
MD
427 Michael Livshin.) Oops, also happened to make GUILE_NEW_GC_SCHEME
428 the default, but I'll let this change stay in CVS Guile since this
429 code is not expected to contain serious bugs.
a00c95d9 430
17351a6f 4312000-03-16 Mikael Djurfeldt <mdj@thalamus.nada.kth.se>
c5133dc9 432
6c7c449e
MD
433 * gc.c, gc.h (scm_map_free_list): Define also if GUILE_DEBUG is
434 defined.
5a551542
MD
435 (scm_free_list_length): New procedure (GUILE_DEBUG).
436 Fixed a small but serious bug introduced by the previous change.
437
17351a6f
MD
438 * gc.c (scm_gc_sweep): Moved variable n_objects to inner sweep
439 loop and declare as register.
6c7c449e 440
c5133dc9
MD
441 * gc.c (scm_gc_sweep): Sigh... forgot to clear private freelists
442 after GC.
443
3820581c
GB
444Wed Mar 15 08:27:04 2000 Greg J. Badros <gjb@cs.washington.edu>
445
446 * fluids.c: Docstring patch from Keisuke Nishida. Some
447 reindentation, too, and a couple formals renamed. Should
448 fluid-set! return UNSPECIFIED instead of a value?
449
450Wed Mar 15 08:24:58 2000 Greg J. Badros <gjb@cs.washington.edu>
451
452 * Makefile.am: Separate out DOT_X_FILES and DOT_DOC_FILES, and
a00c95d9 453 generate the latter from the concrete listing of the former. Then
3820581c
GB
454 make guile-procedures.txt depend on DOT_DOC_FILES instead of
455 *.doc, so that rebuilding it works.
456
dd6390bf
GB
457Wed Mar 15 08:12:14 2000 Greg J. Badros <gjb@cs.washington.edu>
458
459 * libguile.h: Include libguile/validate.h. Thanks Keisuke Nishida!
460
461 * guile-snarf.awk.in: Replace docstring line-ending \n" and \n\n"
462 with nothing and \n, respectively. Thanks Keisuke Nishida for
463 noticing this problem.
464
4fdb0ae2
MD
4652000-03-15 Mikael Djurfeldt <mdj@mdj.nada.kth.se>
466
467 * __scm.h (GUILE_NEW_GC_SCHEME): Define this if you want to test a
468 new way of allocating heap. It makes Guile fast, but still
469 contains bugs.
470
471 * gc.c, gc.h, pairs.h, init.c: Implementation of a new way of
472 allocating heap. The basic idea is to trigger GC every Nth
473 allocated cell and grow heap when free list runs out. The scheme
474 has been extended so that GC isn't triggered until all remaining
475 cells are used. The implementation is also prepared for
476 development in the direction of POSIX threads.
477
478 * gc.c (SCM_EXPHEAP): In order to grow by a factor of 1.5,
479 SCM_EXPHEAP should return half of the heap size.
480
3d8d1283
MD
4812000-03-14 Mikael Djurfeldt <mdj@thalamus.nada.kth.se>
482
5f4edb86
MD
483 The following change to init.c is only enabled if Guile was
484 configured with --enable-guile-debug.
a00c95d9 485
5f4edb86
MD
486 * init.c (scm_i_getenv_int): New function.
487 (scm_boot_guile_1): Use the environment variables
488 GUILE_INIT_HEAP_SIZE, GUILE_INIT_HEAP_SIZE2 to select heap size if
489 they exist. (This may be replaced by a Scheme level mechanism in
490 the future.)
491
3d8d1283 492 * objprop.c (s_scm_set_object_property_x): Use scm_assq instead of
90e77861 493 scm_assoc. (Thanks to Keisuke Nishida.)
3d8d1283 494
b0e37c83
MD
4952000-03-14 Mikael Djurfeldt <mdj@mdj.nada.kth.se>
496
497 * eval.c, lang.c, lang.h (scm_lisp_nil, scm_lisp_t): Renamed from
2b260c0f 498 scm_nil, scm_t. (Thanks to Keisuke Nishida.)
b0e37c83 499
16d35552
MD
5002000-03-14 Mikael Djurfeldt <mdj@thalamus.nada.kth.se>
501
5ebf0091
MD
502 * init.c (scm_boot_guile_1): Use same initial segment size for
503 1-word and 2-word segments. Having the smaller size causes Guile
504 to GC too often. Obviously something needs to be done to allow
505 for a smaller 2-word segment without this to happen. (The amount
506 of heap for each type should be automatically adapted to the
507 application somehow.)
508
31ed4cff
MD
509 [Almost all of these changes should be documented in the NEWS
510 file.]
511
cf2c7413
MD
512 * gc.h (scm_freelist_t): New type.
513
514 * pairs.h (SCM_NEWCELL, SCM_NEWCELL2): Use new style freelists.
515
516 * gc.c (SCM_INIT_HEAP_SIZE): Changed from 32768 --> 40000 so that
517 all of Guile basics fits into one segment and there suitable room
518 for work.
519 (SCM_EXPHEAP): Now takes an argument. Grow by a factor of 1.5
520 instead of 2.
521 (scm_freelist, scm_freelist2): Now of type scm_freelist_t.
522 Freelists now contains information about object span, cells
523 collected and amount of cells in heap segments belonging to the
524 list.
525 (scm_heap_size, scm_gc_cells_collected): Removed.
526
527 * init.c (scm_boot_guile_1): Make 2-word segment 8K (512 cells).
528
16d35552
MD
529 * Makefile.am (libguile_la_LDFLAGS): Bumped library version
530 number.
531
cf2c7413 532 * __scm.h eq.c, eval.c, gc.c, gc.h, gh_data, hash.c, numbers.c,
16d35552
MD
533 numbers.h, objects.c, ramap.c, random.c, unif.c, unif.h: Extensive
534 rewrite of handling of real and complex numbers.
535 (SCM_FLOATS, SCM_SINGLES): These #ifdef conditionals have been
536 removed along with the support for floats. (Float vectors are
537 still supported.)
538
539 * tags.h (scm_tcs_bignums): Removed.
540 (scm_tc16_bigpos, scm_tc16_bigneg): Replaced by scm_tc16_big.
541 Use SCM_BIGSIGN(x) to test for sign!
542 (scm_tc16_big): The new bignum type.
543 (SCM_REAL_PART, SCM_IMAG_PART): Removed.
544
545 * numbers.h (SCM_BIGSIGN): Sign moved to bit 16.
546 (scm_makdbl): Deprecated.
547 (SCM_NEWREAL, SCM_NEWCOMPLEX): New macros.
548 (SCM_SINGP): Deprecated.
549 (SCM_FLO): Removed.
550 (SCM_INEXP, SCM_CPLXP): Deprecated.
551 (SCM_INEXACTP, SCM_COMPLEXP): New macros.
552 (SCM_COMPLEX_REAL, SCM_COMPLEX_IMAG): Renamed from
553 SCM_REAL, SCM_IMAG (and now only valid for complex numbers).
554 (SCM_REAL, SCM_IMAG): New, *deprecated*, selectors which work both
555 for doubles and complex numbers.
556 (SCM_REAL_VALUE): New selector for doubles.
557 (scm_double_t, scm_complex_t): New types.
558 (scm_dbl): Removed.
559
560 * numbers.c (scm_floprint, scm_floequal): Removed.
561 (scm_print_real, scm_print_complex, scm_real_equalp,
562 scm_complex_equalp): New functions.
563
564 * unif.c (scm_makflo): Removed.
565
566 * smob.h (SCM_SMOB_PREDICATE): New macro.
567 (SCM_NEWSMOB2, SCM_RETURN_NEWSMOB2, SCM_NEWSMOB3,
568 SCM_RETURN_NEWSMOB3): New macros.
569
5701999-11-21 Michael Livshin <mlivshin@bigfoot.com>
571
572 The following changes implement primitive support for double cells
573 (i.e. four-word cells) and change the representation of some
574 things to multi-cells instead of cons+malloc. (Applied and
575 modified by mdj.)
576
577 * pairs.h (SCM_NEWCELL2): double-cell variants of SCM_NEWCELL.
578 (SCM_CELL_WORD, SCM_CELL_WORDLOC, SCM_SET_CELL_WORD): primitive
579 multi-cell access macros (used by the ones below).
580 (SCM_CELL_WORD[0-3], SCM_SET_CELL_WORD[0-3]): multi-cell access
581 macros.
582
583 * gc.c (scm_freelist2): multi-cell freelists.
584 (inner_map_free_list): map_free_list, parameterized on ncells.
585 "nn cells in segment mm" was misleading for ncells > 1; changed to
586 "objects". still print cells too, though.
587 (scm_map_free_list): rewritten using inner_map_free_list.
588 (scm_check_freelist): get freelist as parameter, since now we have
589 more than one.
590 (scm_debug_newcell2): multi-cell variants of
591 scm_debug_newcell.
592 (scm_gc_for_newcell): take ncells and freelist pointer as
593 parameters.
594 (scm_gc_mark): add case for tc7_pws (procedures with setters are
595 now double cells).
596 (scm_gc_sweep): don't free the float data, since it's not malloced
597 anymore.
598 (init_heap_seg): didn't understand what n_new_objects stood for,
599 so changed to n_new_cells.
600 (make_initial_segment): new function, makes an initial segment
601 according to given ncells.
602 (scm_init_storage): call make_initial_segment, for ncells={1,2,3}.
603
604 * numbers.c (scm_makdbl): no malloc'ing needed, so the
605 {DEFER,ALLOW}_INTS thing removed.
606
607 * numbers.h (struct scm_dbl): changed to represent a double cell,
608 with the number in the second half.
16d35552
MD
609
610 * dynwind.c: changed the wind-guards representation to double
611 cell.
612
613 * procs.c, procs.h: changed the procedure-with-setter representation
614 to double cell.
615
616 * async.c, async.h: made async representation a double cell.
617
16d35552 618 * dynl.c: made dynamic_obj representation a double cell.
a00c95d9 619
b70ecbd0
GH
6202000-03-13 Gary Houston <ghouston@arglist.com>
621
622 * ports.c (flush_void_port): renamed to flush_port_default.
623 (end_input_void_port): renamed to end_input_default.
624
625 * init.c (scm_standard_stream_to_port): create a void port instead
626 of opening /dev/null if the standard file descriptors are bad.
627 advantages: no portability problems, doesn't waste a file descriptor,
628 simplifies the code (thanks to Marius for the idea).
629
630 * vports.c (s_scm_make_soft_port): call scm_port_non_buffer.
631
632 * void ports: make reading from a void port give EOF instead of
633 segv:
634 * ports.c (s_scm_sys_make_void_port): modified docstring.
635 (fill_input_void_port): new proc.
636 (scm_init_ports): set up fill_input_void_port.
637 * ports.c (scm_port_non_buffer): new proc.
638 (scm_void_port): call scm_port_non_buffer.
639
640 * fports.c (scm_setvbuf): docstring: remove the fcntl documentation
641 which was incorrectly appended.
642
fdc7ea2d
MD
6432000-03-13 Mikael Djurfeldt <mdj@mdj.nada.kth.se>
644
645 * guile-doc-snarf.in: Don't use absolute path for `sed'. (Note
646 that we can't use autoconf for this. Autoconf itself relies on
26fba922 647 the existence of `sed' somewhere on your path.) (Thanks to Dirk
fdc7ea2d 648 Herrman.)
a00c95d9 649
68933ba3
MD
6502000-03-13 Mikael Djurfeldt <mdj@thalamus.nada.kth.se>
651
b44a555a
MD
652 * Makefile.am (libguile_la_SOURCES): Moved iselect.c here from
653 EXTRA_libguile_la_SOURCES.
654
655 * iselect.h: Always declare scm_internal_select.
656
657 * iselect.c (scm_internal_select): Added SCM_ASYNC_TICK at the
658 end. Also let scm_internal_select be a real function also when
659 not using threads.
660
68933ba3
MD
661 * __scm.h (SCM_TICK): Oops! Forgot to put SCM_ASYNC_TICK here...
662
c7f6ea11
MD
6632000-03-13 Mikael Djurfeldt <mdj@mdj.nada.kth.se>
664
665 * __scm.h (SCM_ALLOW_INTS, SCM_REALLOW_INTS): Removed call to
666 SCM_ASYNC_TICK. (This is a preparation for POSIX threads support,
667 and kind of an experiment: Will this cause problems?)
668
62dbc244
GB
669Sun Mar 12 13:26:30 2000 Greg J. Badros <gjb@cs.washington.edu>
670
671 * Makefile.am: Added *.doc to DISTCLEANFILES.
672
4f2f645d
GH
6732000-03-12 Gary Houston <ghouston@arglist.com>
674
675 * fports.c (scm_fdes_to_port): call fcntl F_GETFL to test that
676 the fdes is valid before doing anything else. check that
677 the file descriptor supports the modes required.
678 (scm_fport_buffer_add): don't throw an error if fstat doesn't
679 work: just use the default buffer size.
680
681 * throw.c: change an outdated comment about scm_internal_catch
682 BODY: it doesn't take a jumpbuf arg.
683
684 * init.c (scm_standard_stream_to_port): install a handler in case
685 scm_fdes_to_port throws an error. don't check here whether the
686 file descriptor is valid, since scm_fdes_to_port will do that.
687 set the revealed count depending on whether the port got the
688 standard file descriptor.
689 (stream_body_data): new type.
690 (stream_body, stream_handler): new procs.
691
7f782a0a
MD
6922000-03-12 Mikael Djurfeldt <mdj@thalamus.nada.kth.se>
693
67673f75
MD
694 * stacks.c, stacks.h, struct.c, tags.h, unif.c (scm_bits_t):
695 Renamed from SCMWORD.
696
697 * tags.h (SCM_NCELLP): Removed (SCMWORD).
698
f1267706 699 * arbiters.c (SCM_ARB_LOCKED): Use SCM_UNPACK_CAR.
67673f75 700
74a426ae
MD
701 * async.c, boolean.h, debug.c, dynl.c, dynwind.c, eval.c, eval.h,
702 feature.h, filesys.h, fluids.h, fports.c, fports.h, gc.c, gc.h,
703 hash.c, keywords.h, macros.c, numbers.c, numbers.h, objects.c,
704 objects.h, options.c, pairs.h, ports.c, ports.h, print.c,
705 procs.h, ramap.c, read.c, smob.c, smob.h, srcprop.h, stacks.c,
706 stacks.h, strports.c, struct.c, struct.h, tag.c, tags.h,
707 throw.c, unif.c, unif.h, variable.h, vectors.h, weaks.c,
f1267706 708 weaks.h (SCM_PACK, SCM_UNPACK, SCM_UNPACK_CAR): Renamed from
74a426ae
MD
709 SCM_ASSCM, SCM_ASWORD, SCM_CARW).
710
7f782a0a
MD
711 * numbers.h (SCM_SRS, SCM_INUM): Corrected SCM_ASSCM/ASWORD fixes.
712
713 * alist.c, eval.c, net_db.c, posix.c, print.c, snarf.h, struct.c,
714 tags.h: Fixed copyright notices.
715
716 * struct.c, coop-threads.c: SCM_ASSCM/ASWORD fixes.
0cd87628 717
7f782a0a 7182000-03-12 Marius Vollmer <mvo@zagadka.ping.de>
a00c95d9 719
0cd87628
MV
720 * init.c (scm_standard_stream_to_port): Check whether the file
721 descriptor is valid and substitute "/dev/null" when not.
a00c95d9 722
f3b5e185
MD
7232000-03-12 Mikael Djurfeldt <mdj@thalamus.nada.kth.se>
724
725 * coop-defs.h (struct timespec): Conditionally defined.
726
727 * coop.c (coop_condition_variable_timed_wait_mutex): Use ETIMEDOUT
728 instead of ETIME.
38eca29b
MD
729
730 * readline.c (match_paren): Bugfix: First arg to select is not
731 number of descriptors but the number of the highest descriptor +
732 1.
733
734 This is a preliminary attempt at a cleanup of the threads support
735 code. It moves things to better places, makes arguments more
736 consistent with the POSIX API (which is used in GNOME's glib), and
737 adds new functionality.
a00c95d9 738
38eca29b
MD
739 * readline.c (scm_init_readline): Added new arg to scm_init_mutex.
740
741 * coop-defs.h (scm_mutex_trylock): New macro: alias for
742 coop_mutex_trylock.
743 (scm_cond_init): Changed definition to
744 coop_new_condition_variable_init.
a00c95d9 745
38eca29b
MD
746 * coop.c: #include <errno.h>
747 (coop_timeout_qinsert): Moved here from iselect.c
748 (coop_new_mutex_init, coop_new_condition_variable_init): New
749 functions. The strange names are temporary. Use scm_mutex_init
750 and scm_cond_init instead.
751 (coop_mutex_trylock): New function. Uses errno.h:EBUSY. errno.h
752 is ANSI C, but should we check for individual error codes in
753 configure.in?
754 (coop_condition_variable_timed_wait_mutex): New function.
755 (coop_key_create, coop_setspecific, coop_getspecific,
7f782a0a 756 coop_key_delete): New functions.
38eca29b
MD
757
758 * iselect.c (coop_timout_qinsert): Moved to coop.c
759
32e1616c
MD
7602000-03-11 Mikael Djurfeldt <mdj@thalamus.nada.kth.se>
761
762 * pairs.h (SCM_SETAND_CAR, SCM_SETAND_CDR, SCM_SETOR_CAR,
763 SCM_SETOR_CDR): Corrected SCM_ASSCM/WORD fixes.
764
765 * tags.h (SCM_VOIDP_TEST): Renamed from VOIDP_TEST.
766 Layout cleanups.
767
768 * objects.h (SCM_CLASS_FLAGS, SCM_OBJ_CLASS_FLAGS,
769 SCM_SET_CLASS_INSTANCE_SIZE), struct.h (SCM_STRUCT_VTABLE_DATA),
770 proc.h (SCM_CLOSCAR): SCM_ASSCM/WORD fixes.
771
772 * eval.c (scm_lookupcar1): Inserted SCM_ASWORD in expressions
773 dealing with ilocs.
774
d5c39069
GB
7752000-03-11 Dale P. Smith <dpsm@en.com>, applied by Greg J. Badros, <gjb@cs.washington.edu>
776
777 * numbers.c (scm_copy_big_dec, scm_copy_smaller, scm_big_ior,
778 scm_big_xor, scm_big_and, scm_big_test): Added new lowlevel bignum
779 logical functions from SCM.
780
781 (logand, logior, logxor, logtest, logbit?): Extended scheme
782 logical functions to use bignums from SCM.
783
784 (lognot): Removed call to `SCM_VALIDATE_INUM' that prevented
785 lognot from using bignums.
786
3e892913
GB
787Thu Mar 9 11:33:25 2000 Greg J. Badros <gjb@cs.washington.edu>
788
a00c95d9 789 * vectors.h (SCM_VELTS_AS_STACKITEMS): Added this macro to help in
3e892913
GB
790 eliminating some warnings.
791
792 * unif.c, strports.c, print.c, options.c: Fix some warnings on
793 mis-use of SCM/long
794
795 * gc.c, gc.h: Added scm_return_first_int(), and added comment re:
796 what the scm_return_first* functions do.
797
7ac030d6
GB
7982000-03-09 Han-Wen Nienhuys <hanwen@cs.uu.nl>, applied by Greg J. Badros, <gjb@cs.washington.edu>
799
800 * libguile/*.[ch]: make a distinction between SCM as a generic
801 name for a Scheme object (now a void*), and SCM as 32 bit word for
802 storing tags and immediates (now a long int). Introduced
803 SCM_ASWORD and SCM_ASSCM for conversion. Fixed various dubious
804 code in the process: arbiter.c (use macros), unif.c (scm_array_p),
a00c95d9 805
f635d2d4
GB
806Wed Mar 8 10:15:59 2000 Greg J. Badros <gjb@cs.washington.edu>
807
808 * numbers.c: Use SCM_VALIDATE_LONG_COPY, and longs, not ints, in
809 various logXXX primitives. Thanks Eric Moore!
810
9eaa7fb6
GB
811Tue Mar 7 08:05:22 2000 Greg J. Badros <gjb@cs.washington.edu>
812
813 * run-test, remaining-docs-needed: Added these scripts. The
814 second one is only temporary until the docstring additions are
815 complete. run-test may best live on, but is here mostly for
816 convenience and awareness for now.
817
818 * hash.c: Docs, minor cleanup patch from Dirk Herrman.
819
49673698
GB
820Thu Mar 2 16:06:58 2000 Greg J. Badros <gjb@cs.washington.edu>
821
822 * error.h, error.c: Added `scm_wrong_type_arg_msg' to support
823 displaying the expected type. Use SCM_LISTn in a couple places
824 instead of scm_cons-ing by hand.
825
826 * __scm.h: Added SCM_ASSERT_TYPE macro.
827
828 * validate.h, scm_validate.h: Added the former, as a renamed
829 version of the latter with SCM_ASSERT_TYPE used in
830 SCM_MAKE_VALIDATE (instead of just SCM_ASSERT)
831
832 * Makefile.am: Rename scm_validate.h to validate.h.
833
834 * *.c, *.h: Include validate.h, not scm_validate.h (old name's
835 prefix was superfluous).
836
417bdef8
GB
837Thu Mar 2 15:33:12 2000 Greg J. Badros <gjb@cs.washington.edu>
838
839 * hashtab.c: Improved documentation for lots of functions. Added
840 handwritten docs for `hash-fold'.
841
842Thu Mar 2 15:13:25 2000 Greg J. Badros <gjb@cs.washington.edu>
843
844 * list.c: Added hand-written docs for `del{q,v,ete}1!'.
845
26a760c6
GB
846Thu Mar 2 12:38:30 2000 Greg J. Badros <gjb@cs.washington.edu>
847
a00c95d9 848 * list.c: Moved append docs to append! Thanks Dirk Hermann. Also,
26a760c6
GB
849 added append docs from R4RS.
850
851 * strings.c: Docstring typo fix, + eliminate unneeded IMP tests.
852 Thanks Dirk Hermann!
853
854 * chars.h: Provide SCM_CHARP, SCM_CHAR, SCM_MAKE_CHAR and
855 deprecate SCM_ICHRP, SCM_ICHR, SCM_MAKICHR. Thanks Dirk Hermann!
a00c95d9 856
26a760c6
GB
857 * *.h, *.c: Use SCM_CHARP, SCM_CHAR, SCM_MAKE_CHAR throughout.
858 Drop use of SCM_P for function prototypes... assume an ANSI C
859 compiler. Thanks Dirk Hermann!
860
898942f8
GB
861Sat Feb 19 12:20:12 2000 Greg J. Badros <gjb@cs.washington.edu>
862
863 * ports.c: Made `set-port-column!' and `set-port-line!' each
864 return SCM_UNSPECIFIED instead of a (not-scheme-object) integer
865 that caused a seg fault. Also fixed `set-port-column!'s
866 docstring. Thanks Han-Wen Nienhuys for finding the bug!
867
84a3df2c
GB
868Sun Feb 13 19:11:42 2000 Greg J. Badros <gjb@cs.washington.edu>
869
870 * arbiters.c, eq.c, gc.c, guardians.c, list.c, ports.c, print.c,
a00c95d9 871 regex-posix.c, scmsigs.c, stime.c, strings.c, variable.c, stime.c,
84a3df2c
GB
872 strings.c, variable.c: Added lots of documentation, cleaned up
873 some existing documentation. Occasionally changed formal params
874 to match docs. Also folded an #ifdef into the inners of a
875 primitive instead of having two copies of the primitive
876 (`get-internal-real-time', from stime.c)
877
878Sun Feb 13 18:12:19 2000 Greg J. Badros <gjb@cs.washington.edu>
879
880 * ports.c: Added docs for primitives missing them. Written by
881 hand.
882
3f557de6
GB
883Sun Feb 13 09:40:36 2000 Greg J. Badros <gjb@cs.washington.edu>
884
885 * guile-doc-snarf.in: Use ${AWK} -f guile-func-name-check, not
886 just execing guile-func-name-check. Thanks Michael Livshin!
887
ddcccdb3
GB
888Thu Feb 10 11:43:23 2000 Greg J. Badros <gjb@cs.washington.edu>
889
890 * guile-snarf.awk.in: Tweak to work with Sun/HP awk, removed some
891 dead code. Patch from Michael Livshin.
892
893 * guile-doc-snarf.in: Tweak to work with Sun/HP sh. Patch from
894 Michael Livshin.
895
720e8692
GH
8962000-02-09 Gary Houston <ghouston@arglist.com>
897
898 * init.c (scm_init_standard_ports): when stdout is a tty, make the
899 current-output-port unbuffered by default. this is less confusing
900 for interactive use. it was line-buffered because of a
901 performance problem with unbuffered ports, but I think it will be
902 OK now.
903
43ff3170
GH
9042000-02-08 Gary Houston <ghouston@arglist.com>
905
906 * __scm.h: don't define long_long or ulong_long if HAVE_LONG_LONGS
907 is not defined.
908
909 * stime.c (scm_localtime, scm_mktime): if neither HAVE_TM_ZONE nor
910 HAVE_TZNAME are defined, use an empty string instead of giving two
911 spurious compile-time errors.
912
4ba47302
GB
913Tue Feb 8 13:57:46 2000 Greg J. Badros <gjb@cs.washington.edu>
914
915 * ports.c: Doc patches from Richard Kim. Pasted from MIT Scheme.
916 Thanks Richard!
917
09a617f7
GB
918Mon Feb 7 09:07:31 2000 Greg J. Badros <gjb@cs.washington.edu>
919
920 * macros.c: Doc patches from Richard Kim. Pasted from scm.texi.
921
9dbcf010
GB
922Sun Feb 6 20:26:21 2000 Greg J. Badros <gjb@cs.washington.edu>
923
924 * pairs.c: Doc patches from Richard Kim. Pasted from MIT Scheme
925 (which is GNU GPL'd).
926
bd9e24b3
GH
9272000-01-31 Gary Houston <ghouston@arglist.com>
928
929 * strings.h: don't use SCM_P. don't include <string.h>.
930 * error.c, gh_data.c, ports.c, script.c, strop.c: include <string.h>.
a00c95d9 931
bd9e24b3
GH
932 * strings.c (scm_string_ref): make the 2nd argument compulsory.
933 previously it defaulted to zero for no good reason that I can see.
934 use a local variable for SCM_INUM (k). replace
935 SCM_VALIDATE_INUM_DEF with SCM_VALIDATE_INUM_COPY.
936
937 (scm_makfromstr): cosmetic changes.
938
939 (scm_string): Accept only chars in the list, not strings, for
940 conformance to R5RS (particularly for list->string, which is
941 supposed to be the inverse of string->list.) remove
942 SCM_DEFER_INTS/SCM_ALLOW_INTS, which is unnecessary since
943 scm_makstr handles the cell allocation. when reporting wrong-type
944 arg, don't report the position as 1.
945
946 * posix.c (scm_init_posix): intern PIPE_BUF if it's defined.
947
28d77376
GH
9482000-01-29 Gary Houston <ghouston@arglist.com>
949
ae1b098b
GH
950 * posix.c (scm_pipe): rewrote the docstring.
951
28d77376
GH
952 * filesys.c (scm_select, retrieve_select_type, get_element,
953 fill_select_type, set_element): modified so that Scheme
954 "select" tests port buffers for the ability to provide input
955 or accept output. Previously only the underlying file descriptors
956 were checked. Rewrote the docstring.
a00c95d9 957
7f1497ce
GB
958Thu Jan 27 10:14:25 2000 Greg J. Badros <gjb@cs.washington.edu>
959
960 * vectors.c, symbols.c, strorder.c: Documentation cut and pasted
961 from Gregg Reynolds. Thanks Gregg!
962
2288ff9b
GB
963Thu Jan 27 09:59:38 2000 Greg J. Badros <gjb@cs.washington.edu>
964
965 * strop.c (scm_i_index): Obfuscated commented-out SCM_DEFINE by
966 adding "x" prefix to the line so that guile-func-name-check
967 doesn't complain unnecessarily.
968
349af6dd
GB
969Wed Jan 26 17:33:52 2000 Greg J. Badros <gjb@cs.washington.edu>
970
971 * throw.c: Factor out an #ifdef/#else/#endif choice more finely
972 for maintainability.
973
974 * strop.c: Documentation added by Gregg A. Reynolds. Pasted in
975 from qdocs, RnRs.
976
a28eb127
GB
977Wed Jan 26 10:02:11 2000 Greg J. Badros <gjb@cs.washington.edu>
978
a00c95d9 979 * tag.c: Added doc for `tag', but mark as deprecated since Mikael
a28eb127
GB
980 suggests removing tag.c altogether (and using a new `class-of'
981 instead).
982
983 * strings.c: Added documentation from Gregg A. Reynolds. Edited
984 a bit by me to use FOO instead of @var{foo} and to have the
a00c95d9 985 summary come before preconditions on input. Also dropped trailing
a28eb127
GB
986 (rnrs) note.
987
988 * gsubr.c: Do not use SCM_DEFINE for `gsubr-apply'. Register the
989 function with scm_make_subr_opt w/ last arg of 0 so it is not
990 visible at the Scheme level. Mikael says that this is the right
991 thing because the first arg to the proc is the guts of a compiled
992 closure and shouldn't be exposed to the Scheme level.
993
ac2259fc
GB
994Tue Jan 25 17:15:47 2000 Greg J. Badros <gjb@cs.washington.edu>
995
996 * sort.c: typo in comment fixed.
997
998 * keywords.c: Added documentation.
999
1000 * guardians.c: Added documentation (could be better).
1001
1002 * gc.c: Added docs for gc-set-debug-check-freelist.
1003
1004 * eq.c: Added docs for eq?, eqv? equal? abridged from R4RS.
1005
1006 * boolean.c: Added docs for `not', `boolean?' (by hand).
a00c95d9 1007
d928e0b4
GB
1008Tue Jan 25 13:28:56 2000 Greg J. Badros <gjb@cs.washington.edu>
1009
1010 * random.c: Added documentation, from SLIB page:
1011 http://angela.ctrl-c.liu.se/~calle/scheme/slib_toc.html
1012
1013Mon Jan 24 17:50:20 2000 Greg J. Badros <gjb@cs.washington.edu>
1014
1015 * variable.c, version.c: Added documentation, written by hand
1016 since I could not find anything already written that was
1017 relevant.
1018
d831b039
GH
10192000-01-23 Gary Houston <ghouston@arglist.com>
1020
a00c95d9 1021 * filesys.c (scm_chown): omit port/fdes support if HAVE_FCHOWN is
d831b039
GH
1022 not defined (thanks to Richard Y. Kim).
1023
88ec97ad
GB
1024Thu Jan 20 13:00:38 2000 Greg J. Badros <gjb@cs.washington.edu>
1025
1026 * Makefile.in: Removed, this is auto-generated.
1027
078e9092
GB
1028Thu Jan 20 11:33:47 2000 Dirk Hermann <dirk@ida.ing.tu-bs.de> --applied 01/20/00 gjb
1029
1030 * list.c: Put some variable initialization code at the point of
1031 declaration; Added a comment for list*; Formatting changes.
1032
1033 * load.c: use SCM_NNULLP to make sure the end of a list is not
1034 reached yet.
1035
e7a96050
MD
10362000-01-18 Mikael Djurfeldt <mdj@mdj.nada.kth.se>
1037
a177af34
MD
1038 * backtrace.c (scm_display_error_message): Bugfix: Don't use
1039 result of scm_list_p as C boolean.
1040 (scm_display_error_message, scm_set_print_params_x): Use new
1041 validation macros. (Thanks to Dirk Herrmann.)
1042
d06bcb02
MD
1043 * net_db.c (scm_resolv_error): Cast result from hstrerror.
1044
1045 * strports.c (st_end_input): Inserted parenthesis to get operator
1046 grouping correct.
1047
1048 * list.h (scm_init_list): Removed SCM_P around prototypes.
1049
1050 * fports.c, list.c, numbers.c, ports.c, stime.c, symbols.c,
1051 filesys.c, posix.c: Converted docstrings to ANSI C format and
e7a96050
MD
1052 escaped " occurring inside string literals.
1053
682eefe9
MD
1054Tue Jan 18 13:21:08 2000 Mikael Djurfeldt <mdj@r11n07-s.pdc.kth.se>
1055
1056 * posix.c (scm_mknod): Escape " occuring inside docstring.
1057
56cfe22b
MD
10582000-01-18 Mikael Djurfeldt <mdj@mdj.nada.kth.se>
1059
1060 * alist.c, chars.c, debug.c, dynl.c, dynwind.c, error.c, eval.c,
1061 evalext.c, filesys.c, gc.c, hash.c, hashtab.c, ioext.c,
1062 keywords.c, list.c, load.c, macros.c, net_db.c, numbers.c,
1063 objprop.c, ports.c, posix.c, print.c, procprop.c, procs.c,
1064 ramap.c, regex-posix.c, root.c, scmsigs.c, simpos.c, socket.c,
1065 stacks.c, stime.c, strings.c, strop.c, strports.c, struct.c,
1066 symbols.c, throw.c, unif.c, vectors.c, version.c, vports.c,
1067 weaks.c: Converted docstrings to ANSI C format.
a00c95d9 1068
56cfe22b
MD
1069 * filesys.c (scm_chmod), simpos.c (scm_system), version
1070 (scm_version), vports (scm_make_soft_port): Escape " occuring
1071 inside docstring.
1072
fcb1720f
GB
1073Mon Jan 17 11:41:22 2000 Greg J. Badros <gjb@cs.washington.edu>
1074
1075 * scm_validate.h: Added SCM_VALIDATE_ULONG_COPY,
1076 SCM_VALIDATE_LONG_COPY
1077
1078 * numbers.c: Use SCM_VALIDATE_ULONG_COPY, instead of
1079 SCM_VALIDATE_INUM_COPY to let bigger numbers be used. Rename a
1080 couple of formal arguments (and fix their uses) to make arguments
1081 match the documentation.
1082
b9af3d0e
MS
10832000-01-14 <mstachow@alum.mit.edu>
1084
1085 * Makefile.am: Augment path when running guile-doc-snarf so
1086 guile-func-name-check is found.
1087
153511a7
GB
1088Fri Jan 14 09:34:55 2000 Greg J. Badros <gjb@cs.washington.edu>
1089
1090 * scm_validate.h (SCM_NUM2LONG_DEF): Fix this macro to just use
1091 def, not SCM_MAKINUM(def); thanks Janis Bzerins!
1092
59d5245f
GB
1093Wed Jan 12 00:06:53 2000 Greg J. Badros <gjb@cs.washington.edu>
1094
1095 * net_db.c (s_scm_inet_makeaddr): Use SCM_NUM2ULONG since that's
1096 the way guile-1.3.4 worked, but #if 0 out the version using
1097 SCM_VALIDATE_INUM_COPY for stricter testing.
1098
95aec69f
GB
1099Tue Jan 11 18:24:18 2000 Greg J. Badros <gjb@cs.washington.edu>
1100
1101 * guile-doc-snarf.in: Use new $fullfilename for running
1102 guile-func-name-check, and put "$fullfilename" and "$filename" in
1103 quotes at uses to make sure re-splitting on whitespace does not
a00c95d9 1104 occur (so filenames w/ embedded whitespace would work okay, though
95aec69f
GB
1105 I sure hope we never have to deal with that! :-) ). Thanks to
1106 Mikael for pointing out the source_dir != build_dir was broken.
1107
b7ac2837
GB
1108Tue Jan 11 17:42:40 2000 Greg J. Badros <gjb@cs.washington.edu>
1109
1110 * scm_validate.h: Added SCM_NUM2LONG_DEF macro. Make
1111 SCM_OUT_OF_RANGE use SCM_MAKINUM, not scm_long2num. Added
1112 SCM_COERCE_ROSTRING macro. Added SCM_VALIDATE_NONEMPTYLIST
1113 macro. Fix SCM_VALIDATE_STRINGORSUBSTR macro to not use SLOPPY
1114 variants.
1115
1116 * ports.c (scm_port_closed_p): Validate that the arg is a PORT,
1117 then return whether it's an open port (was validating that it was
1118 an open port -- this was a bug I introduced back in December, but
1119 my careful reading of diffs caught it).
1120
1121 * numbers.c: Recombine the two conditional-compilation paths for
1122 all the log* primitives -- they were split based on #ifndef
1123 scm_long2num; factored out a SCM_LOGOP_RETURN macro, and fixed
1124 some bugs and inconsistencies in the two sets of implementations.
1125 (scm_lognot) Fixed *atrocious* re-use of a SCM as an integer!
1126
1127 * ioext.c: Use SCM_ASSERT_RANGE in a couple places, and
1128 SCM_VALIDATE_INUM_COPY once where it should've been used.
1129
1130 * fluids.c (scm_internal_with_fluids): Use
1131 SCM_VALIDATE_LIST_COPYLEN.
1132
1133 * filesys.c: Use SCM_NUM2LONG instead of SCM_VALIDATE_INUM_COPY;
1134 this is questionable as it relaxes type safety, but other changes
1135 were useful and all SCM_NUM2LONG's should probably be
1136 revisited. Use SCM_OUT_OF_RANGE, SCM_WRONG_TYPE_ARG.
1137
1138 * evalext.c: line-break change on 1 line.
1139
1140 * eval.c (nconc2last): Takes a non-empty list as its first
1141 argument, not just a list.
1142
1143 * dynl.c: Use new SCM_COERCE_ROSTRING macro.
1144
1145Tue Jan 11 15:44:23 2000 Greg J. Badros <gjb@cs.washington.edu>
1146
1147 * dynl.c, feature.c, filesys.c, fports.c, list.c, load.c,
1148 net_db.c, sort.c, stacks.c, unif.c: Use SCM_WTA, SCM_MISC_ERROR
1149 where possible.
1150
1151 * symbols.c (scm_sysintern0): Fixed the function name in a
1152 scm_misc_error invocation.
1153
1154 * print.c (scm_simple_format): Do not need SCM_COERCE_SUBSTR, and
1155 use scm_return_first to ward off latent GC bug that Mikael caught.
1156
1157 * async.c: Use SCM_VALIDATE_ASYNC_COPY one place where it wasn't
1158 used before but should've been.
1159
d61f6b02
MD
11602000-01-12 Mikael Djurfeldt <mdj@thalamus.nada.kth.se>
1161
1162 * snarf.h (SCM_PROC1): Replaced SCM (*) (...) with
1163 SCM_FUNC_CAST_ARBITRARY_ARGS.
1164
88423ab1
GB
1165Tue Jan 11 13:44:07 2000 Greg J. Badros <gjb@cs.washington.edu>
1166
1167 * guile-func-name-check.in: Added this script to statically check
1168 #define FUNC_NAME, #undef FUNC_NAME in the source.
1169
1170 * sort.c, posix.c: Fix #undef FUNC_NAME lines to not have trailing
1171 redundant comment, semicolon; caught by new guile-func-name-check
1172 script.
1173
1174 * debug.c: Fix mistaken #define FUNC_NAME for scm_make_iloc.
1175 Caught by new guile-func-name-check-script.
1176
1177 * Makefile.am: Added guile-func-name-check to bin_SCRIPTS
1178
1179 * ramap.c: Fix #if 0'd out code to be syntactically acceptable to
1180 guile-func-name-check.
1181
a00c95d9 1182 * guile-doc-snarf.in: Run guile-func-name-check on the file before
88423ab1
GB
1183 doing the snarf.
1184
7f15e635
GB
1185Tue Jan 11 11:31:10 2000 Greg J. Badros <gjb@cs.washington.edu>
1186
1187 * fports.c, ports.c, ports.h, strports.c, vports.c: Make write
1188 port function take const void*, not void*.
1189
bf121b59
GB
1190Tue Jan 11 11:18:07 2000 Greg J. Badros <gjb@cs.washington.edu>
1191
1192 * scm_validate.h, chars.c, ports.c, print.c, read.c, strings.c,
1193 strop.c: Use SCM_VALIDATE_ICHR, SCM_VALIDATE_ICHR_COPY instead of
1194 SCM_VALIDATE_CHAR, SCM_VALIDATE_CHAR_COPY. Change made for
1195 consistency with the other macros dealing with immediate
1196 characters. (Similar to INT -> INUM change a week or so ago).
1197
7965d98f
GB
1198Tue Jan 11 10:41:46 2000 Greg J. Badros <gjb@cs.washington.edu>
1199
1200 * dynl.c, error.c, eval.c, feature.c, filesys.c, fports.c, list.c, load.c,
1201 net_db.c, read.c, socket.c: Update error messages to use ~A for
1202 %s, ~S for %S to work with new `simple-format' format and be
1203 standardized better.
1204
1205 * print.h, print.c (scm_simple_format): Added `simple-format'
1206 primitive. It's the old scm_display_error, with ARGS now a rest
a00c95d9 1207 parameter, and the destination first instead of last (and a couple
7965d98f
GB
1208 new capabilities inspired by `format' -- #t as destination means
1209 current-output-port, #f means return the formatted text as a
1210 string.
1211
1212 * gh.h, gh_data.c, ports.h, ports.c: Added some missing const specifications.
1213
1214 * backtrace.c (scm_display_error_message): Rewrote to use
1215 scm_simple_format() procedure.
1216
1217 * __scm.h: Added commented-out #define of GUILE_DEBUG_FREELIST
1218
f73d2411
MV
12192000-01-09 Marius Vollmer <mvo@zagadka.ping.de>
1220
1221 Finally applied the libltdl patch from Thomas Tanner, with slight
1222 modifications.
1223
1224 * DYNAMIC-LINKING: Removed because it is obsolete.
1225 * dynl.c: Use ANSI prototypes.
1226 (sysdep_dynl_link): Use lt_dlopenext instead of lt_dlopen.
1227 * scmconfig.h.in: Do not change, as it is automatically generated.
a00c95d9 1228
f73d2411
MV
1229 1999-07-25 Thomas Tanner <tanner@ffii.org>
1230
1231 * dynl-dl.c, dynl-dld.c, dynl-shl.c, dynl-vms.c: deleted
1232 (obsolete)
1233 * Makefile.am: likewise, add INCLTDL (libltdl headers) to
1234 INCLUDES, set dlpreopened files in LDFLAGS, link libguile
1235 against libltdl
1236 * dynl.c: use libltdl if DYNAMIC_LINKING is enabled,
1237 * guile.c: register preloaded modules
1238 * scmconfig.h.in: remove obsolete symbols
1239
38c1d3c4
GH
12402000-01-09 Gary Houston <ghouston@arglist.com>
1241
1242 * These changes should make it unnecessary to call tzset from
1243 Scheme after modifying the TZ environment variable, even if the
1244 system date facilities cache the value.
1245 * stime.c (setzone, scm_localtime): added comments.
1246 (tzset): don't define a noop tzset macro if HAVE_TZSET not defined.
1247 (setzone): don't call tzset.
1248 (restorezone): call tzset only if HAVE_TZSET is defined.
1249 (scm_tzset): don't define if HAVE_TZSET not defined. Change the
1250 doc string to indicate that this procedure isn't likely to do
1251 anything useful.
1252 (scm_localtime, scm_strftime, scm_mktime): call tzset if
1253 LOCALTIME_CACHE is defined.
1254
9359d657
MD
12552000-01-09 Mikael Djurfeldt <mdj@thalamus.nada.kth.se>
1256
1257 * posix.c (scm_sync): Return SCM_UNSPECIFIED.
1258
f25f761d
GH
12592000-01-09 Gary Houston <ghouston@arglist.com>
1260
1261 * eval.c: define scm_unbound_variable_key ('unbound-variable).
1262 scm_lookupcar1: throw an error with key 'unbound-variable instead
1263 of 'misc-error when an unbound variable is encountered.
1264
a00c95d9 1265 * filesys.c (scm_mkdir, scm_rmdir, scm_getcwd, scm_select,
f25f761d
GH
1266 scm_symlink, scm_readlink, scm_lstat),
1267 posix.c (scm_setpgid, scm_setsid, scm_ctermid, scm_tcgetpgrp,
1268 scm_tcsetpgrp, scm_uname, scm_setlocale, scm_mknod, scm_nice,
1269 scm_sync),
a00c95d9 1270 simpos.c (scm_system),
f25f761d
GH
1271 stime.c (scm_times, scm_strptime):
1272 move the HAVE_XXX feature tests out of the procedure bodies.
1273 don't use SCM_SYSMISSING.
1274 scm_validate.h (SCM_SYSMISSING): removed.
1275 error.h, error.c (scm_sysmissing): comment that this is deprecated.
1276 see ChangeLog entry for 1999-12-28.
1277
a4dd2611
GB
1278Sat Jan 8 19:52:04 2000 Greg J. Badros <gjb@cs.washington.edu>
1279
1280 * scm_validate.h (SCM_VALIDATE_BOOL_COPY): Fix typo.
1281
1282Sat Jan 8 17:06:46 2000 Greg J. Badros <gjb@cs.washington.edu>
1283
1284 * backtrace.c: Fix spelling typo in a comment.
1285
1286 * snarf.h: Use new SCM_DOCS macro to encapsulate the non SCM_INIT
1287 text. Reformatted some of the expansions.
1288
5ac36451
GB
1289Fri Jan 7 15:50:46 2000 Greg J. Badros <gjb@cs.washington.edu>
1290
1291 * scm_validate.h (SCM_OUT_OF_RANGE): Use scm_out_of_range_pos to
1292 report the position of the argument.
1293
a00c95d9 1294 * error.h, error.c (scm_out_of_range_pos): Added this function to
5ac36451 1295 take extra "pos" argument, the position number of the errant
a00c95d9 1296 argument.
5ac36451
GB
1297
1298 * debug.c: Use SCM_OUT_OF_RANGE instead of scm_out_of_range.
1299
1300 * snarf.h: Use SCM_HERE and SCM_INIT as names, not SCM_NOTSNARF
1301 and SCM_SNARFING. Also put the %%% in the SCM_INIT since Mikael
1302 prefers that and I'm reasonably indifferent.
1303
1304Fri Jan 7 15:03:32 2000 Greg J. Badros <gjb@cs.washington.edu>
1305
1306 * snarf.h: Factor out differences between C++ and non-C++ into
1307 SCM_FUNC_CAST_ARBITRARY_ARGS macro. Modify all the snarf macro
1308 definitions to use SCM_NOTSNARF and SCM_SNARFING macros (like
1309 Mikael's macros, below, but changed names and SCM_SNARFING no
1310 longer expands to include %%% -- that must appear in the argument
1311 so that the token appears at the call-site as a reminder).
1312
088bb1d4
MD
13132000-01-07 Mikael Djurfeldt <mdj@thalamus.nada.kth.se>
1314
1315 * snarf.h (SCM_INSITU, SCM_INIT): New snarf macros for use in user
1316 snarf macro definitions.
1317
636480e6
MD
13182000-01-06 Mikael Djurfeldt <mdj@mdj.nada.kth.se>
1319
1320 * chars.c (scm_integer_to_char): Use Greg's nice
1321 SCM_VALIDATE_INUM_RANGE macro for argument checking for closer
1322 adherence to R5RS.
1323
7c5628e2
GB
1324Thu Jan 6 11:48:49 2000 Greg J. Badros <gjb@cs.washington.edu>
1325
1326 * *.c, snarf.h: Replace GUILE_PROC1 with SCM_DEFINE1 throughout.
1327
2cc0f8cb
GB
1328Thu Jan 6 11:22:53 2000 Greg J. Badros <gjb@cs.washington.edu>
1329
1330 * Makefile.am (ETAGS_ARGS): Switch to SCM_DEFINE, SCM_DEFINE1
1331 instead of GUILE_PROC.
1332
1333Thu Jan 6 11:21:49 2000 Greg J. Badros <gjb@cs.washington.edu>
1334
a00c95d9 1335 * alist.c: Do not report mismatch errors on some uses of `tmp' (do
2cc0f8cb
GB
1336 this by using SCM_ARG2 instead of `2' in the SCM_VALIDATE_CONS
1337 macro call.
1338
9179dcdd
GB
1339Thu Jan 6 09:54:33 2000 Dirk Herrmann <dirk@ida.ing.tu-bs.de> --gjb applied
1340
1341 * scm_validate.h: Remove some redundant NIMP tests.
1342
1343 * alist.c: minimize scope of the tmp variables, and initialize
1344 them when declared. The strange SCM_NIMP tests are replaced by
1345 SCM_CONSP tests that more closely reflect the intended semantics.
1346 However, we don't get a performance penalty here, because the
1347 SCM_CONSP test was performed by the ALISTCELL test anyway. * The
1348 extremely ugly use of ASRTGO macros was removed: The calls to
1349 ASRTGO were not encapsulated by "#ifndef SCM_RECKLESS", but got a
1350 label parameter that only exists when SCM_RECKLESS is not defined.
1351 This works, because ASRTGO itself is defined in a way that it only
1352 makes use of the label parameter if SCM_RECKLESS is not defined
1353 (shudder!). Does guile make at all use of the possibility to
1354 define SCM_RECKLESS? * Codesize is likely to be reduced, since
1355 instead of two calls to SCM_ASSERT performed by the ALISTCELL test
1356 we now only get one test.
1357
1358 * list.c: Use SCM_NNULLP, not SCM_NIMP as appropriate. Also use
1359 SCM_NULLP instead of SCM_IMP. Drop use of "register" keyword on
1360 some variables in `list?'. Fix `reverse' and `reverse!'
1361 primitives to handle improper lists better.
1362
15b33280
GB
1363Wed Jan 5 11:24:53 2000 Greg J. Badros <gjb@cs.washington.edu>
1364
1365 * *.[ch]: Whitespace changes -- added space after SCM_VALIDATE_*
1366 macros and SCM_DEFINE macros to match GNU coding standards.
1367
ca8cd130
GB
1368Wed Jan 5 11:04:24 2000 Greg J. Badros <gjb@cs.washington.edu>
1369
1370 * *.[ch]: Replace GUILE_PROC w/ SCM_DEFINE.
1371
fb764465
GB
1372Wed Jan 5 10:59:06 2000 Greg J. Badros <gjb@cs.washington.edu>
1373
1374 * *.[ch]: Replace SCM_VALIDATE_INT w/ SCM_VALIDATE_INUM for
1375 better consistency with the names of other SCM_VALIDATE_ macros
1376 and better conformance to guile naming policy.
1377
1378Wed Jan 5 10:50:39 2000 Greg J. Badros <gjb@cs.washington.edu>
1379
1380 * ports.c (s_scm_close_all_ports_except): Use SCM_ARG1 in a
1381 SCM_VALIDATE instead of 1 to avoid a check on the argument (since
1382 it's not the actual name of the formal).
1e484823
GB
1383
1384 * guile-snarf.awk.in: Do argument/number mismatch checking and
1385 print warnings in an Emacs compile-mode parseable format.
1386
1387 * struct.c: Use SCM_ASSERT_RANGE instead of SCM_ASSERT w/
1388 SCM_OUTOFRANGE as 3rd argument.
1389
1390 * random.c: Fix argument/number mismatch (that I introduced :-( ).
1391
1392 * __scm.h: Do not #define SCM_ARG* when snarfing;
1393 lets us distinguish between 1 and SCM_ARG1 when snarfing as only
1394 the former (using the number) requires the argument to match the
1395 formal in the current argument snarfing check.
1396
1397 * snarf.h: Give new definition of SCM_ASSERT when in
a00c95d9 1398 snarfing mode to output a lexically-identifiable sequence that the
1e484823
GB
1399 guile-snarf.awk script uses to verify argument/position matching.
1400
1401 * ramap.c: Remove extraneous #undef FUNC_NAME.
1402
53fc4636
GB
1403Wed Jan 5 08:36:38 2000 Greg J. Badros <gjb@cs.washington.edu>
1404
1405 * guile-doc-snarf.awk.in: Removed -- guile-snarf.awk.in is the
a00c95d9 1406 current version of the same functionality; it writes the .x output
53fc4636
GB
1407 to stdout instead of directly into the file.
1408
1409Wed Jan 5 08:15:04 2000 Greg J. Badros <gjb@cs.washington.edu>
1410
1411 * unif.c, symbols.c, strings.c, stacks.c, random.c, print.c,
1412 posix.c: Eliminated a bunch of SCM_NIMP(..)s that are now
1413 redundant with the safer macros. Patch from Dirk Hermann applied
1414 by hand. Thanks Dirk!
1415
1416 * scm_validate.h: Added SCM_VALIDATE_VECTOR_OR_DVECTOR for some
1417 uses in random.c.
1418
1419 * ramap.c: whitespace change.
1420
3b5345d9
GB
1421Tue Jan 4 14:21:35 2000 Greg J. Badros <gjb@cs.washington.edu>
1422
1423 * options.c, objects.c, keywords.c, gc.c: Some redundant SCM_NIMP
1424 removals from Dirk Hermann.
1425
1426 * alist.c: Rename formals to match the parameter names in the
1427 documentation, updates to documentation. Thanks Dirk Hermann!
1428
169aec65
MD
14292000-01-04 Mikael Djurfeldt <mdj@mdj.nada.kth.se>
1430
db62436e
MD
1431 * eval.c (SCM_CEVAL): Reverse order of
1432 scm_stack_checking_enabled_p and SCM_STACK_OVERFLOW_P
1433 (Thanks to Brad Knotwell.)
169aec65 1434
da43d822
GB
1435Mon Jan 3 08:30:02 2000 Greg Harvey <Greg.Harvey@thezone.net> (applied --01/03/00 gjb)
1436
1437 * gc.c (scm_debug_newcell): Added SCM_SETCAR of the newly
a00c95d9 1438 allocated cell.
da43d822
GB
1439
1440 * pairs.h: Added a comment about the need for the SCM_SETCAR in
1441 SCM_NEWCELL macro.
1442
1443Mon Jan 3 08:25:19 2000 Greg J. Badros <gjb@cs.washington.edu>
1444
1445 * dynl-vms.c, debug.c, coop-threads.c, backtrace.c, eval.c: More
1446 SCM_NIMP tests that were redundant are now eliminated. Patches
1447 from Dirk Hermann applied by hand.
1448
339999c7 1449The ChangeLog continues in the file: "ChangeLog-1996-1999"