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