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