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