* threads.h: Added #include "libguile/throw.h". (Thanks to
[bpt/guile.git] / libguile / ChangeLog
CommitLineData
a00c95d9
ML
12000-03-18 Michael Livshin <mlivshin@bigfoot.com>
2
3 * tags.h: (SCM_DOUBLE_CELLP, SCM_NDOUBLE_CELLP): new macros.
4
5 * gc.h: (typedef struct scm_freelist_t) remove from here.
6
7 * gc.c: (CELL_UP, CELL_DN) make these macros take additional
8 parameter (the span).
9 (CLUSTER_SIZE_IN_BYTES, ALIGNMENT_SLACK) new macros.
10 (typedef struct scm_freelist_t) move here from gc.h, it had no
11 business being externally visible.
12 (typedef struct scm_heap_seg_data_t) renamed from
13 scm_heap_seg_data, to be style-compliant.
14 (scm_mark_locations) if the possible pointer points to a
15 multy-cell, check that it's properly aligned.
16 (init_heap_seg) alighn multy-cells properly, work with the
17 assumption that the segment size divides cleanly by cluster size
18 (so that there's no spill).
19 (round_to_cluster_size) new function.
20 (alloc_some_heap, make_initial_segment) use round_to_cluster_size
21 to satisfy the new init_heap_seg invariant.
22
28b3236d
DH
232000-03-18 Dirk Herrmann <D.Herrmann@tu-bs.de>
24
25 * _scm.h: Don't include async.h everywhere...
26
27 * eq.c eval.c iselect.c: ... only include it here.
28
ba11fd4c
DH
292000-03-18 Dirk Herrmann <D.Herrmann@tu-bs.de>
30
31 * _scm.h: Don't include root.h everywhere...
32
33 * async.c continuations.c eq.c eval.c evalext.c feature.c gc.c
34 gdbint.c gsubr.c ioext.c keywords.c lang.c load.c macros.c
35 numbers.c objprop.c ports.c print.c procprop.c ramap.c read.c
36 srcprop.c stackchk.c stacks.c strports.c symbols.c unif.c
37 variable.c vectors.c vports.c: ... only include it here.
38
7ab3fdd5
DH
392000-03-17 Dirk Herrmann <D.Herrmann@tu-bs.de>
40
41 * _scm.h: Don't include strings.h everywhere...
42
43 * backtrace.c dynl.c error.c feature.c filesys.c fports.c gc.c
44 gdbint.c ioext.c load.c net_db.c numbers.c objects.c options.c
45 ports.c posix.c print.c procs.c random.c read.c regex-posix.c
46 simpos.c socket.c stacks.c stime.c strop.c strports.c struct.c
47 symbols.c unif.c vectors.c version.c vports.c: ... only include it
48 here.
49
f04d8caf
DH
502000-03-17 Dirk Herrmann <D.Herrmann@tu-bs.de>
51
52 * _scm.h: Don't include ports.h everywhere...
53
54 * arbiters.c backtrace.c debug.c dynl.c dynwind.c eval.c feature.c
55 fluids.c gc.c gdbint.c guardians.c hash.c keywords.c mallocs.c
56 numbers.c objects.c print.c read.c root.c smob.c srcprop.c
57 stackchk.c strports.c struct.c throw.c variable.c: ... only
58 include it here.
59
003d1fd0
DH
602000-03-17 Dirk Herrmann <D.Herrmann@tu-bs.de>
61
62 * _scm.h: Don't include vectors.h everywhere...
63
64 * eq.c eval.c filesys.c gc.c gsubr.c guardians.c hash.c hashtab.c
65 keywords.c net_db.c numbers.c objects.c posix.c print.c procprop.c
66 procs.c ramap.c random.c read.c scmsigs.c socket.c sort.c stime.c
67 strports.c symbols.c unif.c vports.c weaks.c: ... only include it
68 here.
69
0fa27efa
DH
702000-03-17 Dirk Herrmann <D.Herrmann@tu-bs.de>
71
72 * genio.h: removed. (Only content was '/* delete me */'.)
73
74 * Makefile.am arbiters.c backtrace.c debug.c dynl.c dynwind.c
75 error.c filesys.c fluids.c gc.c gsubr.c guardians.c keywords.c
76 libguile.h mallocs.c numbers.c print.c random.c read.c root.c
77 srcprop.c stackchk.c struct.c threads.c throw.c variable.c:
78 Removed reference to genio.h
79
148f31de
MD
802000-03-17 Mikael Djurfeldt <mdj@thalamus.nada.kth.se>
81
82 * gc.c, gc.h: Cleanup of the change of 2000-03-15.
83 Cluster sizes are now independent of GC trigger values.
84 GUILE_GC_TRIGGER_n can now specify a relative trigger value:
85 A negative integer gives fraction of total heap size in percent.
1eb489a2 86 (SCM_GC_TRIGGER_1, SCM_GC_TRIGGER_2): Default values set to -40.
148f31de
MD
87
88 * init.c (scm_boot_guile_1): Introduced new variable
89 GUILE_MAX_SEGMENT_SIZE; New environment variable names:
90 GUILE_INIT_SEGMENT_SIZE_1, GUILE_GC_TRIGGER_1,
91 GUILE_INIT_SEGMENT_SIZE_2, GUILE_GC_TRIGGER_2
92
6d0f81dd 932000-03-16 Mikael Djurfeldt <mdj@mdj.nada.kth.se>
a00c95d9 94
6d0f81dd
MD
95 * __scm.h (GC_FREE_SEGMENTS): Disable this until we have made
96 freeing of segment work with the new GC scheme. (Thanks to
bc2c8d98
MD
97 Michael Livshin.) Oops, also happened to make GUILE_NEW_GC_SCHEME
98 the default, but I'll let this change stay in CVS Guile since this
99 code is not expected to contain serious bugs.
a00c95d9 100
17351a6f 1012000-03-16 Mikael Djurfeldt <mdj@thalamus.nada.kth.se>
c5133dc9 102
6c7c449e
MD
103 * gc.c, gc.h (scm_map_free_list): Define also if GUILE_DEBUG is
104 defined.
5a551542
MD
105 (scm_free_list_length): New procedure (GUILE_DEBUG).
106 Fixed a small but serious bug introduced by the previous change.
107
17351a6f
MD
108 * gc.c (scm_gc_sweep): Moved variable n_objects to inner sweep
109 loop and declare as register.
6c7c449e 110
c5133dc9
MD
111 * gc.c (scm_gc_sweep): Sigh... forgot to clear private freelists
112 after GC.
113
3820581c
GB
114Wed Mar 15 08:27:04 2000 Greg J. Badros <gjb@cs.washington.edu>
115
116 * fluids.c: Docstring patch from Keisuke Nishida. Some
117 reindentation, too, and a couple formals renamed. Should
118 fluid-set! return UNSPECIFIED instead of a value?
119
120Wed Mar 15 08:24:58 2000 Greg J. Badros <gjb@cs.washington.edu>
121
122 * Makefile.am: Separate out DOT_X_FILES and DOT_DOC_FILES, and
a00c95d9 123 generate the latter from the concrete listing of the former. Then
3820581c
GB
124 make guile-procedures.txt depend on DOT_DOC_FILES instead of
125 *.doc, so that rebuilding it works.
126
dd6390bf
GB
127Wed Mar 15 08:12:14 2000 Greg J. Badros <gjb@cs.washington.edu>
128
129 * libguile.h: Include libguile/validate.h. Thanks Keisuke Nishida!
130
131 * guile-snarf.awk.in: Replace docstring line-ending \n" and \n\n"
132 with nothing and \n, respectively. Thanks Keisuke Nishida for
133 noticing this problem.
134
4fdb0ae2
MD
1352000-03-15 Mikael Djurfeldt <mdj@mdj.nada.kth.se>
136
137 * __scm.h (GUILE_NEW_GC_SCHEME): Define this if you want to test a
138 new way of allocating heap. It makes Guile fast, but still
139 contains bugs.
140
141 * gc.c, gc.h, pairs.h, init.c: Implementation of a new way of
142 allocating heap. The basic idea is to trigger GC every Nth
143 allocated cell and grow heap when free list runs out. The scheme
144 has been extended so that GC isn't triggered until all remaining
145 cells are used. The implementation is also prepared for
146 development in the direction of POSIX threads.
147
148 * gc.c (SCM_EXPHEAP): In order to grow by a factor of 1.5,
149 SCM_EXPHEAP should return half of the heap size.
150
3d8d1283
MD
1512000-03-14 Mikael Djurfeldt <mdj@thalamus.nada.kth.se>
152
5f4edb86
MD
153 The following change to init.c is only enabled if Guile was
154 configured with --enable-guile-debug.
a00c95d9 155
5f4edb86
MD
156 * init.c (scm_i_getenv_int): New function.
157 (scm_boot_guile_1): Use the environment variables
158 GUILE_INIT_HEAP_SIZE, GUILE_INIT_HEAP_SIZE2 to select heap size if
159 they exist. (This may be replaced by a Scheme level mechanism in
160 the future.)
161
3d8d1283 162 * objprop.c (s_scm_set_object_property_x): Use scm_assq instead of
90e77861 163 scm_assoc. (Thanks to Keisuke Nishida.)
3d8d1283 164
b0e37c83
MD
1652000-03-14 Mikael Djurfeldt <mdj@mdj.nada.kth.se>
166
167 * eval.c, lang.c, lang.h (scm_lisp_nil, scm_lisp_t): Renamed from
2b260c0f 168 scm_nil, scm_t. (Thanks to Keisuke Nishida.)
b0e37c83 169
16d35552
MD
1702000-03-14 Mikael Djurfeldt <mdj@thalamus.nada.kth.se>
171
5ebf0091
MD
172 * init.c (scm_boot_guile_1): Use same initial segment size for
173 1-word and 2-word segments. Having the smaller size causes Guile
174 to GC too often. Obviously something needs to be done to allow
175 for a smaller 2-word segment without this to happen. (The amount
176 of heap for each type should be automatically adapted to the
177 application somehow.)
178
31ed4cff
MD
179 [Almost all of these changes should be documented in the NEWS
180 file.]
181
cf2c7413
MD
182 * gc.h (scm_freelist_t): New type.
183
184 * pairs.h (SCM_NEWCELL, SCM_NEWCELL2): Use new style freelists.
185
186 * gc.c (SCM_INIT_HEAP_SIZE): Changed from 32768 --> 40000 so that
187 all of Guile basics fits into one segment and there suitable room
188 for work.
189 (SCM_EXPHEAP): Now takes an argument. Grow by a factor of 1.5
190 instead of 2.
191 (scm_freelist, scm_freelist2): Now of type scm_freelist_t.
192 Freelists now contains information about object span, cells
193 collected and amount of cells in heap segments belonging to the
194 list.
195 (scm_heap_size, scm_gc_cells_collected): Removed.
196
197 * init.c (scm_boot_guile_1): Make 2-word segment 8K (512 cells).
198
16d35552
MD
199 * Makefile.am (libguile_la_LDFLAGS): Bumped library version
200 number.
201
cf2c7413 202 * __scm.h eq.c, eval.c, gc.c, gc.h, gh_data, hash.c, numbers.c,
16d35552
MD
203 numbers.h, objects.c, ramap.c, random.c, unif.c, unif.h: Extensive
204 rewrite of handling of real and complex numbers.
205 (SCM_FLOATS, SCM_SINGLES): These #ifdef conditionals have been
206 removed along with the support for floats. (Float vectors are
207 still supported.)
208
209 * tags.h (scm_tcs_bignums): Removed.
210 (scm_tc16_bigpos, scm_tc16_bigneg): Replaced by scm_tc16_big.
211 Use SCM_BIGSIGN(x) to test for sign!
212 (scm_tc16_big): The new bignum type.
213 (SCM_REAL_PART, SCM_IMAG_PART): Removed.
214
215 * numbers.h (SCM_BIGSIGN): Sign moved to bit 16.
216 (scm_makdbl): Deprecated.
217 (SCM_NEWREAL, SCM_NEWCOMPLEX): New macros.
218 (SCM_SINGP): Deprecated.
219 (SCM_FLO): Removed.
220 (SCM_INEXP, SCM_CPLXP): Deprecated.
221 (SCM_INEXACTP, SCM_COMPLEXP): New macros.
222 (SCM_COMPLEX_REAL, SCM_COMPLEX_IMAG): Renamed from
223 SCM_REAL, SCM_IMAG (and now only valid for complex numbers).
224 (SCM_REAL, SCM_IMAG): New, *deprecated*, selectors which work both
225 for doubles and complex numbers.
226 (SCM_REAL_VALUE): New selector for doubles.
227 (scm_double_t, scm_complex_t): New types.
228 (scm_dbl): Removed.
229
230 * numbers.c (scm_floprint, scm_floequal): Removed.
231 (scm_print_real, scm_print_complex, scm_real_equalp,
232 scm_complex_equalp): New functions.
233
234 * unif.c (scm_makflo): Removed.
235
236 * smob.h (SCM_SMOB_PREDICATE): New macro.
237 (SCM_NEWSMOB2, SCM_RETURN_NEWSMOB2, SCM_NEWSMOB3,
238 SCM_RETURN_NEWSMOB3): New macros.
239
2401999-11-21 Michael Livshin <mlivshin@bigfoot.com>
241
242 The following changes implement primitive support for double cells
243 (i.e. four-word cells) and change the representation of some
244 things to multi-cells instead of cons+malloc. (Applied and
245 modified by mdj.)
246
247 * pairs.h (SCM_NEWCELL2): double-cell variants of SCM_NEWCELL.
248 (SCM_CELL_WORD, SCM_CELL_WORDLOC, SCM_SET_CELL_WORD): primitive
249 multi-cell access macros (used by the ones below).
250 (SCM_CELL_WORD[0-3], SCM_SET_CELL_WORD[0-3]): multi-cell access
251 macros.
252
253 * gc.c (scm_freelist2): multi-cell freelists.
254 (inner_map_free_list): map_free_list, parameterized on ncells.
255 "nn cells in segment mm" was misleading for ncells > 1; changed to
256 "objects". still print cells too, though.
257 (scm_map_free_list): rewritten using inner_map_free_list.
258 (scm_check_freelist): get freelist as parameter, since now we have
259 more than one.
260 (scm_debug_newcell2): multi-cell variants of
261 scm_debug_newcell.
262 (scm_gc_for_newcell): take ncells and freelist pointer as
263 parameters.
264 (scm_gc_mark): add case for tc7_pws (procedures with setters are
265 now double cells).
266 (scm_gc_sweep): don't free the float data, since it's not malloced
267 anymore.
268 (init_heap_seg): didn't understand what n_new_objects stood for,
269 so changed to n_new_cells.
270 (make_initial_segment): new function, makes an initial segment
271 according to given ncells.
272 (scm_init_storage): call make_initial_segment, for ncells={1,2,3}.
273
274 * numbers.c (scm_makdbl): no malloc'ing needed, so the
275 {DEFER,ALLOW}_INTS thing removed.
276
277 * numbers.h (struct scm_dbl): changed to represent a double cell,
278 with the number in the second half.
16d35552
MD
279
280 * dynwind.c: changed the wind-guards representation to double
281 cell.
282
283 * procs.c, procs.h: changed the procedure-with-setter representation
284 to double cell.
285
286 * async.c, async.h: made async representation a double cell.
287
16d35552 288 * dynl.c: made dynamic_obj representation a double cell.
a00c95d9 289
b70ecbd0
GH
2902000-03-13 Gary Houston <ghouston@arglist.com>
291
292 * ports.c (flush_void_port): renamed to flush_port_default.
293 (end_input_void_port): renamed to end_input_default.
294
295 * init.c (scm_standard_stream_to_port): create a void port instead
296 of opening /dev/null if the standard file descriptors are bad.
297 advantages: no portability problems, doesn't waste a file descriptor,
298 simplifies the code (thanks to Marius for the idea).
299
300 * vports.c (s_scm_make_soft_port): call scm_port_non_buffer.
301
302 * void ports: make reading from a void port give EOF instead of
303 segv:
304 * ports.c (s_scm_sys_make_void_port): modified docstring.
305 (fill_input_void_port): new proc.
306 (scm_init_ports): set up fill_input_void_port.
307 * ports.c (scm_port_non_buffer): new proc.
308 (scm_void_port): call scm_port_non_buffer.
309
310 * fports.c (scm_setvbuf): docstring: remove the fcntl documentation
311 which was incorrectly appended.
312
fdc7ea2d
MD
3132000-03-13 Mikael Djurfeldt <mdj@mdj.nada.kth.se>
314
315 * guile-doc-snarf.in: Don't use absolute path for `sed'. (Note
316 that we can't use autoconf for this. Autoconf itself relies on
26fba922 317 the existence of `sed' somewhere on your path.) (Thanks to Dirk
fdc7ea2d 318 Herrman.)
a00c95d9 319
68933ba3
MD
3202000-03-13 Mikael Djurfeldt <mdj@thalamus.nada.kth.se>
321
b44a555a
MD
322 * Makefile.am (libguile_la_SOURCES): Moved iselect.c here from
323 EXTRA_libguile_la_SOURCES.
324
325 * iselect.h: Always declare scm_internal_select.
326
327 * iselect.c (scm_internal_select): Added SCM_ASYNC_TICK at the
328 end. Also let scm_internal_select be a real function also when
329 not using threads.
330
68933ba3
MD
331 * __scm.h (SCM_TICK): Oops! Forgot to put SCM_ASYNC_TICK here...
332
c7f6ea11
MD
3332000-03-13 Mikael Djurfeldt <mdj@mdj.nada.kth.se>
334
335 * __scm.h (SCM_ALLOW_INTS, SCM_REALLOW_INTS): Removed call to
336 SCM_ASYNC_TICK. (This is a preparation for POSIX threads support,
337 and kind of an experiment: Will this cause problems?)
338
62dbc244
GB
339Sun Mar 12 13:26:30 2000 Greg J. Badros <gjb@cs.washington.edu>
340
341 * Makefile.am: Added *.doc to DISTCLEANFILES.
342
4f2f645d
GH
3432000-03-12 Gary Houston <ghouston@arglist.com>
344
345 * fports.c (scm_fdes_to_port): call fcntl F_GETFL to test that
346 the fdes is valid before doing anything else. check that
347 the file descriptor supports the modes required.
348 (scm_fport_buffer_add): don't throw an error if fstat doesn't
349 work: just use the default buffer size.
350
351 * throw.c: change an outdated comment about scm_internal_catch
352 BODY: it doesn't take a jumpbuf arg.
353
354 * init.c (scm_standard_stream_to_port): install a handler in case
355 scm_fdes_to_port throws an error. don't check here whether the
356 file descriptor is valid, since scm_fdes_to_port will do that.
357 set the revealed count depending on whether the port got the
358 standard file descriptor.
359 (stream_body_data): new type.
360 (stream_body, stream_handler): new procs.
361
7f782a0a
MD
3622000-03-12 Mikael Djurfeldt <mdj@thalamus.nada.kth.se>
363
67673f75
MD
364 * stacks.c, stacks.h, struct.c, tags.h, unif.c (scm_bits_t):
365 Renamed from SCMWORD.
366
367 * tags.h (SCM_NCELLP): Removed (SCMWORD).
368
f1267706 369 * arbiters.c (SCM_ARB_LOCKED): Use SCM_UNPACK_CAR.
67673f75 370
74a426ae
MD
371 * async.c, boolean.h, debug.c, dynl.c, dynwind.c, eval.c, eval.h,
372 feature.h, filesys.h, fluids.h, fports.c, fports.h, gc.c, gc.h,
373 hash.c, keywords.h, macros.c, numbers.c, numbers.h, objects.c,
374 objects.h, options.c, pairs.h, ports.c, ports.h, print.c,
375 procs.h, ramap.c, read.c, smob.c, smob.h, srcprop.h, stacks.c,
376 stacks.h, strports.c, struct.c, struct.h, tag.c, tags.h,
377 throw.c, unif.c, unif.h, variable.h, vectors.h, weaks.c,
f1267706 378 weaks.h (SCM_PACK, SCM_UNPACK, SCM_UNPACK_CAR): Renamed from
74a426ae
MD
379 SCM_ASSCM, SCM_ASWORD, SCM_CARW).
380
7f782a0a
MD
381 * numbers.h (SCM_SRS, SCM_INUM): Corrected SCM_ASSCM/ASWORD fixes.
382
383 * alist.c, eval.c, net_db.c, posix.c, print.c, snarf.h, struct.c,
384 tags.h: Fixed copyright notices.
385
386 * struct.c, coop-threads.c: SCM_ASSCM/ASWORD fixes.
0cd87628 387
7f782a0a 3882000-03-12 Marius Vollmer <mvo@zagadka.ping.de>
a00c95d9 389
0cd87628
MV
390 * init.c (scm_standard_stream_to_port): Check whether the file
391 descriptor is valid and substitute "/dev/null" when not.
a00c95d9 392
f3b5e185
MD
3932000-03-12 Mikael Djurfeldt <mdj@thalamus.nada.kth.se>
394
395 * coop-defs.h (struct timespec): Conditionally defined.
396
397 * coop.c (coop_condition_variable_timed_wait_mutex): Use ETIMEDOUT
398 instead of ETIME.
38eca29b
MD
399
400 * readline.c (match_paren): Bugfix: First arg to select is not
401 number of descriptors but the number of the highest descriptor +
402 1.
403
404 This is a preliminary attempt at a cleanup of the threads support
405 code. It moves things to better places, makes arguments more
406 consistent with the POSIX API (which is used in GNOME's glib), and
407 adds new functionality.
a00c95d9 408
38eca29b
MD
409 * readline.c (scm_init_readline): Added new arg to scm_init_mutex.
410
411 * coop-defs.h (scm_mutex_trylock): New macro: alias for
412 coop_mutex_trylock.
413 (scm_cond_init): Changed definition to
414 coop_new_condition_variable_init.
a00c95d9 415
38eca29b
MD
416 * coop.c: #include <errno.h>
417 (coop_timeout_qinsert): Moved here from iselect.c
418 (coop_new_mutex_init, coop_new_condition_variable_init): New
419 functions. The strange names are temporary. Use scm_mutex_init
420 and scm_cond_init instead.
421 (coop_mutex_trylock): New function. Uses errno.h:EBUSY. errno.h
422 is ANSI C, but should we check for individual error codes in
423 configure.in?
424 (coop_condition_variable_timed_wait_mutex): New function.
425 (coop_key_create, coop_setspecific, coop_getspecific,
7f782a0a 426 coop_key_delete): New functions.
38eca29b
MD
427
428 * iselect.c (coop_timout_qinsert): Moved to coop.c
429
32e1616c
MD
4302000-03-11 Mikael Djurfeldt <mdj@thalamus.nada.kth.se>
431
432 * pairs.h (SCM_SETAND_CAR, SCM_SETAND_CDR, SCM_SETOR_CAR,
433 SCM_SETOR_CDR): Corrected SCM_ASSCM/WORD fixes.
434
435 * tags.h (SCM_VOIDP_TEST): Renamed from VOIDP_TEST.
436 Layout cleanups.
437
438 * objects.h (SCM_CLASS_FLAGS, SCM_OBJ_CLASS_FLAGS,
439 SCM_SET_CLASS_INSTANCE_SIZE), struct.h (SCM_STRUCT_VTABLE_DATA),
440 proc.h (SCM_CLOSCAR): SCM_ASSCM/WORD fixes.
441
442 * eval.c (scm_lookupcar1): Inserted SCM_ASWORD in expressions
443 dealing with ilocs.
444
d5c39069
GB
4452000-03-11 Dale P. Smith <dpsm@en.com>, applied by Greg J. Badros, <gjb@cs.washington.edu>
446
447 * numbers.c (scm_copy_big_dec, scm_copy_smaller, scm_big_ior,
448 scm_big_xor, scm_big_and, scm_big_test): Added new lowlevel bignum
449 logical functions from SCM.
450
451 (logand, logior, logxor, logtest, logbit?): Extended scheme
452 logical functions to use bignums from SCM.
453
454 (lognot): Removed call to `SCM_VALIDATE_INUM' that prevented
455 lognot from using bignums.
456
3e892913
GB
457Thu Mar 9 11:33:25 2000 Greg J. Badros <gjb@cs.washington.edu>
458
a00c95d9 459 * vectors.h (SCM_VELTS_AS_STACKITEMS): Added this macro to help in
3e892913
GB
460 eliminating some warnings.
461
462 * unif.c, strports.c, print.c, options.c: Fix some warnings on
463 mis-use of SCM/long
464
465 * gc.c, gc.h: Added scm_return_first_int(), and added comment re:
466 what the scm_return_first* functions do.
467
7ac030d6
GB
4682000-03-09 Han-Wen Nienhuys <hanwen@cs.uu.nl>, applied by Greg J. Badros, <gjb@cs.washington.edu>
469
470 * libguile/*.[ch]: make a distinction between SCM as a generic
471 name for a Scheme object (now a void*), and SCM as 32 bit word for
472 storing tags and immediates (now a long int). Introduced
473 SCM_ASWORD and SCM_ASSCM for conversion. Fixed various dubious
474 code in the process: arbiter.c (use macros), unif.c (scm_array_p),
a00c95d9 475
f635d2d4
GB
476Wed Mar 8 10:15:59 2000 Greg J. Badros <gjb@cs.washington.edu>
477
478 * numbers.c: Use SCM_VALIDATE_LONG_COPY, and longs, not ints, in
479 various logXXX primitives. Thanks Eric Moore!
480
9eaa7fb6
GB
481Tue Mar 7 08:05:22 2000 Greg J. Badros <gjb@cs.washington.edu>
482
483 * run-test, remaining-docs-needed: Added these scripts. The
484 second one is only temporary until the docstring additions are
485 complete. run-test may best live on, but is here mostly for
486 convenience and awareness for now.
487
488 * hash.c: Docs, minor cleanup patch from Dirk Herrman.
489
49673698
GB
490Thu Mar 2 16:06:58 2000 Greg J. Badros <gjb@cs.washington.edu>
491
492 * error.h, error.c: Added `scm_wrong_type_arg_msg' to support
493 displaying the expected type. Use SCM_LISTn in a couple places
494 instead of scm_cons-ing by hand.
495
496 * __scm.h: Added SCM_ASSERT_TYPE macro.
497
498 * validate.h, scm_validate.h: Added the former, as a renamed
499 version of the latter with SCM_ASSERT_TYPE used in
500 SCM_MAKE_VALIDATE (instead of just SCM_ASSERT)
501
502 * Makefile.am: Rename scm_validate.h to validate.h.
503
504 * *.c, *.h: Include validate.h, not scm_validate.h (old name's
505 prefix was superfluous).
506
417bdef8
GB
507Thu Mar 2 15:33:12 2000 Greg J. Badros <gjb@cs.washington.edu>
508
509 * hashtab.c: Improved documentation for lots of functions. Added
510 handwritten docs for `hash-fold'.
511
512Thu Mar 2 15:13:25 2000 Greg J. Badros <gjb@cs.washington.edu>
513
514 * list.c: Added hand-written docs for `del{q,v,ete}1!'.
515
26a760c6
GB
516Thu Mar 2 12:38:30 2000 Greg J. Badros <gjb@cs.washington.edu>
517
a00c95d9 518 * list.c: Moved append docs to append! Thanks Dirk Hermann. Also,
26a760c6
GB
519 added append docs from R4RS.
520
521 * strings.c: Docstring typo fix, + eliminate unneeded IMP tests.
522 Thanks Dirk Hermann!
523
524 * chars.h: Provide SCM_CHARP, SCM_CHAR, SCM_MAKE_CHAR and
525 deprecate SCM_ICHRP, SCM_ICHR, SCM_MAKICHR. Thanks Dirk Hermann!
a00c95d9 526
26a760c6
GB
527 * *.h, *.c: Use SCM_CHARP, SCM_CHAR, SCM_MAKE_CHAR throughout.
528 Drop use of SCM_P for function prototypes... assume an ANSI C
529 compiler. Thanks Dirk Hermann!
530
898942f8
GB
531Sat Feb 19 12:20:12 2000 Greg J. Badros <gjb@cs.washington.edu>
532
533 * ports.c: Made `set-port-column!' and `set-port-line!' each
534 return SCM_UNSPECIFIED instead of a (not-scheme-object) integer
535 that caused a seg fault. Also fixed `set-port-column!'s
536 docstring. Thanks Han-Wen Nienhuys for finding the bug!
537
84a3df2c
GB
538Sun Feb 13 19:11:42 2000 Greg J. Badros <gjb@cs.washington.edu>
539
540 * arbiters.c, eq.c, gc.c, guardians.c, list.c, ports.c, print.c,
a00c95d9 541 regex-posix.c, scmsigs.c, stime.c, strings.c, variable.c, stime.c,
84a3df2c
GB
542 strings.c, variable.c: Added lots of documentation, cleaned up
543 some existing documentation. Occasionally changed formal params
544 to match docs. Also folded an #ifdef into the inners of a
545 primitive instead of having two copies of the primitive
546 (`get-internal-real-time', from stime.c)
547
548Sun Feb 13 18:12:19 2000 Greg J. Badros <gjb@cs.washington.edu>
549
550 * ports.c: Added docs for primitives missing them. Written by
551 hand.
552
3f557de6
GB
553Sun Feb 13 09:40:36 2000 Greg J. Badros <gjb@cs.washington.edu>
554
555 * guile-doc-snarf.in: Use ${AWK} -f guile-func-name-check, not
556 just execing guile-func-name-check. Thanks Michael Livshin!
557
ddcccdb3
GB
558Thu Feb 10 11:43:23 2000 Greg J. Badros <gjb@cs.washington.edu>
559
560 * guile-snarf.awk.in: Tweak to work with Sun/HP awk, removed some
561 dead code. Patch from Michael Livshin.
562
563 * guile-doc-snarf.in: Tweak to work with Sun/HP sh. Patch from
564 Michael Livshin.
565
720e8692
GH
5662000-02-09 Gary Houston <ghouston@arglist.com>
567
568 * init.c (scm_init_standard_ports): when stdout is a tty, make the
569 current-output-port unbuffered by default. this is less confusing
570 for interactive use. it was line-buffered because of a
571 performance problem with unbuffered ports, but I think it will be
572 OK now.
573
43ff3170
GH
5742000-02-08 Gary Houston <ghouston@arglist.com>
575
576 * __scm.h: don't define long_long or ulong_long if HAVE_LONG_LONGS
577 is not defined.
578
579 * stime.c (scm_localtime, scm_mktime): if neither HAVE_TM_ZONE nor
580 HAVE_TZNAME are defined, use an empty string instead of giving two
581 spurious compile-time errors.
582
4ba47302
GB
583Tue Feb 8 13:57:46 2000 Greg J. Badros <gjb@cs.washington.edu>
584
585 * ports.c: Doc patches from Richard Kim. Pasted from MIT Scheme.
586 Thanks Richard!
587
09a617f7
GB
588Mon Feb 7 09:07:31 2000 Greg J. Badros <gjb@cs.washington.edu>
589
590 * macros.c: Doc patches from Richard Kim. Pasted from scm.texi.
591
9dbcf010
GB
592Sun Feb 6 20:26:21 2000 Greg J. Badros <gjb@cs.washington.edu>
593
594 * pairs.c: Doc patches from Richard Kim. Pasted from MIT Scheme
595 (which is GNU GPL'd).
596
bd9e24b3
GH
5972000-01-31 Gary Houston <ghouston@arglist.com>
598
599 * strings.h: don't use SCM_P. don't include <string.h>.
600 * error.c, gh_data.c, ports.c, script.c, strop.c: include <string.h>.
a00c95d9 601
bd9e24b3
GH
602 * strings.c (scm_string_ref): make the 2nd argument compulsory.
603 previously it defaulted to zero for no good reason that I can see.
604 use a local variable for SCM_INUM (k). replace
605 SCM_VALIDATE_INUM_DEF with SCM_VALIDATE_INUM_COPY.
606
607 (scm_makfromstr): cosmetic changes.
608
609 (scm_string): Accept only chars in the list, not strings, for
610 conformance to R5RS (particularly for list->string, which is
611 supposed to be the inverse of string->list.) remove
612 SCM_DEFER_INTS/SCM_ALLOW_INTS, which is unnecessary since
613 scm_makstr handles the cell allocation. when reporting wrong-type
614 arg, don't report the position as 1.
615
616 * posix.c (scm_init_posix): intern PIPE_BUF if it's defined.
617
28d77376
GH
6182000-01-29 Gary Houston <ghouston@arglist.com>
619
ae1b098b
GH
620 * posix.c (scm_pipe): rewrote the docstring.
621
28d77376
GH
622 * filesys.c (scm_select, retrieve_select_type, get_element,
623 fill_select_type, set_element): modified so that Scheme
624 "select" tests port buffers for the ability to provide input
625 or accept output. Previously only the underlying file descriptors
626 were checked. Rewrote the docstring.
a00c95d9 627
7f1497ce
GB
628Thu Jan 27 10:14:25 2000 Greg J. Badros <gjb@cs.washington.edu>
629
630 * vectors.c, symbols.c, strorder.c: Documentation cut and pasted
631 from Gregg Reynolds. Thanks Gregg!
632
2288ff9b
GB
633Thu Jan 27 09:59:38 2000 Greg J. Badros <gjb@cs.washington.edu>
634
635 * strop.c (scm_i_index): Obfuscated commented-out SCM_DEFINE by
636 adding "x" prefix to the line so that guile-func-name-check
637 doesn't complain unnecessarily.
638
349af6dd
GB
639Wed Jan 26 17:33:52 2000 Greg J. Badros <gjb@cs.washington.edu>
640
641 * throw.c: Factor out an #ifdef/#else/#endif choice more finely
642 for maintainability.
643
644 * strop.c: Documentation added by Gregg A. Reynolds. Pasted in
645 from qdocs, RnRs.
646
a28eb127
GB
647Wed Jan 26 10:02:11 2000 Greg J. Badros <gjb@cs.washington.edu>
648
a00c95d9 649 * tag.c: Added doc for `tag', but mark as deprecated since Mikael
a28eb127
GB
650 suggests removing tag.c altogether (and using a new `class-of'
651 instead).
652
653 * strings.c: Added documentation from Gregg A. Reynolds. Edited
654 a bit by me to use FOO instead of @var{foo} and to have the
a00c95d9 655 summary come before preconditions on input. Also dropped trailing
a28eb127
GB
656 (rnrs) note.
657
658 * gsubr.c: Do not use SCM_DEFINE for `gsubr-apply'. Register the
659 function with scm_make_subr_opt w/ last arg of 0 so it is not
660 visible at the Scheme level. Mikael says that this is the right
661 thing because the first arg to the proc is the guts of a compiled
662 closure and shouldn't be exposed to the Scheme level.
663
ac2259fc
GB
664Tue Jan 25 17:15:47 2000 Greg J. Badros <gjb@cs.washington.edu>
665
666 * sort.c: typo in comment fixed.
667
668 * keywords.c: Added documentation.
669
670 * guardians.c: Added documentation (could be better).
671
672 * gc.c: Added docs for gc-set-debug-check-freelist.
673
674 * eq.c: Added docs for eq?, eqv? equal? abridged from R4RS.
675
676 * boolean.c: Added docs for `not', `boolean?' (by hand).
a00c95d9 677
d928e0b4
GB
678Tue Jan 25 13:28:56 2000 Greg J. Badros <gjb@cs.washington.edu>
679
680 * random.c: Added documentation, from SLIB page:
681 http://angela.ctrl-c.liu.se/~calle/scheme/slib_toc.html
682
683Mon Jan 24 17:50:20 2000 Greg J. Badros <gjb@cs.washington.edu>
684
685 * variable.c, version.c: Added documentation, written by hand
686 since I could not find anything already written that was
687 relevant.
688
d831b039
GH
6892000-01-23 Gary Houston <ghouston@arglist.com>
690
a00c95d9 691 * filesys.c (scm_chown): omit port/fdes support if HAVE_FCHOWN is
d831b039
GH
692 not defined (thanks to Richard Y. Kim).
693
88ec97ad
GB
694Thu Jan 20 13:00:38 2000 Greg J. Badros <gjb@cs.washington.edu>
695
696 * Makefile.in: Removed, this is auto-generated.
697
078e9092
GB
698Thu Jan 20 11:33:47 2000 Dirk Hermann <dirk@ida.ing.tu-bs.de> --applied 01/20/00 gjb
699
700 * list.c: Put some variable initialization code at the point of
701 declaration; Added a comment for list*; Formatting changes.
702
703 * load.c: use SCM_NNULLP to make sure the end of a list is not
704 reached yet.
705
e7a96050
MD
7062000-01-18 Mikael Djurfeldt <mdj@mdj.nada.kth.se>
707
a177af34
MD
708 * backtrace.c (scm_display_error_message): Bugfix: Don't use
709 result of scm_list_p as C boolean.
710 (scm_display_error_message, scm_set_print_params_x): Use new
711 validation macros. (Thanks to Dirk Herrmann.)
712
d06bcb02
MD
713 * net_db.c (scm_resolv_error): Cast result from hstrerror.
714
715 * strports.c (st_end_input): Inserted parenthesis to get operator
716 grouping correct.
717
718 * list.h (scm_init_list): Removed SCM_P around prototypes.
719
720 * fports.c, list.c, numbers.c, ports.c, stime.c, symbols.c,
721 filesys.c, posix.c: Converted docstrings to ANSI C format and
e7a96050
MD
722 escaped " occurring inside string literals.
723
682eefe9
MD
724Tue Jan 18 13:21:08 2000 Mikael Djurfeldt <mdj@r11n07-s.pdc.kth.se>
725
726 * posix.c (scm_mknod): Escape " occuring inside docstring.
727
56cfe22b
MD
7282000-01-18 Mikael Djurfeldt <mdj@mdj.nada.kth.se>
729
730 * alist.c, chars.c, debug.c, dynl.c, dynwind.c, error.c, eval.c,
731 evalext.c, filesys.c, gc.c, hash.c, hashtab.c, ioext.c,
732 keywords.c, list.c, load.c, macros.c, net_db.c, numbers.c,
733 objprop.c, ports.c, posix.c, print.c, procprop.c, procs.c,
734 ramap.c, regex-posix.c, root.c, scmsigs.c, simpos.c, socket.c,
735 stacks.c, stime.c, strings.c, strop.c, strports.c, struct.c,
736 symbols.c, throw.c, unif.c, vectors.c, version.c, vports.c,
737 weaks.c: Converted docstrings to ANSI C format.
a00c95d9 738
56cfe22b
MD
739 * filesys.c (scm_chmod), simpos.c (scm_system), version
740 (scm_version), vports (scm_make_soft_port): Escape " occuring
741 inside docstring.
742
fcb1720f
GB
743Mon Jan 17 11:41:22 2000 Greg J. Badros <gjb@cs.washington.edu>
744
745 * scm_validate.h: Added SCM_VALIDATE_ULONG_COPY,
746 SCM_VALIDATE_LONG_COPY
747
748 * numbers.c: Use SCM_VALIDATE_ULONG_COPY, instead of
749 SCM_VALIDATE_INUM_COPY to let bigger numbers be used. Rename a
750 couple of formal arguments (and fix their uses) to make arguments
751 match the documentation.
752
b9af3d0e
MS
7532000-01-14 <mstachow@alum.mit.edu>
754
755 * Makefile.am: Augment path when running guile-doc-snarf so
756 guile-func-name-check is found.
757
153511a7
GB
758Fri Jan 14 09:34:55 2000 Greg J. Badros <gjb@cs.washington.edu>
759
760 * scm_validate.h (SCM_NUM2LONG_DEF): Fix this macro to just use
761 def, not SCM_MAKINUM(def); thanks Janis Bzerins!
762
59d5245f
GB
763Wed Jan 12 00:06:53 2000 Greg J. Badros <gjb@cs.washington.edu>
764
765 * net_db.c (s_scm_inet_makeaddr): Use SCM_NUM2ULONG since that's
766 the way guile-1.3.4 worked, but #if 0 out the version using
767 SCM_VALIDATE_INUM_COPY for stricter testing.
768
95aec69f
GB
769Tue Jan 11 18:24:18 2000 Greg J. Badros <gjb@cs.washington.edu>
770
771 * guile-doc-snarf.in: Use new $fullfilename for running
772 guile-func-name-check, and put "$fullfilename" and "$filename" in
773 quotes at uses to make sure re-splitting on whitespace does not
a00c95d9 774 occur (so filenames w/ embedded whitespace would work okay, though
95aec69f
GB
775 I sure hope we never have to deal with that! :-) ). Thanks to
776 Mikael for pointing out the source_dir != build_dir was broken.
777
b7ac2837
GB
778Tue Jan 11 17:42:40 2000 Greg J. Badros <gjb@cs.washington.edu>
779
780 * scm_validate.h: Added SCM_NUM2LONG_DEF macro. Make
781 SCM_OUT_OF_RANGE use SCM_MAKINUM, not scm_long2num. Added
782 SCM_COERCE_ROSTRING macro. Added SCM_VALIDATE_NONEMPTYLIST
783 macro. Fix SCM_VALIDATE_STRINGORSUBSTR macro to not use SLOPPY
784 variants.
785
786 * ports.c (scm_port_closed_p): Validate that the arg is a PORT,
787 then return whether it's an open port (was validating that it was
788 an open port -- this was a bug I introduced back in December, but
789 my careful reading of diffs caught it).
790
791 * numbers.c: Recombine the two conditional-compilation paths for
792 all the log* primitives -- they were split based on #ifndef
793 scm_long2num; factored out a SCM_LOGOP_RETURN macro, and fixed
794 some bugs and inconsistencies in the two sets of implementations.
795 (scm_lognot) Fixed *atrocious* re-use of a SCM as an integer!
796
797 * ioext.c: Use SCM_ASSERT_RANGE in a couple places, and
798 SCM_VALIDATE_INUM_COPY once where it should've been used.
799
800 * fluids.c (scm_internal_with_fluids): Use
801 SCM_VALIDATE_LIST_COPYLEN.
802
803 * filesys.c: Use SCM_NUM2LONG instead of SCM_VALIDATE_INUM_COPY;
804 this is questionable as it relaxes type safety, but other changes
805 were useful and all SCM_NUM2LONG's should probably be
806 revisited. Use SCM_OUT_OF_RANGE, SCM_WRONG_TYPE_ARG.
807
808 * evalext.c: line-break change on 1 line.
809
810 * eval.c (nconc2last): Takes a non-empty list as its first
811 argument, not just a list.
812
813 * dynl.c: Use new SCM_COERCE_ROSTRING macro.
814
815Tue Jan 11 15:44:23 2000 Greg J. Badros <gjb@cs.washington.edu>
816
817 * dynl.c, feature.c, filesys.c, fports.c, list.c, load.c,
818 net_db.c, sort.c, stacks.c, unif.c: Use SCM_WTA, SCM_MISC_ERROR
819 where possible.
820
821 * symbols.c (scm_sysintern0): Fixed the function name in a
822 scm_misc_error invocation.
823
824 * print.c (scm_simple_format): Do not need SCM_COERCE_SUBSTR, and
825 use scm_return_first to ward off latent GC bug that Mikael caught.
826
827 * async.c: Use SCM_VALIDATE_ASYNC_COPY one place where it wasn't
828 used before but should've been.
829
d61f6b02
MD
8302000-01-12 Mikael Djurfeldt <mdj@thalamus.nada.kth.se>
831
832 * snarf.h (SCM_PROC1): Replaced SCM (*) (...) with
833 SCM_FUNC_CAST_ARBITRARY_ARGS.
834
88423ab1
GB
835Tue Jan 11 13:44:07 2000 Greg J. Badros <gjb@cs.washington.edu>
836
837 * guile-func-name-check.in: Added this script to statically check
838 #define FUNC_NAME, #undef FUNC_NAME in the source.
839
840 * sort.c, posix.c: Fix #undef FUNC_NAME lines to not have trailing
841 redundant comment, semicolon; caught by new guile-func-name-check
842 script.
843
844 * debug.c: Fix mistaken #define FUNC_NAME for scm_make_iloc.
845 Caught by new guile-func-name-check-script.
846
847 * Makefile.am: Added guile-func-name-check to bin_SCRIPTS
848
849 * ramap.c: Fix #if 0'd out code to be syntactically acceptable to
850 guile-func-name-check.
851
a00c95d9 852 * guile-doc-snarf.in: Run guile-func-name-check on the file before
88423ab1
GB
853 doing the snarf.
854
7f15e635
GB
855Tue Jan 11 11:31:10 2000 Greg J. Badros <gjb@cs.washington.edu>
856
857 * fports.c, ports.c, ports.h, strports.c, vports.c: Make write
858 port function take const void*, not void*.
859
bf121b59
GB
860Tue Jan 11 11:18:07 2000 Greg J. Badros <gjb@cs.washington.edu>
861
862 * scm_validate.h, chars.c, ports.c, print.c, read.c, strings.c,
863 strop.c: Use SCM_VALIDATE_ICHR, SCM_VALIDATE_ICHR_COPY instead of
864 SCM_VALIDATE_CHAR, SCM_VALIDATE_CHAR_COPY. Change made for
865 consistency with the other macros dealing with immediate
866 characters. (Similar to INT -> INUM change a week or so ago).
867
7965d98f
GB
868Tue Jan 11 10:41:46 2000 Greg J. Badros <gjb@cs.washington.edu>
869
870 * dynl.c, error.c, eval.c, feature.c, filesys.c, fports.c, list.c, load.c,
871 net_db.c, read.c, socket.c: Update error messages to use ~A for
872 %s, ~S for %S to work with new `simple-format' format and be
873 standardized better.
874
875 * print.h, print.c (scm_simple_format): Added `simple-format'
876 primitive. It's the old scm_display_error, with ARGS now a rest
a00c95d9 877 parameter, and the destination first instead of last (and a couple
7965d98f
GB
878 new capabilities inspired by `format' -- #t as destination means
879 current-output-port, #f means return the formatted text as a
880 string.
881
882 * gh.h, gh_data.c, ports.h, ports.c: Added some missing const specifications.
883
884 * backtrace.c (scm_display_error_message): Rewrote to use
885 scm_simple_format() procedure.
886
887 * __scm.h: Added commented-out #define of GUILE_DEBUG_FREELIST
888
f73d2411
MV
8892000-01-09 Marius Vollmer <mvo@zagadka.ping.de>
890
891 Finally applied the libltdl patch from Thomas Tanner, with slight
892 modifications.
893
894 * DYNAMIC-LINKING: Removed because it is obsolete.
895 * dynl.c: Use ANSI prototypes.
896 (sysdep_dynl_link): Use lt_dlopenext instead of lt_dlopen.
897 * scmconfig.h.in: Do not change, as it is automatically generated.
a00c95d9 898
f73d2411
MV
899 1999-07-25 Thomas Tanner <tanner@ffii.org>
900
901 * dynl-dl.c, dynl-dld.c, dynl-shl.c, dynl-vms.c: deleted
902 (obsolete)
903 * Makefile.am: likewise, add INCLTDL (libltdl headers) to
904 INCLUDES, set dlpreopened files in LDFLAGS, link libguile
905 against libltdl
906 * dynl.c: use libltdl if DYNAMIC_LINKING is enabled,
907 * guile.c: register preloaded modules
908 * scmconfig.h.in: remove obsolete symbols
909
38c1d3c4
GH
9102000-01-09 Gary Houston <ghouston@arglist.com>
911
912 * These changes should make it unnecessary to call tzset from
913 Scheme after modifying the TZ environment variable, even if the
914 system date facilities cache the value.
915 * stime.c (setzone, scm_localtime): added comments.
916 (tzset): don't define a noop tzset macro if HAVE_TZSET not defined.
917 (setzone): don't call tzset.
918 (restorezone): call tzset only if HAVE_TZSET is defined.
919 (scm_tzset): don't define if HAVE_TZSET not defined. Change the
920 doc string to indicate that this procedure isn't likely to do
921 anything useful.
922 (scm_localtime, scm_strftime, scm_mktime): call tzset if
923 LOCALTIME_CACHE is defined.
924
9359d657
MD
9252000-01-09 Mikael Djurfeldt <mdj@thalamus.nada.kth.se>
926
927 * posix.c (scm_sync): Return SCM_UNSPECIFIED.
928
f25f761d
GH
9292000-01-09 Gary Houston <ghouston@arglist.com>
930
931 * eval.c: define scm_unbound_variable_key ('unbound-variable).
932 scm_lookupcar1: throw an error with key 'unbound-variable instead
933 of 'misc-error when an unbound variable is encountered.
934
a00c95d9 935 * filesys.c (scm_mkdir, scm_rmdir, scm_getcwd, scm_select,
f25f761d
GH
936 scm_symlink, scm_readlink, scm_lstat),
937 posix.c (scm_setpgid, scm_setsid, scm_ctermid, scm_tcgetpgrp,
938 scm_tcsetpgrp, scm_uname, scm_setlocale, scm_mknod, scm_nice,
939 scm_sync),
a00c95d9 940 simpos.c (scm_system),
f25f761d
GH
941 stime.c (scm_times, scm_strptime):
942 move the HAVE_XXX feature tests out of the procedure bodies.
943 don't use SCM_SYSMISSING.
944 scm_validate.h (SCM_SYSMISSING): removed.
945 error.h, error.c (scm_sysmissing): comment that this is deprecated.
946 see ChangeLog entry for 1999-12-28.
947
a4dd2611
GB
948Sat Jan 8 19:52:04 2000 Greg J. Badros <gjb@cs.washington.edu>
949
950 * scm_validate.h (SCM_VALIDATE_BOOL_COPY): Fix typo.
951
952Sat Jan 8 17:06:46 2000 Greg J. Badros <gjb@cs.washington.edu>
953
954 * backtrace.c: Fix spelling typo in a comment.
955
956 * snarf.h: Use new SCM_DOCS macro to encapsulate the non SCM_INIT
957 text. Reformatted some of the expansions.
958
5ac36451
GB
959Fri Jan 7 15:50:46 2000 Greg J. Badros <gjb@cs.washington.edu>
960
961 * scm_validate.h (SCM_OUT_OF_RANGE): Use scm_out_of_range_pos to
962 report the position of the argument.
963
a00c95d9 964 * error.h, error.c (scm_out_of_range_pos): Added this function to
5ac36451 965 take extra "pos" argument, the position number of the errant
a00c95d9 966 argument.
5ac36451
GB
967
968 * debug.c: Use SCM_OUT_OF_RANGE instead of scm_out_of_range.
969
970 * snarf.h: Use SCM_HERE and SCM_INIT as names, not SCM_NOTSNARF
971 and SCM_SNARFING. Also put the %%% in the SCM_INIT since Mikael
972 prefers that and I'm reasonably indifferent.
973
974Fri Jan 7 15:03:32 2000 Greg J. Badros <gjb@cs.washington.edu>
975
976 * snarf.h: Factor out differences between C++ and non-C++ into
977 SCM_FUNC_CAST_ARBITRARY_ARGS macro. Modify all the snarf macro
978 definitions to use SCM_NOTSNARF and SCM_SNARFING macros (like
979 Mikael's macros, below, but changed names and SCM_SNARFING no
980 longer expands to include %%% -- that must appear in the argument
981 so that the token appears at the call-site as a reminder).
982
088bb1d4
MD
9832000-01-07 Mikael Djurfeldt <mdj@thalamus.nada.kth.se>
984
985 * snarf.h (SCM_INSITU, SCM_INIT): New snarf macros for use in user
986 snarf macro definitions.
987
636480e6
MD
9882000-01-06 Mikael Djurfeldt <mdj@mdj.nada.kth.se>
989
990 * chars.c (scm_integer_to_char): Use Greg's nice
991 SCM_VALIDATE_INUM_RANGE macro for argument checking for closer
992 adherence to R5RS.
993
7c5628e2
GB
994Thu Jan 6 11:48:49 2000 Greg J. Badros <gjb@cs.washington.edu>
995
996 * *.c, snarf.h: Replace GUILE_PROC1 with SCM_DEFINE1 throughout.
997
2cc0f8cb
GB
998Thu Jan 6 11:22:53 2000 Greg J. Badros <gjb@cs.washington.edu>
999
1000 * Makefile.am (ETAGS_ARGS): Switch to SCM_DEFINE, SCM_DEFINE1
1001 instead of GUILE_PROC.
1002
1003Thu Jan 6 11:21:49 2000 Greg J. Badros <gjb@cs.washington.edu>
1004
a00c95d9 1005 * alist.c: Do not report mismatch errors on some uses of `tmp' (do
2cc0f8cb
GB
1006 this by using SCM_ARG2 instead of `2' in the SCM_VALIDATE_CONS
1007 macro call.
1008
9179dcdd
GB
1009Thu Jan 6 09:54:33 2000 Dirk Herrmann <dirk@ida.ing.tu-bs.de> --gjb applied
1010
1011 * scm_validate.h: Remove some redundant NIMP tests.
1012
1013 * alist.c: minimize scope of the tmp variables, and initialize
1014 them when declared. The strange SCM_NIMP tests are replaced by
1015 SCM_CONSP tests that more closely reflect the intended semantics.
1016 However, we don't get a performance penalty here, because the
1017 SCM_CONSP test was performed by the ALISTCELL test anyway. * The
1018 extremely ugly use of ASRTGO macros was removed: The calls to
1019 ASRTGO were not encapsulated by "#ifndef SCM_RECKLESS", but got a
1020 label parameter that only exists when SCM_RECKLESS is not defined.
1021 This works, because ASRTGO itself is defined in a way that it only
1022 makes use of the label parameter if SCM_RECKLESS is not defined
1023 (shudder!). Does guile make at all use of the possibility to
1024 define SCM_RECKLESS? * Codesize is likely to be reduced, since
1025 instead of two calls to SCM_ASSERT performed by the ALISTCELL test
1026 we now only get one test.
1027
1028 * list.c: Use SCM_NNULLP, not SCM_NIMP as appropriate. Also use
1029 SCM_NULLP instead of SCM_IMP. Drop use of "register" keyword on
1030 some variables in `list?'. Fix `reverse' and `reverse!'
1031 primitives to handle improper lists better.
1032
15b33280
GB
1033Wed Jan 5 11:24:53 2000 Greg J. Badros <gjb@cs.washington.edu>
1034
1035 * *.[ch]: Whitespace changes -- added space after SCM_VALIDATE_*
1036 macros and SCM_DEFINE macros to match GNU coding standards.
1037
ca8cd130
GB
1038Wed Jan 5 11:04:24 2000 Greg J. Badros <gjb@cs.washington.edu>
1039
1040 * *.[ch]: Replace GUILE_PROC w/ SCM_DEFINE.
1041
fb764465
GB
1042Wed Jan 5 10:59:06 2000 Greg J. Badros <gjb@cs.washington.edu>
1043
1044 * *.[ch]: Replace SCM_VALIDATE_INT w/ SCM_VALIDATE_INUM for
1045 better consistency with the names of other SCM_VALIDATE_ macros
1046 and better conformance to guile naming policy.
1047
1048Wed Jan 5 10:50:39 2000 Greg J. Badros <gjb@cs.washington.edu>
1049
1050 * ports.c (s_scm_close_all_ports_except): Use SCM_ARG1 in a
1051 SCM_VALIDATE instead of 1 to avoid a check on the argument (since
1052 it's not the actual name of the formal).
1e484823
GB
1053
1054 * guile-snarf.awk.in: Do argument/number mismatch checking and
1055 print warnings in an Emacs compile-mode parseable format.
1056
1057 * struct.c: Use SCM_ASSERT_RANGE instead of SCM_ASSERT w/
1058 SCM_OUTOFRANGE as 3rd argument.
1059
1060 * random.c: Fix argument/number mismatch (that I introduced :-( ).
1061
1062 * __scm.h: Do not #define SCM_ARG* when snarfing;
1063 lets us distinguish between 1 and SCM_ARG1 when snarfing as only
1064 the former (using the number) requires the argument to match the
1065 formal in the current argument snarfing check.
1066
1067 * snarf.h: Give new definition of SCM_ASSERT when in
a00c95d9 1068 snarfing mode to output a lexically-identifiable sequence that the
1e484823
GB
1069 guile-snarf.awk script uses to verify argument/position matching.
1070
1071 * ramap.c: Remove extraneous #undef FUNC_NAME.
1072
53fc4636
GB
1073Wed Jan 5 08:36:38 2000 Greg J. Badros <gjb@cs.washington.edu>
1074
1075 * guile-doc-snarf.awk.in: Removed -- guile-snarf.awk.in is the
a00c95d9 1076 current version of the same functionality; it writes the .x output
53fc4636
GB
1077 to stdout instead of directly into the file.
1078
1079Wed Jan 5 08:15:04 2000 Greg J. Badros <gjb@cs.washington.edu>
1080
1081 * unif.c, symbols.c, strings.c, stacks.c, random.c, print.c,
1082 posix.c: Eliminated a bunch of SCM_NIMP(..)s that are now
1083 redundant with the safer macros. Patch from Dirk Hermann applied
1084 by hand. Thanks Dirk!
1085
1086 * scm_validate.h: Added SCM_VALIDATE_VECTOR_OR_DVECTOR for some
1087 uses in random.c.
1088
1089 * ramap.c: whitespace change.
1090
3b5345d9
GB
1091Tue Jan 4 14:21:35 2000 Greg J. Badros <gjb@cs.washington.edu>
1092
1093 * options.c, objects.c, keywords.c, gc.c: Some redundant SCM_NIMP
1094 removals from Dirk Hermann.
1095
1096 * alist.c: Rename formals to match the parameter names in the
1097 documentation, updates to documentation. Thanks Dirk Hermann!
1098
169aec65
MD
10992000-01-04 Mikael Djurfeldt <mdj@mdj.nada.kth.se>
1100
db62436e
MD
1101 * eval.c (SCM_CEVAL): Reverse order of
1102 scm_stack_checking_enabled_p and SCM_STACK_OVERFLOW_P
1103 (Thanks to Brad Knotwell.)
169aec65 1104
da43d822
GB
1105Mon Jan 3 08:30:02 2000 Greg Harvey <Greg.Harvey@thezone.net> (applied --01/03/00 gjb)
1106
1107 * gc.c (scm_debug_newcell): Added SCM_SETCAR of the newly
a00c95d9 1108 allocated cell.
da43d822
GB
1109
1110 * pairs.h: Added a comment about the need for the SCM_SETCAR in
1111 SCM_NEWCELL macro.
1112
1113Mon Jan 3 08:25:19 2000 Greg J. Badros <gjb@cs.washington.edu>
1114
1115 * dynl-vms.c, debug.c, coop-threads.c, backtrace.c, eval.c: More
1116 SCM_NIMP tests that were redundant are now eliminated. Patches
1117 from Dirk Hermann applied by hand.
1118
339999c7 1119The ChangeLog continues in the file: "ChangeLog-1996-1999"