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