*** empty log message ***
[bpt/guile.git] / libguile / ChangeLog
CommitLineData
e75341b3
MD
12001-03-09 Mikael Djurfeldt <mdj@linnaeus.mit.edu>
2
3 * coop.c: Inserted #include <stdio.h>.
4
5 * iselect.c: Reinserted #include <stdio.h>.
6
74355186
MV
72001-03-10 Marius Vollmer <mvo@zagadka.ping.de>
8
9 * posix.c: Replaced `#define' of __USE_XOPEN right before
10 including unistd.h with a define of _GNU_SOURCE at the very top of
11 the file.
12
783e7774
KN
132001-03-09 Keisuke Nishida <kxn30@po.cwru.edu>
14
15 * alist.c, arbiters.c, async.c, backtrace.c, boolean.c, chars.c,
16 continuations.c, debug-malloc.c, debug.c, dynwind.c, eq.c, eval.c,
17 feature.c, filesys.h, gc_os_dep.c, gh_data.c, gh_eval.c,
18 gh_funcs.c, gh_io.c, gh_list.c, gh_predicates.c, hash.c,
19 hashtab.c, iselect.c, keywords.c, list.c, load.c, mallocs.c,
20 net_db.c, numbers.c, objprop.c, objprop.h, options.c, pairs.c,
21 print.c, procprop.c, procs.c, properties.c, ramap.c,
22 regex-posix.c, root.c, scmsigs.c, simpos.c, socket.c, srcprop.c,
23 stackchk.c, stacks.c, strings.c, strop.c, strorder.c, struct.c,
24 symbols.c, tag.c, threads.c, variable.c, vectors.c, weaks.c:
25 Remove #include <stdio.h>
26 * gc.c, gdbint.c, root.c, sort.c, unif.c: Add #include <string.h>.
27
28 * procs.c (scm_make_subr_opt): Init symcell to avoid warning.
29
9a677c37
MG
302001-03-09 Martin Grabmueller <mgrabmue@cs.tu-berlin.de>
31
32 * posix.c (scm_gethostname): Set initial name length to 256 for
33 Solaris.
34
94e6d793
MG
352001-03-09 Martin Grabmueller <mgrabmue@cs.tu-berlin.de>
36
37 * posix.h (scm_crypt, scm_chroot, scm_getlogin, scm_cuserid),
38 (scm_getpriority, scm_setpriority, scm_getpass, scm_flock),
39 (scm_sethostname, scm_gethostname): New prototypes.
40
41 * posix.c: Added inclusion of <crypt.h>, <sys/resource.h> and
42 <sys/file.h>, if present.
43 (scm_init_posix): [PRIO_PROCESS, PRIO_PGRP, PRIO_USER, LOCK_SH,
44 LOCK_EX, LOCK_UN, LOCK_NB]: New variables.
45 (scm_crypt, scm_chroot, scm_getlogin, scm_cuserid),
46 (scm_getpriority, scm_setpriority, scm_getpass, scm_flock),
47 (scm_sethostname, scm_gethostname): New procedures.
48
650a1cf9
NJ
492001-03-08 Neil Jerram <neil@ossau.uklinux.net>
50
51 * ports.c (scm_port_column): Docstring fixes: (i) port-line arg is
52 not optional (ii) "recommend" spelling correction.
53
9636b49c
MD
542001-03-08 Mikael Djurfeldt <mdj@linnaeus.mit.edu>
55
5e4a4d09
MD
56 * ramap.c (racp): Removed optimization which caused array copying
57 to fail if the two arrays shared storage. Re-inserted the IVDEP
58 macros removed in the change of 2000-03-09. (Don't really have a
59 complete grasp of what they are for, but they seem to be necessary
60 on Crays. This needs testing!) Thanks to Miroslav Silovic.
61
9636b49c
MD
62 * hash.c (scm_string_hash): Don't downcase characters.
63
04a4d666
MD
642001-03-07 Mikael Djurfeldt <mdj@linnaeus.mit.edu>
65
9636b49c 66 * symbols.c (scm_symbols_prehistory): Changed symbol hash table
04a4d666
MD
67 size from 277 --> 1009.
68
69 * symbols.c, symbols.h (scm_sys_symbols): New function GUILE_DEBUG
70 function.
71
72 * coop-threads.c: Fixed change of 2001-03-06.
73
74 * validate.h: Code formatting.
75
66418d34
KN
762001-03-07 Keisuke Nishida <kxn30@po.cwru.edu>
77
78 * Makefile.am (*.x): Add dependency on snarf.h and guile-doc-snarf.in.
79 (*.doc): Add dependency on guile-snarf.awk.in.
80
81 * guile-snarf.awk.in: Neglect spaces at the end of
82 SCM_SNARF_DOCSTRING_END. Skip lines "# NN ..." in the
83 middle of docstrings. (To avoid the problem with gcc-2.96.)
84
2ade72d7
DH
852001-03-06 Dirk Herrmann <D.Herrmann@tu-bs.de>
86
87 * coop-threads.c (scm_call_with_new_thread), load.c
88 (scm_primitive_load, scm_sys_search_load_path), random.c
89 (scm_c_default_rstate), struct.c (scm_make_struct_layout,
90 scm_struct_ref, scm_struct_set_x): Don't use SCM_ASSERT to
91 (potentially) issue a scm-misc-error or wrong-num-args error
92 message.
93
94 * load.c (scm_search_path): Use SCM_ASSERT_TYPE to give details
95 about the expected type with the wrong-type-arg error message.
96
97 * smob.c (scm_make_smob): Abort on misuse of smob - it indicates
98 a C level bug that can't be fixed from scheme anyway.
99
586d7da2
MD
1002001-03-05 Mikael Djurfeldt <mdj@linnaeus.mit.edu>
101
102 * eval.c (scm_m_letstar): Removed check for duplicate bindings.
103 Duplicate bindings are OK in a let* since a let* is semantically
104 equivalent to a nested set of let:s.
105
1dd05fd8
MG
1062001-03-05 Martin Grabmueller <mgrabmue@cs.tu-berlin.de>
107
108 * print.c (scm_print_options): Fixed texinfo in docstring.
109
110 * net_db.c (scm_getserv, scm_getproto, scm_getnet): Return #f if
111 the underlying functions getservent, getprotoent or getnetent
112 return NULL instead of signalling an error.
113
439006bf
GH
1142001-03-04 Gary Houston <ghouston@arglist.com>
115
116 * socket.c (scm_fill_sockaddr): don't allow buffer overflows when
117 taking an unexpectedly large filename for an AF_UNIX socket from
118 bind/connect/sendto (thanks to Martin Grabmueller).
119
120 * socket.c (scm_sock_fd_to_port, SCM_SOCK_FD_TO_PORT): removed the
121 former and adjusted the latter.
122 (scm_socket, scm_socketpair): cosmetic changes.
123 (scm_getsockopt, scm_setsockopt): declare optlen as int, not
124 size_t as socklen_t substitute. don't restrict args/return values
125 to INUM: allow full range of int or size_t.
126 (scm_fill_sockaddr): check arguments before allocating memory, to
127 avoid leakage. use malloc, not scm_must_malloc.
128 (scm_connect, scm_bind, scm_sendto): use int, not size_t as socklen_t
129 substitute. free the sockaddr structure before throwing an error.
130 (scm_init_add_buffer): procedure removed, together with its static
131 buffer scm_addr_buffer, which wouldn't be thread safe. instead,
132 define a macro MAX_ADDR_SIZE and declare the buffer where needed.
133 (scm_accept, scm_getpeername, scm_getsockname, scm_recvfrom,
134 scm_sendto): use a local buffer instead of scm_addr_buffer.
135 adjust for new SCM_SOCK_FD_TO_PORT. use int for address size,
136 not size_t.
137 (scm_recvfrom): set addr->sa_family to AF_UNSPEC before the recvfrom
138 call to detect whether recvfrom could be bothered to set the address.
139 (scm_init_socket): don't call scm_init_addr_buffer.
140
276dd677
DH
1412001-03-04 Dirk Herrmann <D.Herrmann@tu-bs.de>
142
143 * debug.c (scm_procedure_source, scm_procedure_environment),
144 print.c (scm_get_print_state), ramap.c (scm_array_fill_int,
145 scm_array_index_map_x), sort.c (scm_sort_x, scm_sort,
146 scm_stable_sort_x, scm_stable_sort), stacks.c (scm_make_stack,
147 scm_last_stack_frame), symbols.c (scm_sym2vcell, scm_sym2ovcell),
148 unif.c (scm_list_to_uniform_array, scm_uniform_vector_length,
149 scm_transpose_array, scm_enclose_array, scm_array_in_bounds_p,
150 scm_uniform_vector_ref, scm_array_set_x, scm_uniform_array_read_x,
151 scm_uniform_array_write, scm_bit_set_star_x, scm_bit_count_star,
152 scm_array_to_list, scm_array_prototype), validate.h
153 (SCM_VALIDATE_NUMBER_COPY): Don't call function scm_wta, call
154 scm_misc_error or scm_wrong_type_arg instead.
155
156 * validate.h (SCM_WTA, RETURN_SCM_WTA): Deprecated.
157
5e03762c
MD
1582001-03-04 Mikael Djurfeldt <mdj@linnaeus.mit.edu>
159
160 * goops.c, goops.h (scm_sys_pre_expand_closure_x): Removed.
161 (scm_sys_tag_body): Added.
162
db4b4ca6
DH
1632001-03-04 Dirk Herrmann <D.Herrmann@tu-bs.de>
164
165 * continuations.c (continuation_apply), eval.c (scm_m_lambda,
166 scm_m_letstar, scm_m_letrec1, scm_m_let, SCM_APPLY), eval.h
167 (SCM_EVALIM2), evalext.c (scm_m_generalized_set_x), gc.c
168 (get_bvec, MARK), goops.c (scm_primitive_generic_generic),
169 options.c (scm_options), ports.c (scm_remove_from_port_table),
170 ramap.c (scm_ramapc), read.c (skip_scsh_block_comment, scm_lreadr,
171 scm_lreadparen, scm_lreadrecparen), script.c (script_get_octal,
172 script_get_backslash, script_read_arg), unif.c (scm_cvref): Don't
173 call function scm_wta, call scm_misc_error or scm_wrong_type_arg
174 instead.
175
87e7741d
MD
1762001-03-04 Mikael Djurfeldt <mdj@linnaeus.mit.edu>
177
178 * goops.c (scm_sys_pre_expand_closure_x): New procedure.
179
d19b0aac
MV
1802001-03-04 Marius Vollmer <mvo@zagadka.ping.de>
181
182 * eval.c (scm_s_duplicate_bindings): New error message.
183 (scm_m_letrec1, scm_m_letstar): Check for duplicate bindings.
184
2fd945df
MV
1852001-03-03 Marius Vollmer <mvo@zagadka.ping.de>
186
187 * eval.h (SCM_EVALIM2): New macro. Use it when a
188 immediate, literal constant should be evaluated.
189 * eval.c (scm_s_duplicate_formals): New error message string.
190 (scm_c_improper_memq): New function.
191 (scm_m_lambda): Check for duplicate arguments.
192 (scm_ceval, scm_deval): When executing a body: only cons a new
193 toplevel environment frame when it is different from the
194 existing one; use EVALCAR instead of SIDEVAL so that we can properly
195 check for empty combinations; use SCM_EVALIM2 for the same reason
196 in the non-toplevel loop.
197 (nontoplevel_cdrxnoap, nontoplevel_cdrxbegin, nontoplevel_begin):
198 New labels with the meaning of their non-"nontoplevel" partners,
199 but they are used when it is known that the body is not evaluated at
200 top-level.
201 (scm_apply, scm_dapply): use SCM_EVALIM2 to get proper error
202 reporting for empty combinations.
203
9e6fc585
KN
2042001-03-02 Keisuke Nishida <kxn30@po.cwru.edu>
205
206 * Remove dump facilities.
207 * dump.c, dump.h: Removed.
208 * Makefile.am: Remove dump.c, dump.h, dump.x, dump.doc.
209 * init.c: Remove #include "libguile/dump.h".
210 (scm_init_guile_1): Remove scm_init_dump.
211 * smob.h (scm_smob_descriptor): Remove slots: dump, undump.
212 (scm_set_smob_dump, scm_set_smob_undump): Remove declaration.
213 * smob.c (scm_make_smob_type): Remove initialization: dump, undump.
214 (scm_set_smob_dump, scm_set_smob_undump): Removed.
215
216 * keywords.c: Remove #include "libguile/dump.h".
217 (keyword_dump, keyword_undump): Removed.
218 (scm_init_keywords): Remove scm_set_smob_dump and scm_set_smob_undump.
219
eae54bf0
MG
2202001-03-02 Martin Grabmueller <mgrabmue@cs.tu-berlin.de>
221
222 * vectors.c (s_scm_vector_p, list->vector, scm_vector)
223 (scm_vector_ref, scm_vector_set_x, scm_vector_to_list)
224 (scm_vector_fill_x), strorder.c (scm_string_equal_p)
225 (scm_string_ci_equal_p, scm_string_less_p, scm_string_leq_p)
226 (scm_string_gr_p, scm_string_geq_p, scm_string_ci_less_p)
227 (scm_string_ci_geq_p), symbols.c (scm_symbol_p)
228 (scm_symbol_to_string, scm_string_to_symbol): Changed use of @t{}
229 to @code{} as the texinfo manual recommends, converted the
230 examples to use a @lisp{}-environment.
231
232 * strports.c (scm_eval_string): Cleaned up the docstring.
233
234 * struct.c (scm_struct_p, scm_struct_vtable_p): Added texinfo
235 markup.
236
237 * numbers.c (scm_exact_p, scm_odd_p, scm_even_p)
238 (scm_number_to_string, scm_string_to_number, scm_number_p)
239 (scm_real_p, scm_integer_p, scm_inexact_p, scm_make_rectangular)
240 (scm_make_polar, scm_inexact_to_exact): Added texinfo markup.
241 (scm_ash): Added texinfo markup and removed obsolete @refill.
242 (scm_gr_p): Corrected comment.
243 (scm_gr_p, scm_leq_p, scm_geq_p): Added texinfo markup to (future
244 docstring) comments.
245 (scm_positive_p, scm_less_p, scm_num_eq_p, scm_real_p)
246 (scm_number_p, scm_negative_p, scm_max, scm_min, scm_sum)
247 (scm_difference, scm_product, scm_divide, scm_asinh, scm_acosh)
248 (scm_atanh, scm_truncate, scm_round, scm_exact_to_inexact)
249 (floor, ceiling, $sqrt, $abs, $exp, $log, $sin, $cos, $tan, $asin)
250 ($acos, $atan, $sinh, $cosh, $tanh, scm_real_part, scm_imag_part)
251 (scm_magnitude, scm_angle, scm_abs, scm_quotient, scm_remainder)
252 (scm_modulo, scm_gcd, scm_lcm): Added (future docstring) comments.
253
23deee81
DH
2542001-02-28 Dirk Herrmann <D.Herrmann@tu-bs.de>
255
256 * __scm.h (SCM_ASSERT_TYPE): Add missing macro parameter.
257 (Obviously nobody compiles with SCM_RECKLESS defined...)
258
259 * validate.h (SCM_ASSERT_RANGE): Use the argument number.
260
6fe692e9
MD
2612001-02-23 Mikael Djurfeldt <mdj@linnaeus.mit.edu>
262
263 * ports.c, ports.h (scm_c_read, scm_c_write): New functions.
264
265 * ports.h (SCM_READ_BUFFER_EMPTY_P): New macro.
266
27c37006
NJ
2672001-02-24 Neil Jerram <neil@ossau.uklinux.net>
268
269 * numbers.c (scm_two_doubles, scm_sys_expt, scm_sys_atan2,
270 scm_make_polar): Rename arguments `z1' and `z2' to `x' and `y',
271 since use of `z' suggests that the arguments may be complex.
272
273 * goops.c (scm_make), numbers.c (scm_sys_expt): Fix docstring
274 typos.
275
2069af38
NJ
2762001-02-23 Neil Jerram <neil@ossau.uklinux.net>
277
278 * dump.c (scm_binary_write, scm_binary_read), eval.c
279 (scm_primitive_eval), guardians.c (scm_guardian_destroyed_p,
280 scm_guardian_greedy_p, scm_make_guardian), fports.c
281 (scm_file_port_p): Minor docstring fixes.
282
b42ff180
MV
2832001-02-22 Marius Vollmer <mvo@zagadka.ping.de>
284
2069af38 285 * load.c (load): Use scm_primitive_eval_x instead of scm_i_eval_x.
97ea55f8
MV
286
287 * goops.c (scm_add_method, DEFVAR): Use scm_eval instead of
288 scm_i_eval.
289 (make_class_from_template): Do not bother to set the current
290 module around the call to DEFVAR, scm_eval takes care of that.
291 (scm_init_goops): Make scm_module_goops and
292 scm_goops_lookup_closure permanent objects.
293
294 * eval.c (scm_ceval, scm_deval): When evaluating expressions on
295 top level, create a fresh top-level environment for each
296 expression instead of mutating the exisint frame. This is
297 important when that frame is closed over.
298
b42ff180
MV
299 * numbers.c (s_scm_logior) [SCM_DIGSTOOBIG]: Also use
300 SCM_DIGSPERLONG instead of DIGSPERLONG.
301
09f2ab1e
MV
3022001-02-21 Marius Vollmer <mvo@zagadka.ping.de>
303
304 * eval.c (scm_ceval, scm_deval): Check for wrong number of args
305 before applying arrow procedure in `cond' and before applying
306 receiver procedure in call-with-current-continuation.
307 (scm_i_eval): Do not invoke scm_copy_tree in argument in SCM_XEVAL
308 macro. The argument is expanded more than one time.
309
310 * numbers.c (scm_logior) [SCM_DIGSTOOBIG]: Correctly use
311 SCM_BIGDIG instead of BIGDIG. Thanks to Steven G. Johnson!
312
3132001-02-20 Marius Vollmer <mvo@zagadka.ping.de>
314
315 * guile-doc-snarf.in, guile-func-name-check.in: Added copyright
316 notice and license.
317
7090240c
MG
3182001-02-17 Martin Grabmueller <mgrabmue@cs.tu-berlin.de>
319
320 * variable.c (scm_make_variable, scm_make_undefined_variable)
321 (scm_variable_ref, scm_variable_set_x, scm_builtin_variable)
322 (scm_variable_bound_p), values.c (scm_values)
323 (scm_call_with_values), unif.c (scm_bit_count)
324 (scm_bit_set_star_x), symbols.c (scm_gentemp)
325 (scm_gensym), strings.c (scm_string_p, scm_make_string)
326 (scm_read_only_string_p, scm_string_length, scm_string_ref)
327 (scm_string_set_x, scm_substring, scm_string_append), stime.c
328 (scm_strptime, scm_mktime), random.c (scm_seed_to_random_state)
329 (scm_copy_random_state, scm_random), print.c (scm_newline)
330 (scm_write_char, scm_simple_format), debug-malloc.c
331 (scm_malloc_stats), environments.c (scm_environment_p)
332 (scm_environment_bound_p, scm_environment_ref)
333 (scm_environment_fold, scm_environment_define)
334 (scm_environment_undefine, scm_environment_set_x)
335 (scm_environment_cell, scm_environment_observe)
336 (scm_environment_observe_weak, scm_environment_unobserve)
337 (scm_make_eval_environment, scm_eval_environment_p)
338 (scm_eval_environment_set_local_x, scm_eval_environment_local)
339 (scm_eval_environment_imported)
340 (scm_eval_environment_set_imported_x, scm_make_import_environment)
341 (scm_import_environment_p, scm_import_environment_imports)
342 (scm_import_environment_set_imports_x, scm_make_export_environment)
343 (scm_export_environment_p, scm_export_environment_private)
344 (scm_export_environment_set_private_x)
345 (scm_export_environment_signature)
346 (scm_export_environment_set_signature_x, scm_leaf_environment_p):
347 Added texinfo markup.
348
349 * ports.c (scm_drain_input): Lowercased argument to @var.
350 (scm_current_input_port, scm_current_output_port): Filled in
351 missing explanation.
352 (scm_current_load_port, scm_set_current_output_port)
353 (scm_set_current_error_port, scm_port_line, scm_set_port_line_x):
354 Added texinfo markup.
355
356 * arbiters.c (scm_make_arbiter, scm_try_arbiter)
357 (scm_release_arbiter): Added texinfo markup to docstrings.
358 Changed `Returns' to `Return'.
359 (arbiter_print): Changed SCM_CDR to SCM_SMOB_DATA.
360
25703850
NJ
3612001-02-16 Neil Jerram <neil@ossau.uklinux.net>
362
363 * guile-snarf.awk.in: Quote any `@'s that occur in Scheme names,
364 by doubling them to `@@'.
365
73c0fdce
MG
3662001-02-16 Martin Grabmueller <mgrabmue@cs.tu-berlin.de>
367
368 * numbers.c (scm_lognot), random.c (scm_random,
369 scm_random_normal, scm_random_solid_sphere_x,
370 scm_random_hollow_sphere_x, scm_random_normal_vector_x,
371 scm_random_exp), dynwind.c
372 (scm_dynamic_wind): Removed unnecessary "" from docstrings.
373
374 * goops.c (scm_sys_initialize_object, scm_instance_p,
375 scm_class_name, scm_class_precedence_list, scm_class_slots,
376 scm_class_environment, scm_generic_function_name,
377 scm_generic_function_methods, scm_method_generic_function,
378 scm_method_specializers, scm_method_procedure, scm_make_unbound,
379 scm_unbound_p, scm_assert_bound, scm_at_assert_bound_ref,
380 scm_sys_fast_slot_ref, scm_sys_fast_slot_set_x, scm_slot_ref,
381 scm_slot_set_x, _scm_slot_bound_p, scm_slots_exists_p,
382 scm_sys_allocate_instance, scm_make, scm_pure_generic_p,
383 scm_class_direct_supers, scm_class_direct_slots,
384 scm_class_direct_subclasses, scm_class_direct_methods,
385 scm_accessor_method_slot_definition, scm_sys_goops_loaded),
386 debug.c (scm_with_traps, scm_memoized_p, scm_make_gloc,
387 scm_gloc_p, scm_make_iloc, scm_iloc_p, scm_memcons,
388 scm_mem_to_proc, scm_proc_to_mem, scm_unmemoize,
389 scm_memoized_environment, scm_procedure_name,
390 scm_procedure_source, scm_procedure_environment, scm_debug_hang),
391 objects.c
392 (scm_class_of, scm_entity_p, scm_operator_p,
393 scm_set_object_procedure_x, scm_object_procedure,
394 scm_make_class_object), hooks.c (scm_make_hook_with_name,
395 scm_make_hook, scm_hook_p, scm_hook_empty_p, scm_add_hook_x,
396 scm_remove_hook_x, scm_reset_hook_x, scm_run_hook,
397 scm_hook_to_list), lang.c
398 (scm_nil_cons, scm_nil_car, scm_nil_cdr, scm_null, scm_nil_eq),
399 numbers.c (scm_sys_expt, scm_sys_atan2), print.c
400 (scm_print_options, scm_port_with_print_state,
401 scm_get_print_state), procs.c (scm_make_cclo, scm_procedure_p,
402 scm_closure_p, scm_thunk_p, scm_procedure_with_setter_p,
403 scm_make_procedure_with_setter, scm_procedure), throw.c
404 (scm_lazy_catch), modules.c (scm_standard_eval_closure), load.c
405 (scm_parse_path, scm_search_path), stacks.c (scm_make_stack,
406 scm_stack_ref, scm_stack_length, scm_frame_p,
407 scm_last_stack_frame, scm_frame_number, scm_frame_source,
408 scm_frame_procedure, scm_frame_arguments, scm_frame_previous,
409 scm_frame_next, scm_frame_real_p, scm_frame_procedure_p,
410 scm_frame_evaluating_args_p, scm_frame_overflow_p), filesys.c
411 (scm_dirname, scm_basename), dynwind.c
412 (scm_wind_chain), read.c (scm_read_options, scm_read,
413 scm_read_hash_extend), gc.c
414 (scm_unhash_name), eval.c (scm_eval_options_interface,
415 scm_evaluator_traps, s_scm_nconc2last), backtrace.c
416 (scm_display_error, scm_set_print_params_x,
417 scm_display_application, scm_display_backtrace, scm_backtrace),
418 async.c (scm_async, scm_system_async, scm_async_mark,
419 scm_system_async_mark, scm_run_asyncs, scm_noop,
420 scm_set_tick_rate, scm_set_switch_rate, scm_unmask_signals,
421 scm_mask_signals): Added docstrings.
422
e228a203
KN
4232001-02-15 Keisuke Nishida <kxn30@po.cwru.edu>
424
425 * dump.c (scm_undump): Use SCM_CARLOC/SCM_CDRLOC to obtain the
426 address of car/cdr. (Thanks to Dirk Herrmann)
427 Use scm_sizet to obtain the length of strings.
428 (Thanks to Matthias Koeppe)
429
1552a59d
MV
4302001-02-15 Marius Vollmer <mvo@zagadka.ping.de>
431
432 * symbols.c (scm_mem2symbol): Put a empty statement after the
433 next_symbol label. This is mandated by ANSI, appearantly.
434
3178f751
MV
4352001-02-13 Marius Vollmer <marius.vollmer@uni-dortmund.de>
436
437 * gc_os_dep.c: Do not include <linux/version.h>. It makes no
438 sense to compile for a specific kernel version. Do not include
439 <asm/signal.h> while defining __KERNEL__. This hack should no
440 longer be needed and caused problems.
441
7af4defe
MV
4422001-02-13 Marius Vollmer <mvo@zagadka.ping.de>
443
444 * eval.c (scm_ceval, scm_deval): use `SIDEVAL' instead of
445 SCM_CEVAL when evaluating subforms of `begin' forms. SCM_CEVAL
446 can not deal with immediates.
447
5d6bb349
KN
4482001-02-12 Keisuke Nishida <kxn30@po.cwru.edu>
449
450 * list.c (scm_list_copy): Validate the first argument.
451
ec9709f0
MV
4522001-02-11 Marius Vollmer <mvo@zagadka.ping.de>
453
454 Fix evaluator so that top-level expressions are correctly
455 evaluated with respect to the module system.
456
457 * modules.h. modules.c (scm_current_module_lookup_closure): New
458 function.
459
460 * eval.h (scm_primitive_eval, scm_primitive_eval_x): New
461 prototypes.
462 (scm_i_eval, scm_i_eval_x, scm_eval, scm_eval_x): Changed argument
463 names to better reflect their meaning.
464
465 * eval.c (scm_ceval, scm_deval): Recognize when `begin' is being
466 evaluated at top-level and synronize lookup closure before
467 executing every subform.
468 (scm_primitve_eval_x, scm_primitive_eval): New functions.
469 (scm_eval_x, scm_eval): Reimplement in terms of
470 scm_primitive_eval_x and scm_primitive_eval, respectively.
471
4722001-02-09 Marius Vollmer <mvo@zagadka.ping.de>
473
474 * macros.c (scm_macro_name, scm_macro_transformer): Use
475 SCM_SMOB_DATA instead of SCM_CDR. Provided by Martin Grabmueller.
476 Thanks!
477
42417394
KN
4782001-02-10 Keisuke Nishida <kxn30@po.cwru.edu>
479
480 * dump.c (scm_store_bytes): Store data size before data.
481 (scm_restore_bytes): Restore data size. Takes a pointer to size.
482 * dump.h (scm_restore_bytes): Updated.
483
bf942687
KN
4842001-02-09 Keisuke Nishida <kxn30@po.cwru.edu>
485
486 * dump.c: Use double cells for update schedule.
487
1be4270a
KN
4882001-02-08 Keisuke Nishida <kxn30@po.cwru.edu>
489
490 * ports.c (scm_unread_char): Take an optional argument.
491
548728ea
MV
4922001-02-08 Marius Vollmer <marius.vollmer@uni-dortmund.de>
493
494 * modules.h (scm_selected_module, scm_current_module): Renamed
495 scm_selected_module to scm_current_module to synchronize Scheme
496 and C names.
497 (scm_select_module, scm_set_current_module): Likewise. Changed
498 all uses.
499
500 * ports.c (scm_port_for_each): Make a snapshot of the port table
501 before iterating over it. The table might change while the user
502 code is running. With the snapshot, the user can depend on the
c5408bc3 503 fact that each port that existed at the start of the iteration is
548728ea
MV
504 encountered exactly once. (ice-9 popen) depends on this.
505
cb0d8be2
DH
5062001-02-08 Dirk Herrmann <D.Herrmann@tu-bs.de>
507
508 * strings.h (SCM_STRING_MAX_LENGTH): New macro.
509
510 * strings.c (scm_makstr, scm_take_str, scm_make_string): Added
511 range checking for the size parameter. Thanks to Martin
512 Grabmueller for the hint.
513
514 (scm_makstr): Reordered string initialization to make interrupt
515 deferring unnecessary.
516
517 * vectors.c (scm_make_vector): Fixed range checking.
518
e382fdbe
DH
5192001-02-08 Dirk Herrmann <D.Herrmann@tu-bs.de>
520
521 * vectors.h (SCM_VECTOR_MAX_LENGTH): New macro.
522
523 * vectors.c (scm_make_vector, scm_c_make_vector): Improved the
524 checking of the size parameter for type correctness and valid
525 range. Thanks to Rob Browning for reporting the problem. Instead
526 of deferring interrupts, scm_remember_upto_here_1 is used.
527
bf8f0922
KN
5282001-02-05 Keisuke Nishida <kxn30@po.cwru.edu>
529
530 * dump.c (scm_store_cell_object, scm_restore_cell_object): Removed.
531 (scm_dump_cell_update): Removed.
532 (scm_dump_update): Renamed from scm_dump_object_update.
533 (scm_restore_string, scm_restore_bytes, scm_restore_word): Takes
534 a pointer instead of returning a value.
535 * keywords.c (keyword_undump): Updated.
536
914cceec
KN
5372001-02-05 Keisuke Nishida <kxn30@po.cwru.edu>
538
539 * dump.c, dump.h: Modified a lot.
5f17c66f 540 (SCM_DUMP_COOKIE): Version 0.1
914cceec
KN
541 (scm_dump_mark): Removed.
542 (scm_restore_cell_object, scm_store_cell_object): New functions.
543
544 * smob.h (scm_smob_descriptor): Removed slots: dump_mark,
545 dump_dealloc, dump_store, undump_alloc, undump_restore, undump_init.
546 New slots: dump, undump.
547 * smob.c (scm_make_smob_type, scm_set_smob_dump, scm_set_smob_undump):
548 Updated.
549
550 * keywords.c (keyword_dump): Renamed from keyword_dealloc.
551 (keyword_undump): Renamed from keyword_alloc.
552 (scm_init_keywords): Set keyword_dump and keyword_undump.
553
ecf470a2
ML
5542001-02-03 Michael Livshin <mlivshin@bigfoot.com>
555
556 * gc.c (DOUBLECELL_ALIGNED_P): new macro, a better-named analog of
557 the deprecated SCM_DOUBLE_CELLP.
558
559 * tags.h (SCM_DOUBLE_CELLP): deprecated.
560
03416a99
KN
5612001-02-02 Keisuke Nishida <kxn30@po.cwru.edu>
562
563 * dump.c, dump.h: New files.
564 * Makefile.am: Added dump.c, dump.h, dump.x, dump.doc.
565 * init.c: #include "libguile/dump.h".
566 (scm_init_guile_1): Call scm_init_dump.
567 * smob.h (scm_smob_descriptor): New slots: dump_mark,
568 dump_dealloc, dump_store, undump_alloc, undump_restore,
569 undump_init.
570 * smob.c (scm_make_smob_type): Init the new slots.
571 (scm_set_smob_dump, scm_set_smob_undump): New functions.
572 * smob.h (scm_set_smob_dump, scm_set_smob_undump): Declared.
573
574 * keywords.c: #include "libguile/dump.h".
575 (keyword_dealloc, keyword_alloc): New functions.
576 (scm_init_keywords): Set smob_dump and smob_undump.
577
00ffa0e7
KN
5782001-02-01 Keisuke Nishida <kxn30@po.cwru.edu>
579
580 * vectors.c (scm_c_make_vector): New function.
581 * vectors.h (scm_c_make_vector): Declared.
582 * eval.c (scm_copy_tree), filesys.c (scm_stat2scm), fluids.c
583 (scm_make_initial_fluids, grow_fluids), gc.c (scm_init_storage),
584 gh_data.c (gh_ints2scm, gh_doubles2scm): goops.c
585 (scm_make_method_cache, scm_i_vector2list,
586 scm_compute_applicable_methods, scm_sys_method_more_specific_p),
587 init.c (start_stack), net_db.c (scm_gethost, scm_getnet,
588 scm_getproto, scm_return_entry), posix.c (scm_getgroups,
589 scm_getpwuid, scm_getgrgid, scm_uname), print.c (make_print_state,
590 grow_ref_stack), regex-posix.c (scm_regexp_exec), scmsigs.c
591 (scm_init_scmsigs), socket.c (scm_addr_vector, scm_addr_vector),
592 stime.c (scm_times, filltime), unif.c (scm_make_uve), vectors.c
593 (scm_vector, scm_make_vector): Use scm_c_make_vector.
594
595 * hashtab.c (scm_c_make_hash_table): New function.
596 * hashtab.h (scm_c_make_hash_table): Declared.
597 * environments.c (scm_make_leaf_environment,
598 scm_make_eval_environment), gc.c (scm_init_storage),
599 keywords.c (scm_init_keywords), symbols.c (scm_builtin_bindings):
600 Use scm_c_make_hash_table.
601
b8446ce8
MD
6022001-01-31 Mikael Djurfeldt <mdj@linnaeus.mit.edu>
603
604 * unif.c (rapr1): Don't apply scm_uniform_vector_length on arrays.
605
e3239868
DH
6062001-01-29 Martin Grabmueller <mgrabmue@cs.tu-berlin.de>
607
608 * struct.c (scm_make_vtable_vtable): Removed unnecessary "" from
609 end of docstring.
610
611 * struct.c (scm_struct_set_x, scm_struct_vtable_tag,
612 scm_struct_vtable_name, scm_set_struct_vtable_name_x), weaks.c
613 (scm_make_weak_value_hash_table, scm_make_doubly_weak_hash_table,
614 scm_weak_value_hash_table_p, scm_doubly_weak_hash_table_p),
615 srcprop.c (scm_source_properties, scm_set_source_properties_x,
616 scm_source_property, scm_set_source_property_x), sort.c
617 (scm_sort_list_x, scm_restricted_vector_sort_x, scm_sorted_p,
618 scm_merge, scm_merge_x, scm_sort_x, scm_sort, scm_stable_sort_x,
619 scm_stable_sort, scm_sort_list_x, scm_sort_list): Added
620 docstrings.
621
41ee56dd
MD
6222001-01-29 Mikael Djurfeldt <mdj@linnaeus.mit.edu>
623
624 * eval.c (SCM_APPLY): Check that primitives which take 1 arg
625 really get that arg.
626
b6311c08
KN
6272001-01-26 Keisuke Nishida <kxn30@po.cwru.edu>
628
629 * goops.c (s_scm_get_keyword): Bug fix.
630
a49af0c0
DH
6312001-01-26 Dirk Herrmann <D.Herrmann@tu-bs.de>
632
633 The following patch was sent by Martin Grabmueller. It makes sure
634 that in case of parameter errors the correct function name is
635 shown, and that parameter types are only checked once.
636
637 * strop.c (string_copy, string_upcase_x, string_downcase_x,
638 string_capitalize_x): New functions. Each one performs the core
639 functionality of the corresponding scm_* function.
640
641 (scm_string_copy, scm_string_upcase_x, scm_string_upcase,
642 scm_string_downcase_x, scm_string_downcase,
643 scm_string_capitalize_x, scm_string_capitalize): Reduced to
644 parameter checking wrappers of the above functions.
645
13070bd3
DH
6462001-01-26 Dirk Herrmann <D.Herrmann@tu-bs.de>
647
648 * continuations.c, dynl.c, keywords.c, load.c: Include
649 strings.h. Thanks to Bill Schottstaedt for the bug report.
650
2f2b390c
DH
6512001-01-25 Dirk Herrmann <D.Herrmann@tu-bs.de>
652
653 * backtrace.c (display_header): Make sure that line and column
654 information is shown independent of whether the port the code was
655 read from had an associated filename. Thanks to Martin
656 Grabmueller for providing this patch.
657
efa40607
DH
6582001-01-25 Dirk Herrmann <D.Herrmann@tu-bs.de>
659
660 * fports.[ch] (scm_file_port_p): New primitive.
661
a98bddfd
DH
6622001-01-25 Dirk Herrmann <D.Herrmann@tu-bs.de>
663
664 * tags.h (scm_tc16_fport, scm_tc16_strport, scm_tc16_sfport):
665 These are now defined in fports.c, strports.c and vports.c.
666
667 * fports.[ch] (scm_tc16_fport), strports.c (scm_tc16_strport),
668 vports.c (scm_tc16_sfport): Made variables (were macros defined in
669 tags.h).
670
671 fports.c (scm_make_fptob), strports.c (scm_make_stptob), vports.c
672 (scm_make_sfptob): Made static. These return a type code now.
673
674 fports.c (scm_init_fports), strports.c (scm_init_strports),
675 vports.c (scm_init_vports): Create the corresponding port types.
676
677 * fports.h (SCM_FPORTP, SCM_OPFPORTP, SCM_OPINFPORTP,
678 SCM_OPOUTFPORTP): Redefined in terms of scm_tc16_fport.
679
680 * init.c (scm_init_guile_1): Make sure strports are initialized
681 before gdbint.
682
683 * ports.[ch] (scm_make_port_type): Changed the return type to
684 scm_bits_t.
685
686 * ports.c (scm_ports_prehistory): Don't create any port types
687 here.
688
689 * posix.c (scm_ttyname): Use SCM_FPORTP instead of comparing
690 against scm_tc16_fport directly.
691
0419a528
DH
6922001-01-25 Dirk Herrmann <D.Herrmann@tu-bs.de>
693
694 * srcprop.c (scm_set_source_property_x): Fix to handle
695 (set-source-property! <obj> 'copy <datum>) correctly.
696
6d36532c
GH
6972001-01-24 Gary Houston <ghouston@arglist.com>
698
699 * filesys.c (scm_link): docstring fix.
700 * fports.h (scm_setfileno): obsolete declaration removed.
701 * posix.c: bogus popen declaration removed.
702
703 * rdelim.c: new file, split from ioext.c.
704 * rdelim.h: new file, split from ioext.h
705 * Makefile.am: add rdelim.c and related files.
706 * init.c: call scm_init_rdelim. include rdelim.h.
707
3ba5a6c2
DH
7082001-01-24 Dirk Herrmann <D.Herrmann@tu-bs.de>
709
710 This patch was sent by Martin Grabmueller and makes sure that
711 parameter errors are reported correctly by the lexicographic
712 ordering predicates.
713
714 * strorder.c (string_less_p, string_ci_less_p): New functions.
715
716 (scm_string_less_p, scm_string_ci_less_p): Extracted the core
717 functionality into string_less_p, string_ci_less_p respectively.
718 The remaining code is just a wrapper to do the parameter
719 checking.
720
721 (scm_string_leq_p, scm_string_gr_p, scm_string_geq_p): Check the
722 parameters and call string_less_p instead of scm_string_less_p.
723
724 (scm_string_ci_leq_p, scm_string_ci_gr_p, scm_string_ci_geq_p):
725 Check the parameters and call string_less_ci_p instead of
726 scm_string_ci_less_p.
727
e40a4095
DH
7282001-01-24 Dirk Herrmann <D.Herrmann@tu-bs.de>
729
ed6a2db9
DH
730 This patch modifies scm_display_error to perform parameter
731 checking. Thanks to Neil Jerram for the bug report.
732
e40a4095
DH
733 * backtrace.[ch] (scm_i_display_error): New function.
734
735 * backtrace.c (scm_display_error): Added parameter check and
736 extracted the core functionality into function
737 scm_i_display_error.
738
739 * throw.c (handler_message): Call scm_i_display_error to display
740 the error message.
741
f1e06a96
MD
7422001-01-23 Mikael Djurfeldt <mdj@linnaeus.mit.edu>
743
744 * eval.c (SCM_APPLY): Added # args check for application of
745 procedures with arity 3. (Thanks to Anders Holst.)
746
30ea841d
DH
7472001-01-24 Dirk Herrmann <D.Herrmann@tu-bs.de>
748
749 * filesys.h (SCM_DIR_FLAG_OPEN, SCM_DIR_OPEN_P): Added.
750
751 (SCM_OPDIRP): Deprecated.
752
753 * filesys.c (scm_opendir): Use SCM_DIR_FLAG_OPEN instead of
754 SCM_OPN.
755
756 (scm_readdir, scm_rewinddir): Don't use SCM_VALIDATE_OPDIR.
757 Instead, give an explicit error message in case the directory is
758 closed.
759
760 (scm_closedir, scm_dir_print): Rewritten to use SCM_DIR_OPEN_P
761 instead of SCM_OPENP and SCM_CLOSEDP.
762
763 * validate.h (SCM_VALIDATE_OPDIR): Deprecated.
764
312ae976
DH
7652001-01-22 Dirk Herrmann <D.Herrmann@tu-bs.de>
766
767 * eval.c (inner_eval, scm_eval): Move all real functionality into
768 inner_eval. Avoid to copy the expression twice by inlining some
769 code from scm_i_eval.
770
4567ed78
DH
7712001-01-19 Dirk Herrmann <D.Herrmann@tu-bs.de>
772
773 * eval.c (scm_m_case): The 'else' clause of a 'case' statement
774 now has to be the last clause, as required by R5RS. Thanks to
775 Martin Grabmueller for the patch.
776
10288a09
GH
7772001-01-18 Gary Houston <ghouston@arglist.com>
778
779 * ioext.c: further simplify scm_read_string_x_partial by defining
780 a macro SCM_EBLOCK.
781
8f379a8f
DH
7822001-01-18 Dirk Herrmann <D.Herrmann@tu-bs.de>
783
784 * gh_data.c (gh_ints2scm): Simplified using SCM_FIXABLE.
785
5c75b29f
DH
7862001-01-18 Dirk Herrmann <D.Herrmann@tu-bs.de>
787
788 * __scm.h: Added comment about architecture and compiler
789 properties that are required by guile.
790
791 (SCM_FIXNUM_BIT, SCM_MOST_POSITIVE_FIXNUM,
792 SCM_MOST_NEGATIVE_FIXNUM): Moved to numbers.h.
793
794 (SCM_CHAR_BIT, SCM_LONG_BIT): Moved here from numbers.h.
795
796 * numbers.h (SCM_CHAR_BIT, SCM_LONG_BIT): Moved to __scm.h.
797
798 (SCM_FIXNUM_BIT, SCM_MOST_POSITIVE_FIXNUM,
799 SCM_MOST_NEGATIVE_FIXNUM): Moved here from __scm.h.
800
ac0c002c
DH
8012001-01-17 Dirk Herrmann <D.Herrmann@tu-bs.de>
802
803 * __scm.h (SCM_FIXNUM_BIT): Added. The name is chosen in analogy
804 to the names in limits.h.
805
806 * numbers.c (abs_most_negative_fixnum): Added.
807
808 (scm_quotient, scm_remainder): Fixed the fixnum-min / (abs
809 fixnum-min) special case.
810
811 (scm_big_and): Fix for negative first parameter.
812
813 (scm_bit_extract): Fix for fixnum paramters.
814 Thanks to Rob Browning for the bug report.
815
816 (scm_init_numbers): Initialize abs_most_negative_fixnum.
817
debe0dc2
DH
8182001-01-16 Dirk Herrmann <D.Herrmann@tu-bs.de>
819
820 * symbols.c (scm_symbol_bound_p): Fixed comment.
821 Thanks to Chris Cramer.
822
8a39e3fc
DH
8232001-01-15 Dirk Herrmann <D.Herrmann@tu-bs.de>
824
825 * smob.[ch] (scm_make_smob_type): Return type is scm_bits_t now.
826 Thanks to Bill Schottstaedt.
827
322ec19d
ML
8282001-01-11 Michael Livshin <mlivshin@bigfoot.com>
829
830