* numbers.h (SCM_SRS, SCM_INUM): Corrected SCM_ASSCM/ASWORD fixes.
[bpt/guile.git] / libguile / ChangeLog
CommitLineData
0cd87628
MV
12000-03-12 Marius Vollmer <mvo@zagadka.ping.de>
2
3 * init.c (scm_standard_stream_to_port): Check whether the file
4 descriptor is valid and substitute "/dev/null" when not.
5
f3b5e185
MD
62000-03-12 Mikael Djurfeldt <mdj@thalamus.nada.kth.se>
7
8 * coop-defs.h (struct timespec): Conditionally defined.
9
10 * coop.c (coop_condition_variable_timed_wait_mutex): Use ETIMEDOUT
11 instead of ETIME.
38eca29b
MD
12
13 * readline.c (match_paren): Bugfix: First arg to select is not
14 number of descriptors but the number of the highest descriptor +
15 1.
16
17 This is a preliminary attempt at a cleanup of the threads support
18 code. It moves things to better places, makes arguments more
19 consistent with the POSIX API (which is used in GNOME's glib), and
20 adds new functionality.
21
22 * readline.c (scm_init_readline): Added new arg to scm_init_mutex.
23
24 * coop-defs.h (scm_mutex_trylock): New macro: alias for
25 coop_mutex_trylock.
26 (scm_cond_init): Changed definition to
27 coop_new_condition_variable_init.
38eca29b
MD
28
29 * coop.c: #include <errno.h>
30 (coop_timeout_qinsert): Moved here from iselect.c
31 (coop_new_mutex_init, coop_new_condition_variable_init): New
32 functions. The strange names are temporary. Use scm_mutex_init
33 and scm_cond_init instead.
34 (coop_mutex_trylock): New function. Uses errno.h:EBUSY. errno.h
35 is ANSI C, but should we check for individual error codes in
36 configure.in?
37 (coop_condition_variable_timed_wait_mutex): New function.
38 (coop_key_create, coop_setspecific, coop_getspecific,
39 coop_key_delete,
40
41 * iselect.c (coop_timout_qinsert): Moved to coop.c
42
32e1616c
MD
432000-03-11 Mikael Djurfeldt <mdj@thalamus.nada.kth.se>
44
45 * pairs.h (SCM_SETAND_CAR, SCM_SETAND_CDR, SCM_SETOR_CAR,
46 SCM_SETOR_CDR): Corrected SCM_ASSCM/WORD fixes.
47
48 * tags.h (SCM_VOIDP_TEST): Renamed from VOIDP_TEST.
49 Layout cleanups.
50
51 * objects.h (SCM_CLASS_FLAGS, SCM_OBJ_CLASS_FLAGS,
52 SCM_SET_CLASS_INSTANCE_SIZE), struct.h (SCM_STRUCT_VTABLE_DATA),
53 proc.h (SCM_CLOSCAR): SCM_ASSCM/WORD fixes.
54
55 * eval.c (scm_lookupcar1): Inserted SCM_ASWORD in expressions
56 dealing with ilocs.
57
d5c39069
GB
582000-03-11 Dale P. Smith <dpsm@en.com>, applied by Greg J. Badros, <gjb@cs.washington.edu>
59
60 * numbers.c (scm_copy_big_dec, scm_copy_smaller, scm_big_ior,
61 scm_big_xor, scm_big_and, scm_big_test): Added new lowlevel bignum
62 logical functions from SCM.
63
64 (logand, logior, logxor, logtest, logbit?): Extended scheme
65 logical functions to use bignums from SCM.
66
67 (lognot): Removed call to `SCM_VALIDATE_INUM' that prevented
68 lognot from using bignums.
69
3e892913
GB
70Thu Mar 9 11:33:25 2000 Greg J. Badros <gjb@cs.washington.edu>
71
72 * vectors.h (SCM_VELTS_AS_STACKITEMS): Added this macro to help in
73 eliminating some warnings.
74
75 * unif.c, strports.c, print.c, options.c: Fix some warnings on
76 mis-use of SCM/long
77
78 * gc.c, gc.h: Added scm_return_first_int(), and added comment re:
79 what the scm_return_first* functions do.
80
7ac030d6
GB
812000-03-09 Han-Wen Nienhuys <hanwen@cs.uu.nl>, applied by Greg J. Badros, <gjb@cs.washington.edu>
82
83 * libguile/*.[ch]: make a distinction between SCM as a generic
84 name for a Scheme object (now a void*), and SCM as 32 bit word for
85 storing tags and immediates (now a long int). Introduced
86 SCM_ASWORD and SCM_ASSCM for conversion. Fixed various dubious
87 code in the process: arbiter.c (use macros), unif.c (scm_array_p),
88
f635d2d4
GB
89Wed Mar 8 10:15:59 2000 Greg J. Badros <gjb@cs.washington.edu>
90
91 * numbers.c: Use SCM_VALIDATE_LONG_COPY, and longs, not ints, in
92 various logXXX primitives. Thanks Eric Moore!
93
9eaa7fb6
GB
94Tue Mar 7 08:05:22 2000 Greg J. Badros <gjb@cs.washington.edu>
95
96 * run-test, remaining-docs-needed: Added these scripts. The
97 second one is only temporary until the docstring additions are
98 complete. run-test may best live on, but is here mostly for
99 convenience and awareness for now.
100
101 * hash.c: Docs, minor cleanup patch from Dirk Herrman.
102
49673698
GB
103Thu Mar 2 16:06:58 2000 Greg J. Badros <gjb@cs.washington.edu>
104
105 * error.h, error.c: Added `scm_wrong_type_arg_msg' to support
106 displaying the expected type. Use SCM_LISTn in a couple places
107 instead of scm_cons-ing by hand.
108
109 * __scm.h: Added SCM_ASSERT_TYPE macro.
110
111 * validate.h, scm_validate.h: Added the former, as a renamed
112 version of the latter with SCM_ASSERT_TYPE used in
113 SCM_MAKE_VALIDATE (instead of just SCM_ASSERT)
114
115 * Makefile.am: Rename scm_validate.h to validate.h.
116
117 * *.c, *.h: Include validate.h, not scm_validate.h (old name's
118 prefix was superfluous).
119
417bdef8
GB
120Thu Mar 2 15:33:12 2000 Greg J. Badros <gjb@cs.washington.edu>
121
122 * hashtab.c: Improved documentation for lots of functions. Added
123 handwritten docs for `hash-fold'.
124
125Thu Mar 2 15:13:25 2000 Greg J. Badros <gjb@cs.washington.edu>
126
127 * list.c: Added hand-written docs for `del{q,v,ete}1!'.
128
26a760c6
GB
129Thu Mar 2 12:38:30 2000 Greg J. Badros <gjb@cs.washington.edu>
130
131 * list.c: Moved append docs to append! Thanks Dirk Hermann. Also,
132 added append docs from R4RS.
133
134 * strings.c: Docstring typo fix, + eliminate unneeded IMP tests.
135 Thanks Dirk Hermann!
136
137 * chars.h: Provide SCM_CHARP, SCM_CHAR, SCM_MAKE_CHAR and
138 deprecate SCM_ICHRP, SCM_ICHR, SCM_MAKICHR. Thanks Dirk Hermann!
139
140 * *.h, *.c: Use SCM_CHARP, SCM_CHAR, SCM_MAKE_CHAR throughout.
141 Drop use of SCM_P for function prototypes... assume an ANSI C
142 compiler. Thanks Dirk Hermann!
143
898942f8
GB
144Sat Feb 19 12:20:12 2000 Greg J. Badros <gjb@cs.washington.edu>
145
146 * ports.c: Made `set-port-column!' and `set-port-line!' each
147 return SCM_UNSPECIFIED instead of a (not-scheme-object) integer
148 that caused a seg fault. Also fixed `set-port-column!'s
149 docstring. Thanks Han-Wen Nienhuys for finding the bug!
150
84a3df2c
GB
151Sun Feb 13 19:11:42 2000 Greg J. Badros <gjb@cs.washington.edu>
152
153 * arbiters.c, eq.c, gc.c, guardians.c, list.c, ports.c, print.c,
154 regex-posix.c, scmsigs.c, stime.c, strings.c, variable.c, stime.c,
155 strings.c, variable.c: Added lots of documentation, cleaned up
156 some existing documentation. Occasionally changed formal params
157 to match docs. Also folded an #ifdef into the inners of a
158 primitive instead of having two copies of the primitive
159 (`get-internal-real-time', from stime.c)
160
161Sun Feb 13 18:12:19 2000 Greg J. Badros <gjb@cs.washington.edu>
162
163 * ports.c: Added docs for primitives missing them. Written by
164 hand.
165
3f557de6
GB
166Sun Feb 13 09:40:36 2000 Greg J. Badros <gjb@cs.washington.edu>
167
168 * guile-doc-snarf.in: Use ${AWK} -f guile-func-name-check, not
169 just execing guile-func-name-check. Thanks Michael Livshin!
170
ddcccdb3
GB
171Thu Feb 10 11:43:23 2000 Greg J. Badros <gjb@cs.washington.edu>
172
173 * guile-snarf.awk.in: Tweak to work with Sun/HP awk, removed some
174 dead code. Patch from Michael Livshin.
175
176 * guile-doc-snarf.in: Tweak to work with Sun/HP sh. Patch from
177 Michael Livshin.
178
720e8692
GH
1792000-02-09 Gary Houston <ghouston@arglist.com>
180
181 * init.c (scm_init_standard_ports): when stdout is a tty, make the
182 current-output-port unbuffered by default. this is less confusing
183 for interactive use. it was line-buffered because of a
184 performance problem with unbuffered ports, but I think it will be
185 OK now.
186
43ff3170
GH
1872000-02-08 Gary Houston <ghouston@arglist.com>
188
189 * __scm.h: don't define long_long or ulong_long if HAVE_LONG_LONGS
190 is not defined.
191
192 * stime.c (scm_localtime, scm_mktime): if neither HAVE_TM_ZONE nor
193 HAVE_TZNAME are defined, use an empty string instead of giving two
194 spurious compile-time errors.
195
4ba47302
GB
196Tue Feb 8 13:57:46 2000 Greg J. Badros <gjb@cs.washington.edu>
197
198 * ports.c: Doc patches from Richard Kim. Pasted from MIT Scheme.
199 Thanks Richard!
200
09a617f7
GB
201Mon Feb 7 09:07:31 2000 Greg J. Badros <gjb@cs.washington.edu>
202
203 * macros.c: Doc patches from Richard Kim. Pasted from scm.texi.
204
9dbcf010
GB
205Sun Feb 6 20:26:21 2000 Greg J. Badros <gjb@cs.washington.edu>
206
207 * pairs.c: Doc patches from Richard Kim. Pasted from MIT Scheme
208 (which is GNU GPL'd).
209
bd9e24b3
GH
2102000-01-31 Gary Houston <ghouston@arglist.com>
211
212 * strings.h: don't use SCM_P. don't include <string.h>.
213 * error.c, gh_data.c, ports.c, script.c, strop.c: include <string.h>.
214
215 * strings.c (scm_string_ref): make the 2nd argument compulsory.
216 previously it defaulted to zero for no good reason that I can see.
217 use a local variable for SCM_INUM (k). replace
218 SCM_VALIDATE_INUM_DEF with SCM_VALIDATE_INUM_COPY.
219
220 (scm_makfromstr): cosmetic changes.
221
222 (scm_string): Accept only chars in the list, not strings, for
223 conformance to R5RS (particularly for list->string, which is
224 supposed to be the inverse of string->list.) remove
225 SCM_DEFER_INTS/SCM_ALLOW_INTS, which is unnecessary since
226 scm_makstr handles the cell allocation. when reporting wrong-type
227 arg, don't report the position as 1.
228
229 * posix.c (scm_init_posix): intern PIPE_BUF if it's defined.
230
28d77376
GH
2312000-01-29 Gary Houston <ghouston@arglist.com>
232
ae1b098b
GH
233 * posix.c (scm_pipe): rewrote the docstring.
234
28d77376
GH
235 * filesys.c (scm_select, retrieve_select_type, get_element,
236 fill_select_type, set_element): modified so that Scheme
237 "select" tests port buffers for the ability to provide input
238 or accept output. Previously only the underlying file descriptors
239 were checked. Rewrote the docstring.
240
7f1497ce
GB
241Thu Jan 27 10:14:25 2000 Greg J. Badros <gjb@cs.washington.edu>
242
243 * vectors.c, symbols.c, strorder.c: Documentation cut and pasted
244 from Gregg Reynolds. Thanks Gregg!
245
2288ff9b
GB
246Thu Jan 27 09:59:38 2000 Greg J. Badros <gjb@cs.washington.edu>
247
248 * strop.c (scm_i_index): Obfuscated commented-out SCM_DEFINE by
249 adding "x" prefix to the line so that guile-func-name-check
250 doesn't complain unnecessarily.
251
349af6dd
GB
252Wed Jan 26 17:33:52 2000 Greg J. Badros <gjb@cs.washington.edu>
253
254 * throw.c: Factor out an #ifdef/#else/#endif choice more finely
255 for maintainability.
256
257 * strop.c: Documentation added by Gregg A. Reynolds. Pasted in
258 from qdocs, RnRs.
259
a28eb127
GB
260Wed Jan 26 10:02:11 2000 Greg J. Badros <gjb@cs.washington.edu>
261
262 * tag.c: Added doc for `tag', but mark as deprecated since Mikael
263 suggests removing tag.c altogether (and using a new `class-of'
264 instead).
265
266 * strings.c: Added documentation from Gregg A. Reynolds. Edited
267 a bit by me to use FOO instead of @var{foo} and to have the
268 summary come before preconditions on input. Also dropped trailing
269 (rnrs) note.
270
271 * gsubr.c: Do not use SCM_DEFINE for `gsubr-apply'. Register the
272 function with scm_make_subr_opt w/ last arg of 0 so it is not
273 visible at the Scheme level. Mikael says that this is the right
274 thing because the first arg to the proc is the guts of a compiled
275 closure and shouldn't be exposed to the Scheme level.
276
ac2259fc
GB
277Tue Jan 25 17:15:47 2000 Greg J. Badros <gjb@cs.washington.edu>
278
279 * sort.c: typo in comment fixed.
280
281 * keywords.c: Added documentation.
282
283 * guardians.c: Added documentation (could be better).
284
285 * gc.c: Added docs for gc-set-debug-check-freelist.
286
287 * eq.c: Added docs for eq?, eqv? equal? abridged from R4RS.
288
289 * boolean.c: Added docs for `not', `boolean?' (by hand).
290
d928e0b4
GB
291Tue Jan 25 13:28:56 2000 Greg J. Badros <gjb@cs.washington.edu>
292
293 * random.c: Added documentation, from SLIB page:
294 http://angela.ctrl-c.liu.se/~calle/scheme/slib_toc.html
295
296Mon Jan 24 17:50:20 2000 Greg J. Badros <gjb@cs.washington.edu>
297
298 * variable.c, version.c: Added documentation, written by hand
299 since I could not find anything already written that was
300 relevant.
301
d831b039
GH
3022000-01-23 Gary Houston <ghouston@arglist.com>
303
304 * filesys.c (scm_chown): omit port/fdes support if HAVE_FCHOWN is
305 not defined (thanks to Richard Y. Kim).
306
88ec97ad
GB
307Thu Jan 20 13:00:38 2000 Greg J. Badros <gjb@cs.washington.edu>
308
309 * Makefile.in: Removed, this is auto-generated.
310
078e9092
GB
311Thu Jan 20 11:33:47 2000 Dirk Hermann <dirk@ida.ing.tu-bs.de> --applied 01/20/00 gjb
312
313 * list.c: Put some variable initialization code at the point of
314 declaration; Added a comment for list*; Formatting changes.
315
316 * load.c: use SCM_NNULLP to make sure the end of a list is not
317 reached yet.
318
e7a96050
MD
3192000-01-18 Mikael Djurfeldt <mdj@mdj.nada.kth.se>
320
a177af34
MD
321 * backtrace.c (scm_display_error_message): Bugfix: Don't use
322 result of scm_list_p as C boolean.
323 (scm_display_error_message, scm_set_print_params_x): Use new
324 validation macros. (Thanks to Dirk Herrmann.)
325
d06bcb02
MD
326 * net_db.c (scm_resolv_error): Cast result from hstrerror.
327
328 * strports.c (st_end_input): Inserted parenthesis to get operator
329 grouping correct.
330
331 * list.h (scm_init_list): Removed SCM_P around prototypes.
332
333 * fports.c, list.c, numbers.c, ports.c, stime.c, symbols.c,
334 filesys.c, posix.c: Converted docstrings to ANSI C format and
e7a96050
MD
335 escaped " occurring inside string literals.
336
682eefe9
MD
337Tue Jan 18 13:21:08 2000 Mikael Djurfeldt <mdj@r11n07-s.pdc.kth.se>
338
339 * posix.c (scm_mknod): Escape " occuring inside docstring.
340
56cfe22b
MD
3412000-01-18 Mikael Djurfeldt <mdj@mdj.nada.kth.se>
342
343 * alist.c, chars.c, debug.c, dynl.c, dynwind.c, error.c, eval.c,
344 evalext.c, filesys.c, gc.c, hash.c, hashtab.c, ioext.c,
345 keywords.c, list.c, load.c, macros.c, net_db.c, numbers.c,
346 objprop.c, ports.c, posix.c, print.c, procprop.c, procs.c,
347 ramap.c, regex-posix.c, root.c, scmsigs.c, simpos.c, socket.c,
348 stacks.c, stime.c, strings.c, strop.c, strports.c, struct.c,
349 symbols.c, throw.c, unif.c, vectors.c, version.c, vports.c,
350 weaks.c: Converted docstrings to ANSI C format.
351
352 * filesys.c (scm_chmod), simpos.c (scm_system), version
353 (scm_version), vports (scm_make_soft_port): Escape " occuring
354 inside docstring.
355
fcb1720f
GB
356Mon Jan 17 11:41:22 2000 Greg J. Badros <gjb@cs.washington.edu>
357
358 * scm_validate.h: Added SCM_VALIDATE_ULONG_COPY,
359 SCM_VALIDATE_LONG_COPY
360
361 * numbers.c: Use SCM_VALIDATE_ULONG_COPY, instead of
362 SCM_VALIDATE_INUM_COPY to let bigger numbers be used. Rename a
363 couple of formal arguments (and fix their uses) to make arguments
364 match the documentation.
365
b9af3d0e
MS
3662000-01-14 <mstachow@alum.mit.edu>
367
368 * Makefile.am: Augment path when running guile-doc-snarf so
369 guile-func-name-check is found.
370
153511a7
GB
371Fri Jan 14 09:34:55 2000 Greg J. Badros <gjb@cs.washington.edu>
372
373 * scm_validate.h (SCM_NUM2LONG_DEF): Fix this macro to just use
374 def, not SCM_MAKINUM(def); thanks Janis Bzerins!
375
59d5245f
GB
376Wed Jan 12 00:06:53 2000 Greg J. Badros <gjb@cs.washington.edu>
377
378 * net_db.c (s_scm_inet_makeaddr): Use SCM_NUM2ULONG since that's
379 the way guile-1.3.4 worked, but #if 0 out the version using
380 SCM_VALIDATE_INUM_COPY for stricter testing.
381
95aec69f
GB
382Tue Jan 11 18:24:18 2000 Greg J. Badros <gjb@cs.washington.edu>
383
384 * guile-doc-snarf.in: Use new $fullfilename for running
385 guile-func-name-check, and put "$fullfilename" and "$filename" in
386 quotes at uses to make sure re-splitting on whitespace does not
387 occur (so filenames w/ embedded whitespace would work okay, though
388 I sure hope we never have to deal with that! :-) ). Thanks to
389 Mikael for pointing out the source_dir != build_dir was broken.
390
b7ac2837
GB
391Tue Jan 11 17:42:40 2000 Greg J. Badros <gjb@cs.washington.edu>
392
393 * scm_validate.h: Added SCM_NUM2LONG_DEF macro. Make
394 SCM_OUT_OF_RANGE use SCM_MAKINUM, not scm_long2num. Added
395 SCM_COERCE_ROSTRING macro. Added SCM_VALIDATE_NONEMPTYLIST
396 macro. Fix SCM_VALIDATE_STRINGORSUBSTR macro to not use SLOPPY
397 variants.
398
399 * ports.c (scm_port_closed_p): Validate that the arg is a PORT,
400 then return whether it's an open port (was validating that it was
401 an open port -- this was a bug I introduced back in December, but
402 my careful reading of diffs caught it).
403
404 * numbers.c: Recombine the two conditional-compilation paths for
405 all the log* primitives -- they were split based on #ifndef
406 scm_long2num; factored out a SCM_LOGOP_RETURN macro, and fixed
407 some bugs and inconsistencies in the two sets of implementations.
408 (scm_lognot) Fixed *atrocious* re-use of a SCM as an integer!
409
410 * ioext.c: Use SCM_ASSERT_RANGE in a couple places, and
411 SCM_VALIDATE_INUM_COPY once where it should've been used.
412
413 * fluids.c (scm_internal_with_fluids): Use
414 SCM_VALIDATE_LIST_COPYLEN.
415
416 * filesys.c: Use SCM_NUM2LONG instead of SCM_VALIDATE_INUM_COPY;
417 this is questionable as it relaxes type safety, but other changes
418 were useful and all SCM_NUM2LONG's should probably be
419 revisited. Use SCM_OUT_OF_RANGE, SCM_WRONG_TYPE_ARG.
420
421 * evalext.c: line-break change on 1 line.
422
423 * eval.c (nconc2last): Takes a non-empty list as its first
424 argument, not just a list.
425
426 * dynl.c: Use new SCM_COERCE_ROSTRING macro.
427
428Tue Jan 11 15:44:23 2000 Greg J. Badros <gjb@cs.washington.edu>
429
430 * dynl.c, feature.c, filesys.c, fports.c, list.c, load.c,
431 net_db.c, sort.c, stacks.c, unif.c: Use SCM_WTA, SCM_MISC_ERROR
432 where possible.
433
434 * symbols.c (scm_sysintern0): Fixed the function name in a
435 scm_misc_error invocation.
436
437 * print.c (scm_simple_format): Do not need SCM_COERCE_SUBSTR, and
438 use scm_return_first to ward off latent GC bug that Mikael caught.
439
440 * async.c: Use SCM_VALIDATE_ASYNC_COPY one place where it wasn't
441 used before but should've been.
442
d61f6b02
MD
4432000-01-12 Mikael Djurfeldt <mdj@thalamus.nada.kth.se>
444
445 * snarf.h (SCM_PROC1): Replaced SCM (*) (...) with
446 SCM_FUNC_CAST_ARBITRARY_ARGS.
447
88423ab1
GB
448Tue Jan 11 13:44:07 2000 Greg J. Badros <gjb@cs.washington.edu>
449
450 * guile-func-name-check.in: Added this script to statically check
451 #define FUNC_NAME, #undef FUNC_NAME in the source.
452
453 * sort.c, posix.c: Fix #undef FUNC_NAME lines to not have trailing
454 redundant comment, semicolon; caught by new guile-func-name-check
455 script.
456
457 * debug.c: Fix mistaken #define FUNC_NAME for scm_make_iloc.
458 Caught by new guile-func-name-check-script.
459
460 * Makefile.am: Added guile-func-name-check to bin_SCRIPTS
461
462 * ramap.c: Fix #if 0'd out code to be syntactically acceptable to
463 guile-func-name-check.
464
465 * guile-doc-snarf.in: Run guile-func-name-check on the file before
466 doing the snarf.
467
7f15e635
GB
468Tue Jan 11 11:31:10 2000 Greg J. Badros <gjb@cs.washington.edu>
469
470 * fports.c, ports.c, ports.h, strports.c, vports.c: Make write
471 port function take const void*, not void*.
472
bf121b59
GB
473Tue Jan 11 11:18:07 2000 Greg J. Badros <gjb@cs.washington.edu>
474
475 * scm_validate.h, chars.c, ports.c, print.c, read.c, strings.c,
476 strop.c: Use SCM_VALIDATE_ICHR, SCM_VALIDATE_ICHR_COPY instead of
477 SCM_VALIDATE_CHAR, SCM_VALIDATE_CHAR_COPY. Change made for
478 consistency with the other macros dealing with immediate
479 characters. (Similar to INT -> INUM change a week or so ago).
480
7965d98f
GB
481Tue Jan 11 10:41:46 2000 Greg J. Badros <gjb@cs.washington.edu>
482
483 * dynl.c, error.c, eval.c, feature.c, filesys.c, fports.c, list.c, load.c,
484 net_db.c, read.c, socket.c: Update error messages to use ~A for
485 %s, ~S for %S to work with new `simple-format' format and be
486 standardized better.
487
488 * print.h, print.c (scm_simple_format): Added `simple-format'
489 primitive. It's the old scm_display_error, with ARGS now a rest
490 parameter, and the destination first instead of last (and a couple
491 new capabilities inspired by `format' -- #t as destination means
492 current-output-port, #f means return the formatted text as a
493 string.
494
495 * gh.h, gh_data.c, ports.h, ports.c: Added some missing const specifications.
496
497 * backtrace.c (scm_display_error_message): Rewrote to use
498 scm_simple_format() procedure.
499
500 * __scm.h: Added commented-out #define of GUILE_DEBUG_FREELIST
501
f73d2411
MV
5022000-01-09 Marius Vollmer <mvo@zagadka.ping.de>
503
504 Finally applied the libltdl patch from Thomas Tanner, with slight
505 modifications.
506
507 * DYNAMIC-LINKING: Removed because it is obsolete.
508 * dynl.c: Use ANSI prototypes.
509 (sysdep_dynl_link): Use lt_dlopenext instead of lt_dlopen.
510 * scmconfig.h.in: Do not change, as it is automatically generated.
511
512 1999-07-25 Thomas Tanner <tanner@ffii.org>
513
514 * dynl-dl.c, dynl-dld.c, dynl-shl.c, dynl-vms.c: deleted
515 (obsolete)
516 * Makefile.am: likewise, add INCLTDL (libltdl headers) to
517 INCLUDES, set dlpreopened files in LDFLAGS, link libguile
518 against libltdl
519 * dynl.c: use libltdl if DYNAMIC_LINKING is enabled,
520 * guile.c: register preloaded modules
521 * scmconfig.h.in: remove obsolete symbols
522
38c1d3c4
GH
5232000-01-09 Gary Houston <ghouston@arglist.com>
524
525 * These changes should make it unnecessary to call tzset from
526 Scheme after modifying the TZ environment variable, even if the
527 system date facilities cache the value.
528 * stime.c (setzone, scm_localtime): added comments.
529 (tzset): don't define a noop tzset macro if HAVE_TZSET not defined.
530 (setzone): don't call tzset.
531 (restorezone): call tzset only if HAVE_TZSET is defined.
532 (scm_tzset): don't define if HAVE_TZSET not defined. Change the
533 doc string to indicate that this procedure isn't likely to do
534 anything useful.
535 (scm_localtime, scm_strftime, scm_mktime): call tzset if
536 LOCALTIME_CACHE is defined.
537
9359d657
MD
5382000-01-09 Mikael Djurfeldt <mdj@thalamus.nada.kth.se>
539
540 * posix.c (scm_sync): Return SCM_UNSPECIFIED.
541
f25f761d
GH
5422000-01-09 Gary Houston <ghouston@arglist.com>
543
544 * eval.c: define scm_unbound_variable_key ('unbound-variable).
545 scm_lookupcar1: throw an error with key 'unbound-variable instead
546 of 'misc-error when an unbound variable is encountered.
547
548 * filesys.c (scm_mkdir, scm_rmdir, scm_getcwd, scm_select,
549 scm_symlink, scm_readlink, scm_lstat),
550 posix.c (scm_setpgid, scm_setsid, scm_ctermid, scm_tcgetpgrp,
551 scm_tcsetpgrp, scm_uname, scm_setlocale, scm_mknod, scm_nice,
552 scm_sync),
553 simpos.c (scm_system),
554 stime.c (scm_times, scm_strptime):
555 move the HAVE_XXX feature tests out of the procedure bodies.
556 don't use SCM_SYSMISSING.
557 scm_validate.h (SCM_SYSMISSING): removed.
558 error.h, error.c (scm_sysmissing): comment that this is deprecated.
559 see ChangeLog entry for 1999-12-28.
560
a4dd2611
GB
561Sat Jan 8 19:52:04 2000 Greg J. Badros <gjb@cs.washington.edu>
562
563 * scm_validate.h (SCM_VALIDATE_BOOL_COPY): Fix typo.
564
565Sat Jan 8 17:06:46 2000 Greg J. Badros <gjb@cs.washington.edu>
566
567 * backtrace.c: Fix spelling typo in a comment.
568
569 * snarf.h: Use new SCM_DOCS macro to encapsulate the non SCM_INIT
570 text. Reformatted some of the expansions.
571
5ac36451
GB
572Fri Jan 7 15:50:46 2000 Greg J. Badros <gjb@cs.washington.edu>
573
574 * scm_validate.h (SCM_OUT_OF_RANGE): Use scm_out_of_range_pos to
575 report the position of the argument.
576
577 * error.h, error.c (scm_out_of_range_pos): Added this function to
578 take extra "pos" argument, the position number of the errant
579 argument.
580
581 * debug.c: Use SCM_OUT_OF_RANGE instead of scm_out_of_range.
582
583 * snarf.h: Use SCM_HERE and SCM_INIT as names, not SCM_NOTSNARF
584 and SCM_SNARFING. Also put the %%% in the SCM_INIT since Mikael
585 prefers that and I'm reasonably indifferent.
586
587Fri Jan 7 15:03:32 2000 Greg J. Badros <gjb@cs.washington.edu>
588
589 * snarf.h: Factor out differences between C++ and non-C++ into
590 SCM_FUNC_CAST_ARBITRARY_ARGS macro. Modify all the snarf macro
591 definitions to use SCM_NOTSNARF and SCM_SNARFING macros (like
592 Mikael's macros, below, but changed names and SCM_SNARFING no
593 longer expands to include %%% -- that must appear in the argument
594 so that the token appears at the call-site as a reminder).
595
088bb1d4
MD
5962000-01-07 Mikael Djurfeldt <mdj@thalamus.nada.kth.se>
597
598 * snarf.h (SCM_INSITU, SCM_INIT): New snarf macros for use in user
599 snarf macro definitions.
600
636480e6
MD
6012000-01-06 Mikael Djurfeldt <mdj@mdj.nada.kth.se>
602
603 * chars.c (scm_integer_to_char): Use Greg's nice
604 SCM_VALIDATE_INUM_RANGE macro for argument checking for closer
605 adherence to R5RS.
606
7c5628e2
GB
607Thu Jan 6 11:48:49 2000 Greg J. Badros <gjb@cs.washington.edu>
608
609 * *.c, snarf.h: Replace GUILE_PROC1 with SCM_DEFINE1 throughout.
610
2cc0f8cb
GB
611Thu Jan 6 11:22:53 2000 Greg J. Badros <gjb@cs.washington.edu>
612
613 * Makefile.am (ETAGS_ARGS): Switch to SCM_DEFINE, SCM_DEFINE1
614 instead of GUILE_PROC.
615
616Thu Jan 6 11:21:49 2000 Greg J. Badros <gjb@cs.washington.edu>
617
618 * alist.c: Do not report mismatch errors on some uses of `tmp' (do
619 this by using SCM_ARG2 instead of `2' in the SCM_VALIDATE_CONS
620 macro call.
621
9179dcdd
GB
622Thu Jan 6 09:54:33 2000 Dirk Herrmann <dirk@ida.ing.tu-bs.de> --gjb applied
623
624 * scm_validate.h: Remove some redundant NIMP tests.
625
626 * alist.c: minimize scope of the tmp variables, and initialize
627 them when declared. The strange SCM_NIMP tests are replaced by
628 SCM_CONSP tests that more closely reflect the intended semantics.
629 However, we don't get a performance penalty here, because the
630 SCM_CONSP test was performed by the ALISTCELL test anyway. * The
631 extremely ugly use of ASRTGO macros was removed: The calls to
632 ASRTGO were not encapsulated by "#ifndef SCM_RECKLESS", but got a
633 label parameter that only exists when SCM_RECKLESS is not defined.
634 This works, because ASRTGO itself is defined in a way that it only
635 makes use of the label parameter if SCM_RECKLESS is not defined
636 (shudder!). Does guile make at all use of the possibility to
637 define SCM_RECKLESS? * Codesize is likely to be reduced, since
638 instead of two calls to SCM_ASSERT performed by the ALISTCELL test
639 we now only get one test.
640
641 * list.c: Use SCM_NNULLP, not SCM_NIMP as appropriate. Also use
642 SCM_NULLP instead of SCM_IMP. Drop use of "register" keyword on
643 some variables in `list?'. Fix `reverse' and `reverse!'
644 primitives to handle improper lists better.
645
15b33280
GB
646Wed Jan 5 11:24:53 2000 Greg J. Badros <gjb@cs.washington.edu>
647
648 * *.[ch]: Whitespace changes -- added space after SCM_VALIDATE_*
649 macros and SCM_DEFINE macros to match GNU coding standards.
650
ca8cd130
GB
651Wed Jan 5 11:04:24 2000 Greg J. Badros <gjb@cs.washington.edu>
652
653 * *.[ch]: Replace GUILE_PROC w/ SCM_DEFINE.
654
fb764465
GB
655Wed Jan 5 10:59:06 2000 Greg J. Badros <gjb@cs.washington.edu>
656
657 * *.[ch]: Replace SCM_VALIDATE_INT w/ SCM_VALIDATE_INUM for
658 better consistency with the names of other SCM_VALIDATE_ macros
659 and better conformance to guile naming policy.
660
661Wed Jan 5 10:50:39 2000 Greg J. Badros <gjb@cs.washington.edu>
662
663 * ports.c (s_scm_close_all_ports_except): Use SCM_ARG1 in a
664 SCM_VALIDATE instead of 1 to avoid a check on the argument (since
665 it's not the actual name of the formal).
1e484823
GB
666
667 * guile-snarf.awk.in: Do argument/number mismatch checking and
668 print warnings in an Emacs compile-mode parseable format.
669
670 * struct.c: Use SCM_ASSERT_RANGE instead of SCM_ASSERT w/
671 SCM_OUTOFRANGE as 3rd argument.
672
673 * random.c: Fix argument/number mismatch (that I introduced :-( ).
674
675 * __scm.h: Do not #define SCM_ARG* when snarfing;
676 lets us distinguish between 1 and SCM_ARG1 when snarfing as only
677 the former (using the number) requires the argument to match the
678 formal in the current argument snarfing check.
679
680 * snarf.h: Give new definition of SCM_ASSERT when in
681 snarfing mode to output a lexically-identifiable sequence that the
682 guile-snarf.awk script uses to verify argument/position matching.
683
684 * ramap.c: Remove extraneous #undef FUNC_NAME.
685
53fc4636
GB
686Wed Jan 5 08:36:38 2000 Greg J. Badros <gjb@cs.washington.edu>
687
688 * guile-doc-snarf.awk.in: Removed -- guile-snarf.awk.in is the
689 current version of the same functionality; it writes the .x output
690 to stdout instead of directly into the file.
691
692Wed Jan 5 08:15:04 2000 Greg J. Badros <gjb@cs.washington.edu>
693
694 * unif.c, symbols.c, strings.c, stacks.c, random.c, print.c,
695 posix.c: Eliminated a bunch of SCM_NIMP(..)s that are now
696 redundant with the safer macros. Patch from Dirk Hermann applied
697 by hand. Thanks Dirk!
698
699 * scm_validate.h: Added SCM_VALIDATE_VECTOR_OR_DVECTOR for some
700 uses in random.c.
701
702 * ramap.c: whitespace change.
703
3b5345d9
GB
704Tue Jan 4 14:21:35 2000 Greg J. Badros <gjb@cs.washington.edu>
705
706 * options.c, objects.c, keywords.c, gc.c: Some redundant SCM_NIMP
707 removals from Dirk Hermann.
708
709 * alist.c: Rename formals to match the parameter names in the
710 documentation, updates to documentation. Thanks Dirk Hermann!
711
169aec65
MD
7122000-01-04 Mikael Djurfeldt <mdj@mdj.nada.kth.se>
713
db62436e
MD
714 * eval.c (SCM_CEVAL): Reverse order of
715 scm_stack_checking_enabled_p and SCM_STACK_OVERFLOW_P
716 (Thanks to Brad Knotwell.)
169aec65 717
da43d822
GB
718Mon Jan 3 08:30:02 2000 Greg Harvey <Greg.Harvey@thezone.net> (applied --01/03/00 gjb)
719
720 * gc.c (scm_debug_newcell): Added SCM_SETCAR of the newly
721 allocated cell.
722
723 * pairs.h: Added a comment about the need for the SCM_SETCAR in
724 SCM_NEWCELL macro.
725
726Mon Jan 3 08:25:19 2000 Greg J. Badros <gjb@cs.washington.edu>
727
728 * dynl-vms.c, debug.c, coop-threads.c, backtrace.c, eval.c: More
729 SCM_NIMP tests that were redundant are now eliminated. Patches
730 from Dirk Hermann applied by hand.
731
339999c7 732The ChangeLog continues in the file: "ChangeLog-1996-1999"