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