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