* throw.c: Factor out an #ifdef/#else/#endif choice more finely
[bpt/guile.git] / libguile / ChangeLog
CommitLineData
a28eb127
GB
1Wed Jan 26 10:02:11 2000 Greg J. Badros <gjb@cs.washington.edu>
2
3 * tag.c: Added doc for `tag', but mark as deprecated since Mikael
4 suggests removing tag.c altogether (and using a new `class-of'
5 instead).
6
7 * strings.c: Added documentation from Gregg A. Reynolds. Edited
8 a bit by me to use FOO instead of @var{foo} and to have the
9 summary come before preconditions on input. Also dropped trailing
10 (rnrs) note.
11
12 * gsubr.c: Do not use SCM_DEFINE for `gsubr-apply'. Register the
13 function with scm_make_subr_opt w/ last arg of 0 so it is not
14 visible at the Scheme level. Mikael says that this is the right
15 thing because the first arg to the proc is the guts of a compiled
16 closure and shouldn't be exposed to the Scheme level.
17
ac2259fc
GB
18Tue Jan 25 17:15:47 2000 Greg J. Badros <gjb@cs.washington.edu>
19
20 * sort.c: typo in comment fixed.
21
22 * keywords.c: Added documentation.
23
24 * guardians.c: Added documentation (could be better).
25
26 * gc.c: Added docs for gc-set-debug-check-freelist.
27
28 * eq.c: Added docs for eq?, eqv? equal? abridged from R4RS.
29
30 * boolean.c: Added docs for `not', `boolean?' (by hand).
31
d928e0b4
GB
32Tue Jan 25 13:28:56 2000 Greg J. Badros <gjb@cs.washington.edu>
33
34 * random.c: Added documentation, from SLIB page:
35 http://angela.ctrl-c.liu.se/~calle/scheme/slib_toc.html
36
37Mon Jan 24 17:50:20 2000 Greg J. Badros <gjb@cs.washington.edu>
38
39 * variable.c, version.c: Added documentation, written by hand
40 since I could not find anything already written that was
41 relevant.
42
d831b039
GH
432000-01-23 Gary Houston <ghouston@arglist.com>
44
45 * filesys.c (scm_chown): omit port/fdes support if HAVE_FCHOWN is
46 not defined (thanks to Richard Y. Kim).
47
88ec97ad
GB
48Thu Jan 20 13:00:38 2000 Greg J. Badros <gjb@cs.washington.edu>
49
50 * Makefile.in: Removed, this is auto-generated.
51
078e9092
GB
52Thu Jan 20 11:33:47 2000 Dirk Hermann <dirk@ida.ing.tu-bs.de> --applied 01/20/00 gjb
53
54 * list.c: Put some variable initialization code at the point of
55 declaration; Added a comment for list*; Formatting changes.
56
57 * load.c: use SCM_NNULLP to make sure the end of a list is not
58 reached yet.
59
e7a96050
MD
602000-01-18 Mikael Djurfeldt <mdj@mdj.nada.kth.se>
61
a177af34
MD
62 * backtrace.c (scm_display_error_message): Bugfix: Don't use
63 result of scm_list_p as C boolean.
64 (scm_display_error_message, scm_set_print_params_x): Use new
65 validation macros. (Thanks to Dirk Herrmann.)
66
d06bcb02
MD
67 * net_db.c (scm_resolv_error): Cast result from hstrerror.
68
69 * strports.c (st_end_input): Inserted parenthesis to get operator
70 grouping correct.
71
72 * list.h (scm_init_list): Removed SCM_P around prototypes.
73
74 * fports.c, list.c, numbers.c, ports.c, stime.c, symbols.c,
75 filesys.c, posix.c: Converted docstrings to ANSI C format and
e7a96050
MD
76 escaped " occurring inside string literals.
77
682eefe9
MD
78Tue Jan 18 13:21:08 2000 Mikael Djurfeldt <mdj@r11n07-s.pdc.kth.se>
79
80 * posix.c (scm_mknod): Escape " occuring inside docstring.
81
56cfe22b
MD
822000-01-18 Mikael Djurfeldt <mdj@mdj.nada.kth.se>
83
84 * alist.c, chars.c, debug.c, dynl.c, dynwind.c, error.c, eval.c,
85 evalext.c, filesys.c, gc.c, hash.c, hashtab.c, ioext.c,
86 keywords.c, list.c, load.c, macros.c, net_db.c, numbers.c,
87 objprop.c, ports.c, posix.c, print.c, procprop.c, procs.c,
88 ramap.c, regex-posix.c, root.c, scmsigs.c, simpos.c, socket.c,
89 stacks.c, stime.c, strings.c, strop.c, strports.c, struct.c,
90 symbols.c, throw.c, unif.c, vectors.c, version.c, vports.c,
91 weaks.c: Converted docstrings to ANSI C format.
92
93 * filesys.c (scm_chmod), simpos.c (scm_system), version
94 (scm_version), vports (scm_make_soft_port): Escape " occuring
95 inside docstring.
96
fcb1720f
GB
97Mon Jan 17 11:41:22 2000 Greg J. Badros <gjb@cs.washington.edu>
98
99 * scm_validate.h: Added SCM_VALIDATE_ULONG_COPY,
100 SCM_VALIDATE_LONG_COPY
101
102 * numbers.c: Use SCM_VALIDATE_ULONG_COPY, instead of
103 SCM_VALIDATE_INUM_COPY to let bigger numbers be used. Rename a
104 couple of formal arguments (and fix their uses) to make arguments
105 match the documentation.
106
b9af3d0e
MS
1072000-01-14 <mstachow@alum.mit.edu>
108
109 * Makefile.am: Augment path when running guile-doc-snarf so
110 guile-func-name-check is found.
111
153511a7
GB
112Fri Jan 14 09:34:55 2000 Greg J. Badros <gjb@cs.washington.edu>
113
114 * scm_validate.h (SCM_NUM2LONG_DEF): Fix this macro to just use
115 def, not SCM_MAKINUM(def); thanks Janis Bzerins!
116
59d5245f
GB
117Wed Jan 12 00:06:53 2000 Greg J. Badros <gjb@cs.washington.edu>
118
119 * net_db.c (s_scm_inet_makeaddr): Use SCM_NUM2ULONG since that's
120 the way guile-1.3.4 worked, but #if 0 out the version using
121 SCM_VALIDATE_INUM_COPY for stricter testing.
122
95aec69f
GB
123Tue Jan 11 18:24:18 2000 Greg J. Badros <gjb@cs.washington.edu>
124
125 * guile-doc-snarf.in: Use new $fullfilename for running
126 guile-func-name-check, and put "$fullfilename" and "$filename" in
127 quotes at uses to make sure re-splitting on whitespace does not
128 occur (so filenames w/ embedded whitespace would work okay, though
129 I sure hope we never have to deal with that! :-) ). Thanks to
130 Mikael for pointing out the source_dir != build_dir was broken.
131
b7ac2837
GB
132Tue Jan 11 17:42:40 2000 Greg J. Badros <gjb@cs.washington.edu>
133
134 * scm_validate.h: Added SCM_NUM2LONG_DEF macro. Make
135 SCM_OUT_OF_RANGE use SCM_MAKINUM, not scm_long2num. Added
136 SCM_COERCE_ROSTRING macro. Added SCM_VALIDATE_NONEMPTYLIST
137 macro. Fix SCM_VALIDATE_STRINGORSUBSTR macro to not use SLOPPY
138 variants.
139
140 * ports.c (scm_port_closed_p): Validate that the arg is a PORT,
141 then return whether it's an open port (was validating that it was
142 an open port -- this was a bug I introduced back in December, but
143 my careful reading of diffs caught it).
144
145 * numbers.c: Recombine the two conditional-compilation paths for
146 all the log* primitives -- they were split based on #ifndef
147 scm_long2num; factored out a SCM_LOGOP_RETURN macro, and fixed
148 some bugs and inconsistencies in the two sets of implementations.
149 (scm_lognot) Fixed *atrocious* re-use of a SCM as an integer!
150
151 * ioext.c: Use SCM_ASSERT_RANGE in a couple places, and
152 SCM_VALIDATE_INUM_COPY once where it should've been used.
153
154 * fluids.c (scm_internal_with_fluids): Use
155 SCM_VALIDATE_LIST_COPYLEN.
156
157 * filesys.c: Use SCM_NUM2LONG instead of SCM_VALIDATE_INUM_COPY;
158 this is questionable as it relaxes type safety, but other changes
159 were useful and all SCM_NUM2LONG's should probably be
160 revisited. Use SCM_OUT_OF_RANGE, SCM_WRONG_TYPE_ARG.
161
162 * evalext.c: line-break change on 1 line.
163
164 * eval.c (nconc2last): Takes a non-empty list as its first
165 argument, not just a list.
166
167 * dynl.c: Use new SCM_COERCE_ROSTRING macro.
168
169Tue Jan 11 15:44:23 2000 Greg J. Badros <gjb@cs.washington.edu>
170
171 * dynl.c, feature.c, filesys.c, fports.c, list.c, load.c,
172 net_db.c, sort.c, stacks.c, unif.c: Use SCM_WTA, SCM_MISC_ERROR
173 where possible.
174
175 * symbols.c (scm_sysintern0): Fixed the function name in a
176 scm_misc_error invocation.
177
178 * print.c (scm_simple_format): Do not need SCM_COERCE_SUBSTR, and
179 use scm_return_first to ward off latent GC bug that Mikael caught.
180
181 * async.c: Use SCM_VALIDATE_ASYNC_COPY one place where it wasn't
182 used before but should've been.
183
d61f6b02
MD
1842000-01-12 Mikael Djurfeldt <mdj@thalamus.nada.kth.se>
185
186 * snarf.h (SCM_PROC1): Replaced SCM (*) (...) with
187 SCM_FUNC_CAST_ARBITRARY_ARGS.
188
88423ab1
GB
189Tue Jan 11 13:44:07 2000 Greg J. Badros <gjb@cs.washington.edu>
190
191 * guile-func-name-check.in: Added this script to statically check
192 #define FUNC_NAME, #undef FUNC_NAME in the source.
193
194 * sort.c, posix.c: Fix #undef FUNC_NAME lines to not have trailing
195 redundant comment, semicolon; caught by new guile-func-name-check
196 script.
197
198 * debug.c: Fix mistaken #define FUNC_NAME for scm_make_iloc.
199 Caught by new guile-func-name-check-script.
200
201 * Makefile.am: Added guile-func-name-check to bin_SCRIPTS
202
203 * ramap.c: Fix #if 0'd out code to be syntactically acceptable to
204 guile-func-name-check.
205
206 * guile-doc-snarf.in: Run guile-func-name-check on the file before
207 doing the snarf.
208
7f15e635
GB
209Tue Jan 11 11:31:10 2000 Greg J. Badros <gjb@cs.washington.edu>
210
211 * fports.c, ports.c, ports.h, strports.c, vports.c: Make write
212 port function take const void*, not void*.
213
bf121b59
GB
214Tue Jan 11 11:18:07 2000 Greg J. Badros <gjb@cs.washington.edu>
215
216 * scm_validate.h, chars.c, ports.c, print.c, read.c, strings.c,
217 strop.c: Use SCM_VALIDATE_ICHR, SCM_VALIDATE_ICHR_COPY instead of
218 SCM_VALIDATE_CHAR, SCM_VALIDATE_CHAR_COPY. Change made for
219 consistency with the other macros dealing with immediate
220 characters. (Similar to INT -> INUM change a week or so ago).
221
7965d98f
GB
222Tue Jan 11 10:41:46 2000 Greg J. Badros <gjb@cs.washington.edu>
223
224 * dynl.c, error.c, eval.c, feature.c, filesys.c, fports.c, list.c, load.c,
225 net_db.c, read.c, socket.c: Update error messages to use ~A for
226 %s, ~S for %S to work with new `simple-format' format and be
227 standardized better.
228
229 * print.h, print.c (scm_simple_format): Added `simple-format'
230 primitive. It's the old scm_display_error, with ARGS now a rest
231 parameter, and the destination first instead of last (and a couple
232 new capabilities inspired by `format' -- #t as destination means
233 current-output-port, #f means return the formatted text as a
234 string.
235
236 * gh.h, gh_data.c, ports.h, ports.c: Added some missing const specifications.
237
238 * backtrace.c (scm_display_error_message): Rewrote to use
239 scm_simple_format() procedure.
240
241 * __scm.h: Added commented-out #define of GUILE_DEBUG_FREELIST
242
f73d2411
MV
2432000-01-09 Marius Vollmer <mvo@zagadka.ping.de>
244
245 Finally applied the libltdl patch from Thomas Tanner, with slight
246 modifications.
247
248 * DYNAMIC-LINKING: Removed because it is obsolete.
249 * dynl.c: Use ANSI prototypes.
250 (sysdep_dynl_link): Use lt_dlopenext instead of lt_dlopen.
251 * scmconfig.h.in: Do not change, as it is automatically generated.
252
253 1999-07-25 Thomas Tanner <tanner@ffii.org>
254
255 * dynl-dl.c, dynl-dld.c, dynl-shl.c, dynl-vms.c: deleted
256 (obsolete)
257 * Makefile.am: likewise, add INCLTDL (libltdl headers) to
258 INCLUDES, set dlpreopened files in LDFLAGS, link libguile
259 against libltdl
260 * dynl.c: use libltdl if DYNAMIC_LINKING is enabled,
261 * guile.c: register preloaded modules
262 * scmconfig.h.in: remove obsolete symbols
263
38c1d3c4
GH
2642000-01-09 Gary Houston <ghouston@arglist.com>
265
266 * These changes should make it unnecessary to call tzset from
267 Scheme after modifying the TZ environment variable, even if the
268 system date facilities cache the value.
269 * stime.c (setzone, scm_localtime): added comments.
270 (tzset): don't define a noop tzset macro if HAVE_TZSET not defined.
271 (setzone): don't call tzset.
272 (restorezone): call tzset only if HAVE_TZSET is defined.
273 (scm_tzset): don't define if HAVE_TZSET not defined. Change the
274 doc string to indicate that this procedure isn't likely to do
275 anything useful.
276 (scm_localtime, scm_strftime, scm_mktime): call tzset if
277 LOCALTIME_CACHE is defined.
278
9359d657
MD
2792000-01-09 Mikael Djurfeldt <mdj@thalamus.nada.kth.se>
280
281 * posix.c (scm_sync): Return SCM_UNSPECIFIED.
282
f25f761d
GH
2832000-01-09 Gary Houston <ghouston@arglist.com>
284
285 * eval.c: define scm_unbound_variable_key ('unbound-variable).
286 scm_lookupcar1: throw an error with key 'unbound-variable instead
287 of 'misc-error when an unbound variable is encountered.
288
289 * filesys.c (scm_mkdir, scm_rmdir, scm_getcwd, scm_select,
290 scm_symlink, scm_readlink, scm_lstat),
291 posix.c (scm_setpgid, scm_setsid, scm_ctermid, scm_tcgetpgrp,
292 scm_tcsetpgrp, scm_uname, scm_setlocale, scm_mknod, scm_nice,
293 scm_sync),
294 simpos.c (scm_system),
295 stime.c (scm_times, scm_strptime):
296 move the HAVE_XXX feature tests out of the procedure bodies.
297 don't use SCM_SYSMISSING.
298 scm_validate.h (SCM_SYSMISSING): removed.
299 error.h, error.c (scm_sysmissing): comment that this is deprecated.
300 see ChangeLog entry for 1999-12-28.
301
a4dd2611
GB
302Sat Jan 8 19:52:04 2000 Greg J. Badros <gjb@cs.washington.edu>
303
304 * scm_validate.h (SCM_VALIDATE_BOOL_COPY): Fix typo.
305
306Sat Jan 8 17:06:46 2000 Greg J. Badros <gjb@cs.washington.edu>
307
308 * backtrace.c: Fix spelling typo in a comment.
309
310 * snarf.h: Use new SCM_DOCS macro to encapsulate the non SCM_INIT
311 text. Reformatted some of the expansions.
312
5ac36451
GB
313Fri Jan 7 15:50:46 2000 Greg J. Badros <gjb@cs.washington.edu>
314
315 * scm_validate.h (SCM_OUT_OF_RANGE): Use scm_out_of_range_pos to
316 report the position of the argument.
317
318 * error.h, error.c (scm_out_of_range_pos): Added this function to
319 take extra "pos" argument, the position number of the errant
320 argument.
321
322 * debug.c: Use SCM_OUT_OF_RANGE instead of scm_out_of_range.
323
324 * snarf.h: Use SCM_HERE and SCM_INIT as names, not SCM_NOTSNARF
325 and SCM_SNARFING. Also put the %%% in the SCM_INIT since Mikael
326 prefers that and I'm reasonably indifferent.
327
328Fri Jan 7 15:03:32 2000 Greg J. Badros <gjb@cs.washington.edu>
329
330 * snarf.h: Factor out differences between C++ and non-C++ into
331 SCM_FUNC_CAST_ARBITRARY_ARGS macro. Modify all the snarf macro
332 definitions to use SCM_NOTSNARF and SCM_SNARFING macros (like
333 Mikael's macros, below, but changed names and SCM_SNARFING no
334 longer expands to include %%% -- that must appear in the argument
335 so that the token appears at the call-site as a reminder).
336
088bb1d4
MD
3372000-01-07 Mikael Djurfeldt <mdj@thalamus.nada.kth.se>
338
339 * snarf.h (SCM_INSITU, SCM_INIT): New snarf macros for use in user
340 snarf macro definitions.
341
636480e6
MD
3422000-01-06 Mikael Djurfeldt <mdj@mdj.nada.kth.se>
343
344 * chars.c (scm_integer_to_char): Use Greg's nice
345 SCM_VALIDATE_INUM_RANGE macro for argument checking for closer
346 adherence to R5RS.
347
7c5628e2
GB
348Thu Jan 6 11:48:49 2000 Greg J. Badros <gjb@cs.washington.edu>
349
350 * *.c, snarf.h: Replace GUILE_PROC1 with SCM_DEFINE1 throughout.
351
2cc0f8cb
GB
352Thu Jan 6 11:22:53 2000 Greg J. Badros <gjb@cs.washington.edu>
353
354 * Makefile.am (ETAGS_ARGS): Switch to SCM_DEFINE, SCM_DEFINE1
355 instead of GUILE_PROC.
356
357Thu Jan 6 11:21:49 2000 Greg J. Badros <gjb@cs.washington.edu>
358
359 * alist.c: Do not report mismatch errors on some uses of `tmp' (do
360 this by using SCM_ARG2 instead of `2' in the SCM_VALIDATE_CONS
361 macro call.
362
9179dcdd
GB
363Thu Jan 6 09:54:33 2000 Dirk Herrmann <dirk@ida.ing.tu-bs.de> --gjb applied
364
365 * scm_validate.h: Remove some redundant NIMP tests.
366
367 * alist.c: minimize scope of the tmp variables, and initialize
368 them when declared. The strange SCM_NIMP tests are replaced by
369 SCM_CONSP tests that more closely reflect the intended semantics.
370 However, we don't get a performance penalty here, because the
371 SCM_CONSP test was performed by the ALISTCELL test anyway. * The
372 extremely ugly use of ASRTGO macros was removed: The calls to
373 ASRTGO were not encapsulated by "#ifndef SCM_RECKLESS", but got a
374 label parameter that only exists when SCM_RECKLESS is not defined.
375 This works, because ASRTGO itself is defined in a way that it only
376 makes use of the label parameter if SCM_RECKLESS is not defined
377 (shudder!). Does guile make at all use of the possibility to
378 define SCM_RECKLESS? * Codesize is likely to be reduced, since
379 instead of two calls to SCM_ASSERT performed by the ALISTCELL test
380 we now only get one test.
381
382 * list.c: Use SCM_NNULLP, not SCM_NIMP as appropriate. Also use
383 SCM_NULLP instead of SCM_IMP. Drop use of "register" keyword on
384 some variables in `list?'. Fix `reverse' and `reverse!'
385 primitives to handle improper lists better.
386
15b33280
GB
387Wed Jan 5 11:24:53 2000 Greg J. Badros <gjb@cs.washington.edu>
388
389 * *.[ch]: Whitespace changes -- added space after SCM_VALIDATE_*
390 macros and SCM_DEFINE macros to match GNU coding standards.
391
ca8cd130
GB
392Wed Jan 5 11:04:24 2000 Greg J. Badros <gjb@cs.washington.edu>
393
394 * *.[ch]: Replace GUILE_PROC w/ SCM_DEFINE.
395
fb764465
GB
396Wed Jan 5 10:59:06 2000 Greg J. Badros <gjb@cs.washington.edu>
397
398 * *.[ch]: Replace SCM_VALIDATE_INT w/ SCM_VALIDATE_INUM for
399 better consistency with the names of other SCM_VALIDATE_ macros
400 and better conformance to guile naming policy.
401
402Wed Jan 5 10:50:39 2000 Greg J. Badros <gjb@cs.washington.edu>
403
404 * ports.c (s_scm_close_all_ports_except): Use SCM_ARG1 in a
405 SCM_VALIDATE instead of 1 to avoid a check on the argument (since
406 it's not the actual name of the formal).
1e484823
GB
407
408 * guile-snarf.awk.in: Do argument/number mismatch checking and
409 print warnings in an Emacs compile-mode parseable format.
410
411 * struct.c: Use SCM_ASSERT_RANGE instead of SCM_ASSERT w/
412 SCM_OUTOFRANGE as 3rd argument.
413
414 * random.c: Fix argument/number mismatch (that I introduced :-( ).
415
416 * __scm.h: Do not #define SCM_ARG* when snarfing;
417 lets us distinguish between 1 and SCM_ARG1 when snarfing as only
418 the former (using the number) requires the argument to match the
419 formal in the current argument snarfing check.
420
421 * snarf.h: Give new definition of SCM_ASSERT when in
422 snarfing mode to output a lexically-identifiable sequence that the
423 guile-snarf.awk script uses to verify argument/position matching.
424
425 * ramap.c: Remove extraneous #undef FUNC_NAME.
426
53fc4636
GB
427Wed Jan 5 08:36:38 2000 Greg J. Badros <gjb@cs.washington.edu>
428
429 * guile-doc-snarf.awk.in: Removed -- guile-snarf.awk.in is the
430 current version of the same functionality; it writes the .x output
431 to stdout instead of directly into the file.
432
433Wed Jan 5 08:15:04 2000 Greg J. Badros <gjb@cs.washington.edu>
434
435 * unif.c, symbols.c, strings.c, stacks.c, random.c, print.c,
436 posix.c: Eliminated a bunch of SCM_NIMP(..)s that are now
437 redundant with the safer macros. Patch from Dirk Hermann applied
438 by hand. Thanks Dirk!
439
440 * scm_validate.h: Added SCM_VALIDATE_VECTOR_OR_DVECTOR for some
441 uses in random.c.
442
443 * ramap.c: whitespace change.
444
3b5345d9
GB
445Tue Jan 4 14:21:35 2000 Greg J. Badros <gjb@cs.washington.edu>
446
447 * options.c, objects.c, keywords.c, gc.c: Some redundant SCM_NIMP
448 removals from Dirk Hermann.
449
450 * alist.c: Rename formals to match the parameter names in the
451 documentation, updates to documentation. Thanks Dirk Hermann!
452
169aec65
MD
4532000-01-04 Mikael Djurfeldt <mdj@mdj.nada.kth.se>
454
db62436e
MD
455 * eval.c (SCM_CEVAL): Reverse order of
456 scm_stack_checking_enabled_p and SCM_STACK_OVERFLOW_P
457 (Thanks to Brad Knotwell.)
169aec65 458
da43d822
GB
459Mon Jan 3 08:30:02 2000 Greg Harvey <Greg.Harvey@thezone.net> (applied --01/03/00 gjb)
460
461 * gc.c (scm_debug_newcell): Added SCM_SETCAR of the newly
462 allocated cell.
463
464 * pairs.h: Added a comment about the need for the SCM_SETCAR in
465 SCM_NEWCELL macro.
466
467Mon Jan 3 08:25:19 2000 Greg J. Badros <gjb@cs.washington.edu>
468
469 * dynl-vms.c, debug.c, coop-threads.c, backtrace.c, eval.c: More
470 SCM_NIMP tests that were redundant are now eliminated. Patches
471 from Dirk Hermann applied by hand.
472
339999c7 473The ChangeLog continues in the file: "ChangeLog-1996-1999"