1 2001-03-17 Dirk Herrmann <D.Herrmann@tu-bs.de>
3 * error.[ch] (scm_error_num_args_subr): New function.
5 2001-03-16 Martin Grabmueller <mgrabmue@cs.tu-berlin.de>
7 * list.c (scm_list, scm_cons_star, scm_null_p, scm_list_p),
8 (scm_length, scm_append, scm_reverse, scm_list_ref),
9 (scm_memq, scm_memv, scm_member, scm_delv_x, scm_delete_x),
10 (scm_delq, scm_delv, scm_delete, scm_delq1_x, scm_delv1_x),
11 (scm_delete1_x), gc.c (scm_map_free_list),
12 (scm_free_list_length), hash.c (scm_hashq, scm_hashv),
13 (scm_hash), hashtab.c (scm_hashq_ref, scm_hashq_set_x),
14 (scm_hashq_remove_x, scm_hashv_ref, scm_hashv_set_x),
15 (scm_hashv_remove_x, scm_hash_ref, scm_hash_set_x),
16 (scm_hash_remove_x), ports.c (scm_pt_size, scm_pt_member), print.c
17 (scm_current_pstate), scmsigs.c (scm_usleep), goops.c
18 (scm_get_keyword, scm_sys_compute_slots): Added texinfo markup.
20 * weaks.c (scm_weak_vector_p, scm_weak_key_hash_table_p),
21 (scm_weak_value_hash_table_p, scm_doubly_weak_hash_table_p),
22 rdelim.c (scm_read_delimited_x), strop.c (scm_string_index),
23 symbols.c (scm_symbol_interned_p), numbers.c
24 (scm_string_to_number), ports.c (scm_port_p): Corrected texinfo
27 2001-03-16 Keisuke Nishida <kxn30@po.cwru.edu>
29 * snarf.h (SCM_CONST_LONG): Deprecated.
30 * tag.c (CONST_INUM): New macro. Use it to define scm_utag_*.
32 2001-03-15 Marius Vollmer <marius.vollmer@uni-dortmund.de>
34 * numbers.c (scm_num2ulong): Check that a bignum is positive
35 before looking at the magnitude. Correctly check for overflow
37 (scm_num2long_long): Likewise.
38 (scm_num2ulong_long): New.
39 (ULONG_LONG_MAX): Define if not already defined.
40 * numbers.h: (scm_num2ulong_long): New prototype.
42 2001-03-15 Martin Grabmueller <mgrabmue@cs.tu-berlin.de>
44 * validate.h (SCM_VALIDATE_OPOUTSTRPORT): New macro.
46 * strports.h (SCM_STRPORTP, SCM_OPSTRPORTP, SCM_OPINSTRPORTP),
47 (SCM_OPOUTSTRPORTP): New predicate macros.
48 (scm_open_input_string, scm_open_output_string),
49 (scm_get_output_string): New prototypes.
51 * strports.c (scm_open_input_string, scm_open_output_string),
52 (scm_get_output_string): New procedures (SRFI-6 compliant).
53 Made scm_tc16_strport non-static.
55 2001-03-15 Dirk Herrmann <D.Herrmann@tu-bs.de>
57 * macros.h (SCM_ASSYNT): Removed unused object argument from
60 * eval.c (scm_m_body, scm_m_quote, scm_m_begin, scm_m_if,
61 scm_m_set_x, scm_m_and, scm_m_or, scm_m_case, scm_m_cond,
62 scm_m_letstar, scm_m_do, scm_m_quasiquote, scm_m_delay,
63 scm_m_define, scm_m_letrec1, scm_m_letrec, scm_m_let, scm_m_apply,
64 scm_m_cont, scm_m_nil_cond, scm_m_nil_ify, scm_m_t_ify,
65 scm_m_0_cond, scm_m_0_ify, scm_m_1_ify, scm_m_atfop, scm_m_atbind,
66 scm_m_expand_body), evalext.c (scm_m_generalized_set_x,
67 scm_m_undefine), goops.c (scm_m_atslot_ref, scm_m_atslot_set_x,
68 scm_m_atdispatch): Removed unused object argument from call to
71 2001-03-15 Dirk Herrmann <D.Herrmann@tu-bs.de>
73 * gh.h/gh_data.c (gh_ints2scm): Changed the signature to use a
74 const int* to reflect that the input array of integers remains
75 unchanged. Thanks to Brett Viren for the hint.
77 2001-03-14 Martin Grabmueller <mgrabmue@cs.tu-berlin.de>
79 * gh_data.c (gh_scm2chars, gh_scm2shorts, gh_scm2longs),
80 (gh_scm2floats, gh_scm2doubles): Check for malloc() returning NULL
82 (gh_scm2newstr, gh_symbol2newstr): Change call to
83 scm_must_malloc() to malloc(), because user-free()able memory is
86 * gc.c: Added declaration of `scm_debug_check_freelist'.
88 2001-03-13 Martin Grabmueller <mgrabmue@cs.tu-berlin.de>
90 * ports.c (scm_port_mode): Changed `mode' array size to 4.
92 2001-03-12 Keisuke Nishida <kxn30@po.cwru.edu>
94 * strports.c (scm_object_to_string): New procedure.
95 (scm_strprint_obj): Deprecated.
96 * strports.h: Reflect the changes.
98 2001-03-12 Dirk Herrmann <D.Herrmann@tu-bs.de>
100 * goops.h (SCM_VALIDATE_PUREGENERIC): New macro.
102 * goops.c (scm_m_atslot_ref, scm_m_atslot_set_x,
103 scm_m_atdispatch): Provide definitions for FUNC_NAME. Don't use
104 SCM_ASSYNT to check for correct argument types. Either use some
105 SCM_VALIDATE_* macro or an explicit test.
107 (scm_make_foreign_object): Don't use SCM_ASSERT to check for
110 * macros.h (SCM_ASSYNT): On assertion failure, issue a misc-error
111 instead of calling scm_wta.
113 2001-03-12 Martin Grabmueller <mgrabmue@cs.tu-berlin.de>
115 * load.c (scm_primitive_load, scm_primitive_load_path),
116 (scm_sys_search_load_path): Corrected docstrings (file ->
119 * eval.c (scm_force): Added texinfo markup to docstring.
120 (scm_promise_p): Renamed parameter to `obj' to match docstring.
122 * debug-malloc.c: Reinserted #include <stdio.h>.
124 2001-03-11 Keisuke Nishida <kxn30@po.cwru.edu>
126 * list.c (s_scm_reverse_x): Use SCM_VALIDATE_LIST.
128 * environments.c, error.c, eval.c, filesys.c, hashtab.c, load.c,
129 net_db.c, procprop.c, read.c, scmsigs.c, socket.c, struct.c:
130 Use SCM_LISTn instead of scm_listify.
132 2001-03-10 Mikael Djurfeldt <mdj@linnaeus.mit.edu>
134 * _scm.h: Removed #include <errno.h>.
136 * error.c, net_db.c, putenv.c, stime.c: Removed declaration of
137 errno variable (can be a macro on some systems, for example when
138 using linux libc with threads).
140 * error.c, filesys.c, gc.c, ioext.c, iselect.c, net_db.c, ports.c,
141 posix.c, print.c, putenv.c, scmsigs.c, script.c, simpos.c, smob.c,
142 socket.c, srcprop.c, stime.c, strop.c, unif.c, vports.c: Added
143 #include <errno.h> in these 20 out of 100 files.
145 2001-03-10 Gary Houston <ghouston@arglist.com>
147 * socket.c: add a definition of SUN_LEN (from glibc) for when it's
150 2001-03-09 Mikael Djurfeldt <mdj@linnaeus.mit.edu>
152 * coop.c: Inserted #include <stdio.h>.
154 * iselect.c: Reinserted #include <stdio.h>.
156 2001-03-10 Marius Vollmer <mvo@zagadka.ping.de>
158 * posix.c: Replaced `#define' of __USE_XOPEN right before
159 including unistd.h with a define of _GNU_SOURCE at the very top of
162 2001-03-09 Keisuke Nishida <kxn30@po.cwru.edu>
164 * alist.c, arbiters.c, async.c, backtrace.c, boolean.c, chars.c,
165 continuations.c, debug-malloc.c, debug.c, dynwind.c, eq.c, eval.c,
166 feature.c, filesys.h, gc_os_dep.c, gh_data.c, gh_eval.c,
167 gh_funcs.c, gh_io.c, gh_list.c, gh_predicates.c, hash.c,
168 hashtab.c, iselect.c, keywords.c, list.c, load.c, mallocs.c,
169 net_db.c, numbers.c, objprop.c, objprop.h, options.c, pairs.c,
170 print.c, procprop.c, procs.c, properties.c, ramap.c,
171 regex-posix.c, root.c, scmsigs.c, simpos.c, socket.c, srcprop.c,
172 stackchk.c, stacks.c, strings.c, strop.c, strorder.c, struct.c,
173 symbols.c, tag.c, threads.c, variable.c, vectors.c, weaks.c:
174 Remove #include <stdio.h>
175 * gc.c, gdbint.c, root.c, sort.c, unif.c: Add #include <string.h>.
177 * procs.c (scm_make_subr_opt): Init symcell to avoid warning.
179 2001-03-09 Martin Grabmueller <mgrabmue@cs.tu-berlin.de>
181 * posix.c (scm_gethostname): Set initial name length to 256 for
184 2001-03-09 Martin Grabmueller <mgrabmue@cs.tu-berlin.de>
186 * posix.h (scm_crypt, scm_chroot, scm_getlogin, scm_cuserid),
187 (scm_getpriority, scm_setpriority, scm_getpass, scm_flock),
188 (scm_sethostname, scm_gethostname): New prototypes.
190 * posix.c: Added inclusion of <crypt.h>, <sys/resource.h> and
191 <sys/file.h>, if present.
192 (scm_init_posix): [PRIO_PROCESS, PRIO_PGRP, PRIO_USER, LOCK_SH,
193 LOCK_EX, LOCK_UN, LOCK_NB]: New variables.
194 (scm_crypt, scm_chroot, scm_getlogin, scm_cuserid),
195 (scm_getpriority, scm_setpriority, scm_getpass, scm_flock),
196 (scm_sethostname, scm_gethostname): New procedures.
198 2001-03-08 Neil Jerram <neil@ossau.uklinux.net>
200 * ports.c (scm_port_column): Docstring fixes: (i) port-line arg is
201 not optional (ii) "recommend" spelling correction.
203 2001-03-08 Mikael Djurfeldt <mdj@linnaeus.mit.edu>
205 * ramap.c (racp): Removed optimization which caused array copying
206 to fail if the two arrays shared storage. Re-inserted the IVDEP
207 macros removed in the change of 2000-03-09. (Don't really have a
208 complete grasp of what they are for, but they seem to be necessary
209 on Crays. This needs testing!) Thanks to Miroslav Silovic.
211 * hash.c (scm_string_hash): Don't downcase characters.
213 2001-03-07 Mikael Djurfeldt <mdj@linnaeus.mit.edu>
215 * symbols.c (scm_symbols_prehistory): Changed symbol hash table
216 size from 277 --> 1009.
218 * symbols.c, symbols.h (scm_sys_symbols): New function GUILE_DEBUG
221 * coop-threads.c: Fixed change of 2001-03-06.
223 * validate.h: Code formatting.
225 2001-03-07 Keisuke Nishida <kxn30@po.cwru.edu>
227 * Makefile.am (*.x): Add dependency on snarf.h and guile-doc-snarf.in.
228 (*.doc): Add dependency on guile-snarf.awk.in.
230 * guile-snarf.awk.in: Neglect spaces at the end of
231 SCM_SNARF_DOCSTRING_END. Skip lines "# NN ..." in the
232 middle of docstrings. (To avoid the problem with gcc-2.96.)
234 2001-03-06 Dirk Herrmann <D.Herrmann@tu-bs.de>
236 * coop-threads.c (scm_call_with_new_thread), load.c
237 (scm_primitive_load, scm_sys_search_load_path), random.c
238 (scm_c_default_rstate), struct.c (scm_make_struct_layout,
239 scm_struct_ref, scm_struct_set_x): Don't use SCM_ASSERT to
240 (potentially) issue a scm-misc-error or wrong-num-args error
243 * load.c (scm_search_path): Use SCM_ASSERT_TYPE to give details
244 about the expected type with the wrong-type-arg error message.
246 * smob.c (scm_make_smob): Abort on misuse of smob - it indicates
247 a C level bug that can't be fixed from scheme anyway.
249 2001-03-05 Mikael Djurfeldt <mdj@linnaeus.mit.edu>
251 * eval.c (scm_m_letstar): Removed check for duplicate bindings.
252 Duplicate bindings are OK in a let* since a let* is semantically
253 equivalent to a nested set of let:s.
255 2001-03-05 Martin Grabmueller <mgrabmue@cs.tu-berlin.de>
257 * print.c (scm_print_options): Fixed texinfo in docstring.
259 * net_db.c (scm_getserv, scm_getproto, scm_getnet): Return #f if
260 the underlying functions getservent, getprotoent or getnetent
261 return NULL instead of signalling an error.
263 2001-03-04 Gary Houston <ghouston@arglist.com>
265 * socket.c (scm_fill_sockaddr): don't allow buffer overflows when
266 taking an unexpectedly large filename for an AF_UNIX socket from
267 bind/connect/sendto (thanks to Martin Grabmueller).
269 * socket.c (scm_sock_fd_to_port, SCM_SOCK_FD_TO_PORT): removed the
270 former and adjusted the latter.
271 (scm_socket, scm_socketpair): cosmetic changes.
272 (scm_getsockopt, scm_setsockopt): declare optlen as int, not
273 size_t as socklen_t substitute. don't restrict args/return values
274 to INUM: allow full range of int or size_t.
275 (scm_fill_sockaddr): check arguments before allocating memory, to
276 avoid leakage. use malloc, not scm_must_malloc.
277 (scm_connect, scm_bind, scm_sendto): use int, not size_t as socklen_t
278 substitute. free the sockaddr structure before throwing an error.
279 (scm_init_add_buffer): procedure removed, together with its static
280 buffer scm_addr_buffer, which wouldn't be thread safe. instead,
281 define a macro MAX_ADDR_SIZE and declare the buffer where needed.
282 (scm_accept, scm_getpeername, scm_getsockname, scm_recvfrom,
283 scm_sendto): use a local buffer instead of scm_addr_buffer.
284 adjust for new SCM_SOCK_FD_TO_PORT. use int for address size,
286 (scm_recvfrom): set addr->sa_family to AF_UNSPEC before the recvfrom
287 call to detect whether recvfrom could be bothered to set the address.
288 (scm_init_socket): don't call scm_init_addr_buffer.
290 2001-03-04 Dirk Herrmann <D.Herrmann@tu-bs.de>
292 * debug.c (scm_procedure_source, scm_procedure_environment),
293 print.c (scm_get_print_state), ramap.c (scm_array_fill_int,
294 scm_array_index_map_x), sort.c (scm_sort_x, scm_sort,
295 scm_stable_sort_x, scm_stable_sort), stacks.c (scm_make_stack,
296 scm_last_stack_frame), symbols.c (scm_sym2vcell, scm_sym2ovcell),
297 unif.c (scm_list_to_uniform_array, scm_uniform_vector_length,
298 scm_transpose_array, scm_enclose_array, scm_array_in_bounds_p,
299 scm_uniform_vector_ref, scm_array_set_x, scm_uniform_array_read_x,
300 scm_uniform_array_write, scm_bit_set_star_x, scm_bit_count_star,
301 scm_array_to_list, scm_array_prototype), validate.h
302 (SCM_VALIDATE_NUMBER_COPY): Don't call function scm_wta, call
303 scm_misc_error or scm_wrong_type_arg instead.
305 * validate.h (SCM_WTA, RETURN_SCM_WTA): Deprecated.
307 2001-03-04 Mikael Djurfeldt <mdj@linnaeus.mit.edu>
309 * goops.c, goops.h (scm_sys_pre_expand_closure_x): Removed.
310 (scm_sys_tag_body): Added.
312 2001-03-04 Dirk Herrmann <D.Herrmann@tu-bs.de>
314 * continuations.c (continuation_apply), eval.c (scm_m_lambda,
315 scm_m_letstar, scm_m_letrec1, scm_m_let, SCM_APPLY), eval.h
316 (SCM_EVALIM2), evalext.c (scm_m_generalized_set_x), gc.c
317 (get_bvec, MARK), goops.c (scm_primitive_generic_generic),
318 options.c (scm_options), ports.c (scm_remove_from_port_table),
319 ramap.c (scm_ramapc), read.c (skip_scsh_block_comment, scm_lreadr,
320 scm_lreadparen, scm_lreadrecparen), script.c (script_get_octal,
321 script_get_backslash, script_read_arg), unif.c (scm_cvref): Don't
322 call function scm_wta, call scm_misc_error or scm_wrong_type_arg
325 2001-03-04 Mikael Djurfeldt <mdj@linnaeus.mit.edu>
327 * goops.c (scm_sys_pre_expand_closure_x): New procedure.
329 2001-03-04 Marius Vollmer <mvo@zagadka.ping.de>
331 * eval.c (scm_s_duplicate_bindings): New error message.
332 (scm_m_letrec1, scm_m_letstar): Check for duplicate bindings.
334 2001-03-03 Marius Vollmer <mvo@zagadka.ping.de>
336 * eval.h (SCM_EVALIM2): New macro. Use it when a
337 immediate, literal constant should be evaluated.
338 * eval.c (scm_s_duplicate_formals): New error message string.
339 (scm_c_improper_memq): New function.
340 (scm_m_lambda): Check for duplicate arguments.
341 (scm_ceval, scm_deval): When executing a body: only cons a new
342 toplevel environment frame when it is different from the
343 existing one; use EVALCAR instead of SIDEVAL so that we can properly
344 check for empty combinations; use SCM_EVALIM2 for the same reason
345 in the non-toplevel loop.
346 (nontoplevel_cdrxnoap, nontoplevel_cdrxbegin, nontoplevel_begin):
347 New labels with the meaning of their non-"nontoplevel" partners,
348 but they are used when it is known that the body is not evaluated at
350 (scm_apply, scm_dapply): use SCM_EVALIM2 to get proper error
351 reporting for empty combinations.
353 2001-03-02 Keisuke Nishida <kxn30@po.cwru.edu>
355 * Remove dump facilities.
356 * dump.c, dump.h: Removed.
357 * Makefile.am: Remove dump.c, dump.h, dump.x, dump.doc.
358 * init.c: Remove #include "libguile/dump.h".
359 (scm_init_guile_1): Remove scm_init_dump.
360 * smob.h (scm_smob_descriptor): Remove slots: dump, undump.
361 (scm_set_smob_dump, scm_set_smob_undump): Remove declaration.
362 * smob.c (scm_make_smob_type): Remove initialization: dump, undump.
363 (scm_set_smob_dump, scm_set_smob_undump): Removed.
365 * keywords.c: Remove #include "libguile/dump.h".
366 (keyword_dump, keyword_undump): Removed.
367 (scm_init_keywords): Remove scm_set_smob_dump and scm_set_smob_undump.
369 2001-03-02 Martin Grabmueller <mgrabmue@cs.tu-berlin.de>
371 * vectors.c (s_scm_vector_p, list->vector, scm_vector)
372 (scm_vector_ref, scm_vector_set_x, scm_vector_to_list)
373 (scm_vector_fill_x), strorder.c (scm_string_equal_p)
374 (scm_string_ci_equal_p, scm_string_less_p, scm_string_leq_p)
375 (scm_string_gr_p, scm_string_geq_p, scm_string_ci_less_p)
376 (scm_string_ci_geq_p), symbols.c (scm_symbol_p)
377 (scm_symbol_to_string, scm_string_to_symbol): Changed use of @t{}
378 to @code{} as the texinfo manual recommends, converted the
379 examples to use a @lisp{}-environment.
381 * strports.c (scm_eval_string): Cleaned up the docstring.
383 * struct.c (scm_struct_p, scm_struct_vtable_p): Added texinfo
386 * numbers.c (scm_exact_p, scm_odd_p, scm_even_p)
387 (scm_number_to_string, scm_string_to_number, scm_number_p)
388 (scm_real_p, scm_integer_p, scm_inexact_p, scm_make_rectangular)
389 (scm_make_polar, scm_inexact_to_exact): Added texinfo markup.
390 (scm_ash): Added texinfo markup and removed obsolete @refill.
391 (scm_gr_p): Corrected comment.
392 (scm_gr_p, scm_leq_p, scm_geq_p): Added texinfo markup to (future
394 (scm_positive_p, scm_less_p, scm_num_eq_p, scm_real_p)
395 (scm_number_p, scm_negative_p, scm_max, scm_min, scm_sum)
396 (scm_difference, scm_product, scm_divide, scm_asinh, scm_acosh)
397 (scm_atanh, scm_truncate, scm_round, scm_exact_to_inexact)
398 (floor, ceiling, $sqrt, $abs, $exp, $log, $sin, $cos, $tan, $asin)
399 ($acos, $atan, $sinh, $cosh, $tanh, scm_real_part, scm_imag_part)
400 (scm_magnitude, scm_angle, scm_abs, scm_quotient, scm_remainder)
401 (scm_modulo, scm_gcd, scm_lcm): Added (future docstring) comments.
403 2001-02-28 Dirk Herrmann <D.Herrmann@tu-bs.de>
405 * __scm.h (SCM_ASSERT_TYPE): Add missing macro parameter.
406 (Obviously nobody compiles with SCM_RECKLESS defined...)
408 * validate.h (SCM_ASSERT_RANGE): Use the argument number.
410 2001-02-23 Mikael Djurfeldt <mdj@linnaeus.mit.edu>
412 * ports.c, ports.h (scm_c_read, scm_c_write): New functions.
414 * ports.h (SCM_READ_BUFFER_EMPTY_P): New macro.
416 2001-02-24 Neil Jerram <neil@ossau.uklinux.net>
418 * numbers.c (scm_two_doubles, scm_sys_expt, scm_sys_atan2,
419 scm_make_polar): Rename arguments `z1' and `z2' to `x' and `y',
420 since use of `z' suggests that the arguments may be complex.
422 * goops.c (scm_make), numbers.c (scm_sys_expt): Fix docstring
425 2001-02-23 Neil Jerram <neil@ossau.uklinux.net>
427 * dump.c (scm_binary_write, scm_binary_read), eval.c
428 (scm_primitive_eval), guardians.c (scm_guardian_destroyed_p,
429 scm_guardian_greedy_p, scm_make_guardian), fports.c
430 (scm_file_port_p): Minor docstring fixes.
432 2001-02-22 Marius Vollmer <mvo@zagadka.ping.de>
434 * load.c (load): Use scm_primitive_eval_x instead of scm_i_eval_x.
436 * goops.c (scm_add_method, DEFVAR): Use scm_eval instead of
438 (make_class_from_template): Do not bother to set the current
439 module around the call to DEFVAR, scm_eval takes care of that.
440 (scm_init_goops): Make scm_module_goops and
441 scm_goops_lookup_closure permanent objects.
443 * eval.c (scm_ceval, scm_deval): When evaluating expressions on
444 top level, create a fresh top-level environment for each
445 expression instead of mutating the exisint frame. This is
446 important when that frame is closed over.
448 * numbers.c (s_scm_logior) [SCM_DIGSTOOBIG]: Also use
449 SCM_DIGSPERLONG instead of DIGSPERLONG.
451 2001-02-21 Marius Vollmer <mvo@zagadka.ping.de>
453 * eval.c (scm_ceval, scm_deval): Check for wrong number of args
454 before applying arrow procedure in `cond' and before applying
455 receiver procedure in call-with-current-continuation.
456 (scm_i_eval): Do not invoke scm_copy_tree in argument in SCM_XEVAL
457 macro. The argument is expanded more than one time.
459 * numbers.c (scm_logior) [SCM_DIGSTOOBIG]: Correctly use
460 SCM_BIGDIG instead of BIGDIG. Thanks to Steven G. Johnson!
462 2001-02-20 Marius Vollmer <mvo@zagadka.ping.de>
464 * guile-doc-snarf.in, guile-func-name-check.in: Added copyright
467 2001-02-17 Martin Grabmueller <mgrabmue@cs.tu-berlin.de>
469 * variable.c (scm_make_variable, scm_make_undefined_variable)
470 (scm_variable_ref, scm_variable_set_x, scm_builtin_variable)
471 (scm_variable_bound_p), values.c (scm_values)
472 (scm_call_with_values), unif.c (scm_bit_count)
473 (scm_bit_set_star_x), symbols.c (scm_gentemp)
474 (scm_gensym), strings.c (scm_string_p, scm_make_string)
475 (scm_read_only_string_p, scm_string_length, scm_string_ref)
476 (scm_string_set_x, scm_substring, scm_string_append), stime.c
477 (scm_strptime, scm_mktime), random.c (scm_seed_to_random_state)
478 (scm_copy_random_state, scm_random), print.c (scm_newline)
479 (scm_write_char, scm_simple_format), debug-malloc.c
480 (scm_malloc_stats), environments.c (scm_environment_p)
481 (scm_environment_bound_p, scm_environment_ref)
482 (scm_environment_fold, scm_environment_define)
483 (scm_environment_undefine, scm_environment_set_x)
484 (scm_environment_cell, scm_environment_observe)
485 (scm_environment_observe_weak, scm_environment_unobserve)
486 (scm_make_eval_environment, scm_eval_environment_p)
487 (scm_eval_environment_set_local_x, scm_eval_environment_local)
488 (scm_eval_environment_imported)
489 (scm_eval_environment_set_imported_x, scm_make_import_environment)
490 (scm_import_environment_p, scm_import_environment_imports)
491 (scm_import_environment_set_imports_x, scm_make_export_environment)
492 (scm_export_environment_p, scm_export_environment_private)
493 (scm_export_environment_set_private_x)
494 (scm_export_environment_signature)
495 (scm_export_environment_set_signature_x, scm_leaf_environment_p):
496 Added texinfo markup.
498 * ports.c (scm_drain_input): Lowercased argument to @var.
499 (scm_current_input_port, scm_current_output_port): Filled in
501 (scm_current_load_port, scm_set_current_output_port)
502 (scm_set_current_error_port, scm_port_line, scm_set_port_line_x):
503 Added texinfo markup.
505 * arbiters.c (scm_make_arbiter, scm_try_arbiter)
506 (scm_release_arbiter): Added texinfo markup to docstrings.
507 Changed `Returns' to `Return'.
508 (arbiter_print): Changed SCM_CDR to SCM_SMOB_DATA.
510 2001-02-16 Neil Jerram <neil@ossau.uklinux.net>
512 * guile-snarf.awk.in: Quote any `@'s that occur in Scheme names,
513 by doubling them to `@@'.
515 2001-02-16 Martin Grabmueller <mgrabmue@cs.tu-berlin.de>
517 * numbers.c (scm_lognot), random.c (scm_random,
518 scm_random_normal, scm_random_solid_sphere_x,
519 scm_random_hollow_sphere_x, scm_random_normal_vector_x,
520 scm_random_exp), dynwind.c
521 (scm_dynamic_wind): Removed unnecessary "" from docstrings.
523 * goops.c (scm_sys_initialize_object, scm_instance_p,
524 scm_class_name, scm_class_precedence_list, scm_class_slots,
525 scm_class_environment, scm_generic_function_name,
526 scm_generic_function_methods, scm_method_generic_function,
527 scm_method_specializers, scm_method_procedure, scm_make_unbound,
528 scm_unbound_p, scm_assert_bound, scm_at_assert_bound_ref,
529 scm_sys_fast_slot_ref, scm_sys_fast_slot_set_x, scm_slot_ref,
530 scm_slot_set_x, _scm_slot_bound_p, scm_slots_exists_p,
531 scm_sys_allocate_instance, scm_make, scm_pure_generic_p,
532 scm_class_direct_supers, scm_class_direct_slots,
533 scm_class_direct_subclasses, scm_class_direct_methods,
534 scm_accessor_method_slot_definition, scm_sys_goops_loaded),
535 debug.c (scm_with_traps, scm_memoized_p, scm_make_gloc,
536 scm_gloc_p, scm_make_iloc, scm_iloc_p, scm_memcons,
537 scm_mem_to_proc, scm_proc_to_mem, scm_unmemoize,
538 scm_memoized_environment, scm_procedure_name,
539 scm_procedure_source, scm_procedure_environment, scm_debug_hang),
541 (scm_class_of, scm_entity_p, scm_operator_p,
542 scm_set_object_procedure_x, scm_object_procedure,
543 scm_make_class_object), hooks.c (scm_make_hook_with_name,
544 scm_make_hook, scm_hook_p, scm_hook_empty_p, scm_add_hook_x,
545 scm_remove_hook_x, scm_reset_hook_x, scm_run_hook,
546 scm_hook_to_list), lang.c
547 (scm_nil_cons, scm_nil_car, scm_nil_cdr, scm_null, scm_nil_eq),
548 numbers.c (scm_sys_expt, scm_sys_atan2), print.c
549 (scm_print_options, scm_port_with_print_state,
550 scm_get_print_state), procs.c (scm_make_cclo, scm_procedure_p,
551 scm_closure_p, scm_thunk_p, scm_procedure_with_setter_p,
552 scm_make_procedure_with_setter, scm_procedure), throw.c
553 (scm_lazy_catch), modules.c (scm_standard_eval_closure), load.c
554 (scm_parse_path, scm_search_path), stacks.c (scm_make_stack,
555 scm_stack_ref, scm_stack_length, scm_frame_p,
556 scm_last_stack_frame, scm_frame_number, scm_frame_source,
557 scm_frame_procedure, scm_frame_arguments, scm_frame_previous,
558 scm_frame_next, scm_frame_real_p, scm_frame_procedure_p,
559 scm_frame_evaluating_args_p, scm_frame_overflow_p), filesys.c
560 (scm_dirname, scm_basename), dynwind.c
561 (scm_wind_chain), read.c (scm_read_options, scm_read,
562 scm_read_hash_extend), gc.c
563 (scm_unhash_name), eval.c (scm_eval_options_interface,
564 scm_evaluator_traps, s_scm_nconc2last), backtrace.c
565 (scm_display_error, scm_set_print_params_x,
566 scm_display_application, scm_display_backtrace, scm_backtrace),
567 async.c (scm_async, scm_system_async, scm_async_mark,
568 scm_system_async_mark, scm_run_asyncs, scm_noop,
569 scm_set_tick_rate, scm_set_switch_rate, scm_unmask_signals,
570 scm_mask_signals): Added docstrings.
572 2001-02-15 Keisuke Nishida <kxn30@po.cwru.edu>
574 * dump.c (scm_undump): Use SCM_CARLOC/SCM_CDRLOC to obtain the
575 address of car/cdr. (Thanks to Dirk Herrmann)
576 Use scm_sizet to obtain the length of strings.
577 (Thanks to Matthias Koeppe)
579 2001-02-15 Marius Vollmer <mvo@zagadka.ping.de>
581 * symbols.c (scm_mem2symbol): Put a empty statement after the
582 next_symbol label. This is mandated by ANSI, appearantly.
584 2001-02-13 Marius Vollmer <marius.vollmer@uni-dortmund.de>
586 * gc_os_dep.c: Do not include <linux/version.h>. It makes no
587 sense to compile for a specific kernel version. Do not include
588 <asm/signal.h> while defining __KERNEL__. This hack should no
589 longer be needed and caused problems.
591 2001-02-13 Marius Vollmer <mvo@zagadka.ping.de>
593 * eval.c (scm_ceval, scm_deval): use `SIDEVAL' instead of
594 SCM_CEVAL when evaluating subforms of `begin' forms. SCM_CEVAL
595 can not deal with immediates.
597 2001-02-12 Keisuke Nishida <kxn30@po.cwru.edu>
599 * list.c (scm_list_copy): Validate the first argument.
601 2001-02-11 Marius Vollmer <mvo@zagadka.ping.de>
603 Fix evaluator so that top-level expressions are correctly
604 evaluated with respect to the module system.
606 * modules.h. modules.c (scm_current_module_lookup_closure): New
609 * eval.h (scm_primitive_eval, scm_primitive_eval_x): New
611 (scm_i_eval, scm_i_eval_x, scm_eval, scm_eval_x): Changed argument
612 names to better reflect their meaning.
614 * eval.c (scm_ceval, scm_deval): Recognize when `begin' is being
615 evaluated at top-level and synronize lookup closure before
616 executing every subform.
617 (scm_primitve_eval_x, scm_primitive_eval): New functions.
618 (scm_eval_x, scm_eval): Reimplement in terms of
619 scm_primitive_eval_x and scm_primitive_eval, respectively.
621 2001-02-09 Marius Vollmer <mvo@zagadka.ping.de>
623 * macros.c (scm_macro_name, scm_macro_transformer): Use
624 SCM_SMOB_DATA instead of SCM_CDR. Provided by Martin Grabmueller.
627 2001-02-10 Keisuke Nishida <kxn30@po.cwru.edu>
629 * dump.c (scm_store_bytes): Store data size before data.
630 (scm_restore_bytes): Restore data size. Takes a pointer to size.
631 * dump.h (scm_restore_bytes): Updated.
633 2001-02-09 Keisuke Nishida <kxn30@po.cwru.edu>
635 * dump.c: Use double cells for update schedule.
637 2001-02-08 Keisuke Nishida <kxn30@po.cwru.edu>
639 * ports.c (scm_unread_char): Take an optional argument.
641 2001-02-08 Marius Vollmer <marius.vollmer@uni-dortmund.de>
643 * modules.h (scm_selected_module, scm_current_module): Renamed
644 scm_selected_module to scm_current_module to synchronize Scheme
646 (scm_select_module, scm_set_current_module): Likewise. Changed
649 * ports.c (scm_port_for_each): Make a snapshot of the port table
650 before iterating over it. The table might change while the user
651 code is running. With the snapshot, the user can depend on the
652 fact that each port that existed at the start of the iteration is
653 encountered exactly once. (ice-9 popen) depends on this.
655 2001-02-08 Dirk Herrmann <D.Herrmann@tu-bs.de>
657 * strings.h (SCM_STRING_MAX_LENGTH): New macro.
659 * strings.c (scm_makstr, scm_take_str, scm_make_string): Added
660 range checking for the size parameter. Thanks to Martin
661 Grabmueller for the hint.
663 (scm_makstr): Reordered string initialization to make interrupt
664 deferring unnecessary.
666 * vectors.c (scm_make_vector): Fixed range checking.
668 2001-02-08 Dirk Herrmann <D.Herrmann@tu-bs.de>
670 * vectors.h (SCM_VECTOR_MAX_LENGTH): New macro.
672 * vectors.c (scm_make_vector, scm_c_make_vector): Improved the
673 checking of the size parameter for type correctness and valid
674 range. Thanks to Rob Browning for reporting the problem. Instead
675 of deferring interrupts, scm_remember_upto_here_1 is used.
677 2001-02-05 Keisuke Nishida <kxn30@po.cwru.edu>
679 * dump.c (scm_store_cell_object, scm_restore_cell_object): Removed.
680 (scm_dump_cell_update): Removed.
681 (scm_dump_update): Renamed from scm_dump_object_update.
682 (scm_restore_string, scm_restore_bytes, scm_restore_word): Takes
683 a pointer instead of returning a value.
684 * keywords.c (keyword_undump): Updated.
686 2001-02-05 Keisuke Nishida <kxn30@po.cwru.edu>
688 * dump.c, dump.h: Modified a lot.
689 (SCM_DUMP_COOKIE): Version 0.1
690 (scm_dump_mark): Removed.
691 (scm_restore_cell_object, scm_store_cell_object): New functions.
693 * smob.h (scm_smob_descriptor): Removed slots: dump_mark,
694 dump_dealloc, dump_store, undump_alloc, undump_restore, undump_init.
695 New slots: dump, undump.
696 * smob.c (scm_make_smob_type, scm_set_smob_dump, scm_set_smob_undump):
699 * keywords.c (keyword_dump): Renamed from keyword_dealloc.
700 (keyword_undump): Renamed from keyword_alloc.
701 (scm_init_keywords): Set keyword_dump and keyword_undump.
703 2001-02-03 Michael Livshin <mlivshin@bigfoot.com>
705 * gc.c (DOUBLECELL_ALIGNED_P): new macro, a better-named analog of
706 the deprecated SCM_DOUBLE_CELLP.
708 * tags.h (SCM_DOUBLE_CELLP): deprecated.
710 2001-02-02 Keisuke Nishida <kxn30@po.cwru.edu>
712 * dump.c, dump.h: New files.
713 * Makefile.am: Added dump.c, dump.h, dump.x, dump.doc.
714 * init.c: #include "libguile/dump.h".
715 (scm_init_guile_1): Call scm_init_dump.
716 * smob.h (scm_smob_descriptor): New slots: dump_mark,
717 dump_dealloc, dump_store, undump_alloc, undump_restore,
719 * smob.c (scm_make_smob_type): Init the new slots.
720 (scm_set_smob_dump, scm_set_smob_undump): New functions.
721 * smob.h (scm_set_smob_dump, scm_set_smob_undump): Declared.
723 * keywords.c: #include "libguile/dump.h".
724 (keyword_dealloc, keyword_alloc): New functions.
725 (scm_init_keywords): Set smob_dump and smob_undump.
727 2001-02-01 Keisuke Nishida <kxn30@po.cwru.edu>
729 * vectors.c (scm_c_make_vector): New function.
730 * vectors.h (scm_c_make_vector): Declared.
731 * eval.c (scm_copy_tree), filesys.c (scm_stat2scm), fluids.c
732 (scm_make_initial_fluids, grow_fluids), gc.c (scm_init_storage),
733 gh_data.c (gh_ints2scm, gh_doubles2scm): goops.c
734 (scm_make_method_cache, scm_i_vector2list,
735 scm_compute_applicable_methods, scm_sys_method_more_specific_p),
736 init.c (start_stack), net_db.c (scm_gethost, scm_getnet,
737 scm_getproto, scm_return_entry), posix.c (scm_getgroups,
738 scm_getpwuid, scm_getgrgid, scm_uname), print.c (make_print_state,
739 grow_ref_stack), regex-posix.c (scm_regexp_exec), scmsigs.c
740 (scm_init_scmsigs), socket.c (scm_addr_vector, scm_addr_vector),
741 stime.c (scm_times, filltime), unif.c (scm_make_uve), vectors.c
742 (scm_vector, scm_make_vector): Use scm_c_make_vector.
744 * hashtab.c (scm_c_make_hash_table): New function.
745 * hashtab.h (scm_c_make_hash_table): Declared.
746 * environments.c (scm_make_leaf_environment,
747 scm_make_eval_environment), gc.c (scm_init_storage),
748 keywords.c (scm_init_keywords), symbols.c (scm_builtin_bindings):
749 Use scm_c_make_hash_table.
751 2001-01-31 Mikael Djurfeldt <mdj@linnaeus.mit.edu>
753 * unif.c (rapr1): Don't apply scm_uniform_vector_length on arrays.
755 2001-01-29 Martin Grabmueller <mgrabmue@cs.tu-berlin.de>
757 * struct.c (scm_make_vtable_vtable): Removed unnecessary "" from
760 * struct.c (scm_struct_set_x, scm_struct_vtable_tag,
761 scm_struct_vtable_name, scm_set_struct_vtable_name_x), weaks.c
762 (scm_make_weak_value_hash_table, scm_make_doubly_weak_hash_table,
763 scm_weak_value_hash_table_p, scm_doubly_weak_hash_table_p),
764 srcprop.c (scm_source_properties, scm_set_source_properties_x,
765 scm_source_property, scm_set_source_property_x), sort.c
766 (scm_sort_list_x, scm_restricted_vector_sort_x, scm_sorted_p,
767 scm_merge, scm_merge_x, scm_sort_x, scm_sort, scm_stable_sort_x,
768 scm_stable_sort, scm_sort_list_x, scm_sort_list): Added
771 2001-01-29 Mikael Djurfeldt <mdj@linnaeus.mit.edu>
773 * eval.c (SCM_APPLY): Check that primitives which take 1 arg
776 2001-01-26 Keisuke Nishida <kxn30@po.cwru.edu>
778 * goops.c (s_scm_get_keyword): Bug fix.
780 2001-01-26 Dirk Herrmann <D.Herrmann@tu-bs.de>
782 The following patch was sent by Martin Grabmueller. It makes sure
783 that in case of parameter errors the correct function name is
784 shown, and that parameter types are only checked once.
786 * strop.c (string_copy, string_upcase_x, string_downcase_x,
787 string_capitalize_x): New functions. Each one performs the core
788 functionality of the corresponding scm_* function.
790 (scm_string_copy, scm_string_upcase_x, scm_string_upcase,
791 scm_string_downcase_x, scm_string_downcase,
792 scm_string_capitalize_x, scm_string_capitalize): Reduced to
793 parameter checking wrappers of the above functions.
795 2001-01-26 Dirk Herrmann <D.Herrmann@tu-bs.de>
797 * continuations.c, dynl.c, keywords.c, load.c: Include
798 strings.h. Thanks to Bill Schottstaedt for the bug report.
800 2001-01-25 Dirk Herrmann <D.Herrmann@tu-bs.de>
802 * backtrace.c (display_header): Make sure that line and column
803 information is shown independent of whether the port the code was
804 read from had an associated filename. Thanks to Martin
805 Grabmueller for providing this patch.
807 2001-01-25 Dirk Herrmann <D.Herrmann@tu-bs.de>
809 * fports.[ch] (scm_file_port_p): New primitive.
811 2001-01-25 Dirk Herrmann <D.Herrmann@tu-bs.de>
813 * tags.h (scm_tc16_fport, scm_tc16_strport, scm_tc16_sfport):
814 These are now defined in fports.c, strports.c and vports.c.
816 * fports.[ch] (scm_tc16_fport), strports.c (scm_tc16_strport),
817 vports.c (scm_tc16_sfport): Made variables (were macros defined in
820 fports.c (scm_make_fptob), strports.c (scm_make_stptob), vports.c
821 (scm_make_sfptob): Made static. These return a type code now.
823 fports.c (scm_init_fports), strports.c (scm_init_strports),
824 vports.c (scm_init_vports): Create the corresponding port types.
826 * fports.h (SCM_FPORTP, SCM_OPFPORTP, SCM_OPINFPORTP,
827 SCM_OPOUTFPORTP): Redefined in terms of scm_tc16_fport.
829 * init.c (scm_init_guile_1): Make sure strports are initialized
832 * ports.[ch] (scm_make_port_type): Changed the return type to
835 * ports.c (scm_ports_prehistory): Don't create any port types
838 * posix.c (scm_ttyname): Use SCM_FPORTP instead of comparing
839 against scm_tc16_fport directly.
841 2001-01-25 Dirk Herrmann <D.Herrmann@tu-bs.de>
843 * srcprop.c (scm_set_source_property_x): Fix to handle
844 (set-source-property! <obj> 'copy <datum>) correctly.
846 2001-01-24 Gary Houston <ghouston@arglist.com>
848 * filesys.c (scm_link): docstring fix.
849 * fports.h (scm_setfileno): obsolete declaration removed.
850 * posix.c: bogus popen declaration removed.
852 * rdelim.c: new file, split from ioext.c.
853 * rdelim.h: new file, split from ioext.h
854 * Makefile.am: add rdelim.c and related files.
855 * init.c: call scm_init_rdelim. include rdelim.h.
857 2001-01-24 Dirk Herrmann <D.Herrmann@tu-bs.de>
859 This patch was sent by Martin Grabmueller and makes sure that
860 parameter errors are reported correctly by the lexicographic
863 * strorder.c (string_less_p, string_ci_less_p): New functions.
865 (scm_string_less_p, scm_string_ci_less_p): Extracted the core
866 functionality into string_less_p, string_ci_less_p respectively.
867 The remaining code is just a wrapper to do the parameter
870 (scm_string_leq_p, scm_string_gr_p, scm_string_geq_p): Check the
871 parameters and call string_less_p instead of scm_string_less_p.
873 (scm_string_ci_leq_p, scm_string_ci_gr_p, scm_string_ci_geq_p):
874 Check the parameters and call string_less_ci_p instead of
875 scm_string_ci_less_p.
877 2001-01-24 Dirk Herrmann <D.Herrmann@tu-bs.de>
879 This patch modifies scm_display_error to perform parameter
880 checking. Thanks to Neil Jerram for the bug report.
882 * backtrace.[ch] (scm_i_display_error): New function.
884 * backtrace.c (scm_display_error): Added parameter check and
885 extracted the core functionality into function
888 * throw.c (handler_message): Call scm_i_display_error to display
891 2001-01-23 Mikael Djurfeldt <mdj@linnaeus.mit.edu>
893 * eval.c (SCM_APPLY): Added # args check for application of
894 procedures with arity 3. (Thanks to Anders Holst.)
896 2001-01-24 Dirk Herrmann <D.Herrmann@tu-bs.de>
898 * filesys.h (SCM_DIR_FLAG_OPEN, SCM_DIR_OPEN_P): Added.
900 (SCM_OPDIRP): Deprecated.
902 * filesys.c (scm_opendir): Use SCM_DIR_FLAG_OPEN instead of
905 (scm_readdir, scm_rewinddir): Don't use SCM_VALIDATE_OPDIR.
906 Instead, give an explicit error message in case the directory is
909 (scm_closedir, scm_dir_print): Rewritten to use SCM_DIR_OPEN_P
910 instead of SCM_OPENP and SCM_CLOSEDP.
912 * validate.h (SCM_VALIDATE_OPDIR): Deprecated.
914 2001-01-22 Dirk Herrmann <D.Herrmann@tu-bs.de>
916 * eval.c (inner_eval, scm_eval): Move all real functionality into
917 inner_eval. Avoid to copy the expression twice by inlining some
918 code from scm_i_eval.
920 2001-01-19 Dirk Herrmann <D.Herrmann@tu-bs.de>
922 * eval.c (scm_m_case): The 'else' clause of a 'case' statement
923 now has to be the last clause, as required by R5RS. Thanks to
924 Martin Grabmueller for the patch.
926 2001-01-18 Gary Houston <ghouston@arglist.com>
928 * ioext.c: further simplify scm_read_string_x_partial by defining
931 2001-01-18 Dirk Herrmann <D.Herrmann@tu-bs.de>
933 * gh_data.c (gh_ints2scm): Simplified using SCM_FIXABLE.
935 2001-01-18 Dirk Herrmann <D.Herrmann@tu-bs.de>
937 * __scm.h: Added comment about architecture and compiler
938 properties that are required by guile.
940 (SCM_FIXNUM_BIT, SCM_MOST_POSITIVE_FIXNUM,
941 SCM_MOST_NEGATIVE_FIXNUM): Moved to numbers.h.
943 (SCM_CHAR_BIT, SCM_LONG_BIT): Moved here from numbers.h.
945 * numbers.h (SCM_CHAR_BIT, SCM_LONG_BIT): Moved to __scm.h.
947 (SCM_FIXNUM_BIT, SCM_MOST_POSITIVE_FIXNUM,
948 SCM_MOST_NEGATIVE_FIXNUM): Moved here from __scm.h.
950 2001-01-17 Dirk Herrmann <D.Herrmann@tu-bs.de>
952 * __scm.h (SCM_FIXNUM_BIT): Added. The name is chosen in analogy
953 to the names in limits.h.
955 * numbers.c (abs_most_negative_fixnum): Added.
957 (scm_quotient, scm_remainder): Fixed the fixnum-min / (abs
958 fixnum-min) special case.
960 (scm_big_and): Fix for negative first parameter.
962 (scm_bit_extract): Fix for fixnum paramters.
963 Thanks to Rob Browning for the bug report.
965 (scm_init_numbers): Initialize abs_most_negative_fixnum.
967 2001-01-16 Dirk Herrmann <D.Herrmann@tu-bs.de>
969 * symbols.c (scm_symbol_bound_p): Fixed comment.
970 Thanks to Chris Cramer.
972 2001-01-15 Dirk Herrmann <D.Herrmann@tu-bs.de>
974 * smob.[ch] (scm_make_smob_type): Return type is scm_bits_t now.
975 Thanks to Bill Schottstaedt.
977 2001-01-11 Michael Livshin <mlivshin@bigfoot.com>
981 * objects.h (SCM_SET_ENTITY_SETTER): new macro. SCM_ENTITY_SETTER
982 casts its result, so doesn't yield an lvalue per ANSI C.
984 * goops.c (s_scm_sys_set_object_setter_x): use
985 SCM_SET_ENTITY_SETTER.
986 (clear_method_cache): use SCM_SET_ENTITY_PROCEDURE.
988 * gc.h (SCM_GC_SET_CARD_BVEC): new macro. SCM_GC_CARD_BVEC casts
989 its result, so doesn't yield an lvalue per ANSI C.
990 (SCM_GC_SET_CARD_FLAGS): ditto for SCM_GC_GET_CARD_FLAGS.
991 (SCM_GC_CLR_CARD_FLAGS): redefined in terms of
992 SCM_GC_SET_CARD_FLAGS.
993 (SCM_GC_SET_CARD_FLAG, SCM_GC_CLR_CARD_FLAGS): ditto.
995 * gc.c (INIT_CARD): use the explicit setter macro to set the bvec.
997 2001-01-08 Gary Houston <ghouston@arglist.com>
999 * validate.h (SCM_VALIDATE_SUBSTRING_SPEC_COPY): new macro.
1000 * ioext.c (scm_read_string_x_partial, scm_read_delimited_x),
1001 socket.c (scm_recvfrom): use the new macro, plus minor docstring
1003 * ioext.c (scm_read_string_x_partial): don't crash if -1 is supplied
1004 for fdes. if current input port is used, check that it's a file
1007 2001-01-06 Gary Houston <ghouston@arglist.com>
1009 * ioext.c (scm_read_string_x_partial): new procedure, implements
1010 read-string!/partial.
1011 * ports.c (scm_take_from_input_buffers): new procedure used by
1012 scm_read_string_x_partial.
1013 (scm_drain_input): use scm_take_from_input_buffers.
1015 2001-01-06 Marius Vollmer <mvo@zagadka.ping.de>
1017 * validate.h (SCM_VALIDATE_NUMBER): New.
1019 2001-01-03 Michael Livshin <mlivshin@bigfoot.com>
1021 * guardians.c (F_GREEDY, F_LISTED, F_DESTROYED, GREEDY_P,
1022 SET_GREEDY, LISTED_P, SET_LISTED, CLR_LISTED, DESTROYED_P,
1023 SET_DESTROYED): new defines/macros.
1024 (GUARDIAN_LIVE, GUARDIAN_ZOMBIES, GUARDIAN_NEXT): deleted.
1025 (add_to_live_list): takes a `guardian_t *' now, not SCM.
1026 (guardian_print): print more info.
1027 (guardian_apply): check if the guardian is destroyed, and throw an
1028 error if so. take one more optional argument `throw_p'.
1029 (scm_guard): depending on the value of `throw_p', return a boolean
1031 (scm_get_one_zombie): remove redundant property test.
1032 (guardian_t): represent the various (currently 3, I hope nothing
1033 more gets added) boolean fields as bit flags.
1034 (scm_guardian_destroyed_p, scm_guardian_greedy_p): new predicates.
1035 (scm_destroy_guardian_x): new procedure.
1037 * guardians.h: added prototypes for `scm_guardian_greedy_p' and
1038 `scm_guardian_destroyed_p'. changed prototype for `scm_guard'.
1040 2001-01-01 Gary Houston <ghouston@arglist.com>
1042 * fports.c (fport_write): bugfix: handle short writes for
1043 unbuffered ports too. optimize the buffered case by minimizing
1044 the number of write/flush calls.
1045 (write_all): new helper procedure.
1047 The ChangeLog continues in the file: "ChangeLog-2000"