* Eliminate another couple of calls to scm_wta.
[bpt/guile.git] / libguile / ChangeLog
CommitLineData
276dd677
DH
12001-03-04 Dirk Herrmann <D.Herrmann@tu-bs.de>
2
3 * debug.c (scm_procedure_source, scm_procedure_environment),
4 print.c (scm_get_print_state), ramap.c (scm_array_fill_int,
5 scm_array_index_map_x), sort.c (scm_sort_x, scm_sort,
6 scm_stable_sort_x, scm_stable_sort), stacks.c (scm_make_stack,
7 scm_last_stack_frame), symbols.c (scm_sym2vcell, scm_sym2ovcell),
8 unif.c (scm_list_to_uniform_array, scm_uniform_vector_length,
9 scm_transpose_array, scm_enclose_array, scm_array_in_bounds_p,
10 scm_uniform_vector_ref, scm_array_set_x, scm_uniform_array_read_x,
11 scm_uniform_array_write, scm_bit_set_star_x, scm_bit_count_star,
12 scm_array_to_list, scm_array_prototype), validate.h
13 (SCM_VALIDATE_NUMBER_COPY): Don't call function scm_wta, call
14 scm_misc_error or scm_wrong_type_arg instead.
15
16 * validate.h (SCM_WTA, RETURN_SCM_WTA): Deprecated.
17
5e03762c
MD
182001-03-04 Mikael Djurfeldt <mdj@linnaeus.mit.edu>
19
20 * goops.c, goops.h (scm_sys_pre_expand_closure_x): Removed.
21 (scm_sys_tag_body): Added.
22
db4b4ca6
DH
232001-03-04 Dirk Herrmann <D.Herrmann@tu-bs.de>
24
25 * continuations.c (continuation_apply), eval.c (scm_m_lambda,
26 scm_m_letstar, scm_m_letrec1, scm_m_let, SCM_APPLY), eval.h
27 (SCM_EVALIM2), evalext.c (scm_m_generalized_set_x), gc.c
28 (get_bvec, MARK), goops.c (scm_primitive_generic_generic),
29 options.c (scm_options), ports.c (scm_remove_from_port_table),
30 ramap.c (scm_ramapc), read.c (skip_scsh_block_comment, scm_lreadr,
31 scm_lreadparen, scm_lreadrecparen), script.c (script_get_octal,
32 script_get_backslash, script_read_arg), unif.c (scm_cvref): Don't
33 call function scm_wta, call scm_misc_error or scm_wrong_type_arg
34 instead.
35
87e7741d
MD
362001-03-04 Mikael Djurfeldt <mdj@linnaeus.mit.edu>
37
38 * goops.c (scm_sys_pre_expand_closure_x): New procedure.
39
d19b0aac
MV
402001-03-04 Marius Vollmer <mvo@zagadka.ping.de>
41
42 * eval.c (scm_s_duplicate_bindings): New error message.
43 (scm_m_letrec1, scm_m_letstar): Check for duplicate bindings.
44
2fd945df
MV
452001-03-03 Marius Vollmer <mvo@zagadka.ping.de>
46
47 * eval.h (SCM_EVALIM2): New macro. Use it when a
48 immediate, literal constant should be evaluated.
49 * eval.c (scm_s_duplicate_formals): New error message string.
50 (scm_c_improper_memq): New function.
51 (scm_m_lambda): Check for duplicate arguments.
52 (scm_ceval, scm_deval): When executing a body: only cons a new
53 toplevel environment frame when it is different from the
54 existing one; use EVALCAR instead of SIDEVAL so that we can properly
55 check for empty combinations; use SCM_EVALIM2 for the same reason
56 in the non-toplevel loop.
57 (nontoplevel_cdrxnoap, nontoplevel_cdrxbegin, nontoplevel_begin):
58 New labels with the meaning of their non-"nontoplevel" partners,
59 but they are used when it is known that the body is not evaluated at
60 top-level.
61 (scm_apply, scm_dapply): use SCM_EVALIM2 to get proper error
62 reporting for empty combinations.
63
9e6fc585
KN
642001-03-02 Keisuke Nishida <kxn30@po.cwru.edu>
65
66 * Remove dump facilities.
67 * dump.c, dump.h: Removed.
68 * Makefile.am: Remove dump.c, dump.h, dump.x, dump.doc.
69 * init.c: Remove #include "libguile/dump.h".
70 (scm_init_guile_1): Remove scm_init_dump.
71 * smob.h (scm_smob_descriptor): Remove slots: dump, undump.
72 (scm_set_smob_dump, scm_set_smob_undump): Remove declaration.
73 * smob.c (scm_make_smob_type): Remove initialization: dump, undump.
74 (scm_set_smob_dump, scm_set_smob_undump): Removed.
75
76 * keywords.c: Remove #include "libguile/dump.h".
77 (keyword_dump, keyword_undump): Removed.
78 (scm_init_keywords): Remove scm_set_smob_dump and scm_set_smob_undump.
79
eae54bf0
MG
802001-03-02 Martin Grabmueller <mgrabmue@cs.tu-berlin.de>
81
82 * vectors.c (s_scm_vector_p, list->vector, scm_vector)
83 (scm_vector_ref, scm_vector_set_x, scm_vector_to_list)
84 (scm_vector_fill_x), strorder.c (scm_string_equal_p)
85 (scm_string_ci_equal_p, scm_string_less_p, scm_string_leq_p)
86 (scm_string_gr_p, scm_string_geq_p, scm_string_ci_less_p)
87 (scm_string_ci_geq_p), symbols.c (scm_symbol_p)
88 (scm_symbol_to_string, scm_string_to_symbol): Changed use of @t{}
89 to @code{} as the texinfo manual recommends, converted the
90 examples to use a @lisp{}-environment.
91
92 * strports.c (scm_eval_string): Cleaned up the docstring.
93
94 * struct.c (scm_struct_p, scm_struct_vtable_p): Added texinfo
95 markup.
96
97 * numbers.c (scm_exact_p, scm_odd_p, scm_even_p)
98 (scm_number_to_string, scm_string_to_number, scm_number_p)
99 (scm_real_p, scm_integer_p, scm_inexact_p, scm_make_rectangular)
100 (scm_make_polar, scm_inexact_to_exact): Added texinfo markup.
101 (scm_ash): Added texinfo markup and removed obsolete @refill.
102 (scm_gr_p): Corrected comment.
103 (scm_gr_p, scm_leq_p, scm_geq_p): Added texinfo markup to (future
104 docstring) comments.
105 (scm_positive_p, scm_less_p, scm_num_eq_p, scm_real_p)
106 (scm_number_p, scm_negative_p, scm_max, scm_min, scm_sum)
107 (scm_difference, scm_product, scm_divide, scm_asinh, scm_acosh)
108 (scm_atanh, scm_truncate, scm_round, scm_exact_to_inexact)
109 (floor, ceiling, $sqrt, $abs, $exp, $log, $sin, $cos, $tan, $asin)
110 ($acos, $atan, $sinh, $cosh, $tanh, scm_real_part, scm_imag_part)
111 (scm_magnitude, scm_angle, scm_abs, scm_quotient, scm_remainder)
112 (scm_modulo, scm_gcd, scm_lcm): Added (future docstring) comments.
113
23deee81
DH
1142001-02-28 Dirk Herrmann <D.Herrmann@tu-bs.de>
115
116 * __scm.h (SCM_ASSERT_TYPE): Add missing macro parameter.
117 (Obviously nobody compiles with SCM_RECKLESS defined...)
118
119 * validate.h (SCM_ASSERT_RANGE): Use the argument number.
120
6fe692e9
MD
1212001-02-23 Mikael Djurfeldt <mdj@linnaeus.mit.edu>
122
123 * ports.c, ports.h (scm_c_read, scm_c_write): New functions.
124
125 * ports.h (SCM_READ_BUFFER_EMPTY_P): New macro.
126
27c37006
NJ
1272001-02-24 Neil Jerram <neil@ossau.uklinux.net>
128
129 * numbers.c (scm_two_doubles, scm_sys_expt, scm_sys_atan2,
130 scm_make_polar): Rename arguments `z1' and `z2' to `x' and `y',
131 since use of `z' suggests that the arguments may be complex.
132
133 * goops.c (scm_make), numbers.c (scm_sys_expt): Fix docstring
134 typos.
135
2069af38
NJ
1362001-02-23 Neil Jerram <neil@ossau.uklinux.net>
137
138 * dump.c (scm_binary_write, scm_binary_read), eval.c
139 (scm_primitive_eval), guardians.c (scm_guardian_destroyed_p,
140 scm_guardian_greedy_p, scm_make_guardian), fports.c
141 (scm_file_port_p): Minor docstring fixes.
142
b42ff180
MV
1432001-02-22 Marius Vollmer <mvo@zagadka.ping.de>
144
2069af38 145 * load.c (load): Use scm_primitive_eval_x instead of scm_i_eval_x.
97ea55f8
MV
146
147 * goops.c (scm_add_method, DEFVAR): Use scm_eval instead of
148 scm_i_eval.
149 (make_class_from_template): Do not bother to set the current
150 module around the call to DEFVAR, scm_eval takes care of that.
151 (scm_init_goops): Make scm_module_goops and
152 scm_goops_lookup_closure permanent objects.
153
154 * eval.c (scm_ceval, scm_deval): When evaluating expressions on
155 top level, create a fresh top-level environment for each
156 expression instead of mutating the exisint frame. This is
157 important when that frame is closed over.
158
b42ff180
MV
159 * numbers.c (s_scm_logior) [SCM_DIGSTOOBIG]: Also use
160 SCM_DIGSPERLONG instead of DIGSPERLONG.
161
09f2ab1e
MV
1622001-02-21 Marius Vollmer <mvo@zagadka.ping.de>
163
164 * eval.c (scm_ceval, scm_deval): Check for wrong number of args
165 before applying arrow procedure in `cond' and before applying
166 receiver procedure in call-with-current-continuation.
167 (scm_i_eval): Do not invoke scm_copy_tree in argument in SCM_XEVAL
168 macro. The argument is expanded more than one time.
169
170 * numbers.c (scm_logior) [SCM_DIGSTOOBIG]: Correctly use
171 SCM_BIGDIG instead of BIGDIG. Thanks to Steven G. Johnson!
172
1732001-02-20 Marius Vollmer <mvo@zagadka.ping.de>
174
175 * guile-doc-snarf.in, guile-func-name-check.in: Added copyright
176 notice and license.
177
7090240c
MG
1782001-02-17 Martin Grabmueller <mgrabmue@cs.tu-berlin.de>
179
180 * variable.c (scm_make_variable, scm_make_undefined_variable)
181 (scm_variable_ref, scm_variable_set_x, scm_builtin_variable)
182 (scm_variable_bound_p), values.c (scm_values)
183 (scm_call_with_values), unif.c (scm_bit_count)
184 (scm_bit_set_star_x), symbols.c (scm_gentemp)
185 (scm_gensym), strings.c (scm_string_p, scm_make_string)
186 (scm_read_only_string_p, scm_string_length, scm_string_ref)
187 (scm_string_set_x, scm_substring, scm_string_append), stime.c
188 (scm_strptime, scm_mktime), random.c (scm_seed_to_random_state)
189 (scm_copy_random_state, scm_random), print.c (scm_newline)
190 (scm_write_char, scm_simple_format), debug-malloc.c
191 (scm_malloc_stats), environments.c (scm_environment_p)
192 (scm_environment_bound_p, scm_environment_ref)
193 (scm_environment_fold, scm_environment_define)
194 (scm_environment_undefine, scm_environment_set_x)
195 (scm_environment_cell, scm_environment_observe)
196 (scm_environment_observe_weak, scm_environment_unobserve)
197 (scm_make_eval_environment, scm_eval_environment_p)
198 (scm_eval_environment_set_local_x, scm_eval_environment_local)
199 (scm_eval_environment_imported)
200 (scm_eval_environment_set_imported_x, scm_make_import_environment)
201 (scm_import_environment_p, scm_import_environment_imports)
202 (scm_import_environment_set_imports_x, scm_make_export_environment)
203 (scm_export_environment_p, scm_export_environment_private)
204 (scm_export_environment_set_private_x)
205 (scm_export_environment_signature)
206 (scm_export_environment_set_signature_x, scm_leaf_environment_p):
207 Added texinfo markup.
208
209 * ports.c (scm_drain_input): Lowercased argument to @var.
210 (scm_current_input_port, scm_current_output_port): Filled in
211 missing explanation.
212 (scm_current_load_port, scm_set_current_output_port)
213 (scm_set_current_error_port, scm_port_line, scm_set_port_line_x):
214 Added texinfo markup.
215
216 * arbiters.c (scm_make_arbiter, scm_try_arbiter)
217 (scm_release_arbiter): Added texinfo markup to docstrings.
218 Changed `Returns' to `Return'.
219 (arbiter_print): Changed SCM_CDR to SCM_SMOB_DATA.
220
25703850
NJ
2212001-02-16 Neil Jerram <neil@ossau.uklinux.net>
222
223 * guile-snarf.awk.in: Quote any `@'s that occur in Scheme names,
224 by doubling them to `@@'.
225
73c0fdce
MG
2262001-02-16 Martin Grabmueller <mgrabmue@cs.tu-berlin.de>
227
228 * numbers.c (scm_lognot), random.c (scm_random,
229 scm_random_normal, scm_random_solid_sphere_x,
230 scm_random_hollow_sphere_x, scm_random_normal_vector_x,
231 scm_random_exp), dynwind.c
232 (scm_dynamic_wind): Removed unnecessary "" from docstrings.
233
234 * goops.c (scm_sys_initialize_object, scm_instance_p,
235 scm_class_name, scm_class_precedence_list, scm_class_slots,
236 scm_class_environment, scm_generic_function_name,
237 scm_generic_function_methods, scm_method_generic_function,
238 scm_method_specializers, scm_method_procedure, scm_make_unbound,
239 scm_unbound_p, scm_assert_bound, scm_at_assert_bound_ref,
240 scm_sys_fast_slot_ref, scm_sys_fast_slot_set_x, scm_slot_ref,
241 scm_slot_set_x, _scm_slot_bound_p, scm_slots_exists_p,
242 scm_sys_allocate_instance, scm_make, scm_pure_generic_p,
243 scm_class_direct_supers, scm_class_direct_slots,
244 scm_class_direct_subclasses, scm_class_direct_methods,
245 scm_accessor_method_slot_definition, scm_sys_goops_loaded),
246 debug.c (scm_with_traps, scm_memoized_p, scm_make_gloc,
247 scm_gloc_p, scm_make_iloc, scm_iloc_p, scm_memcons,
248 scm_mem_to_proc, scm_proc_to_mem, scm_unmemoize,
249 scm_memoized_environment, scm_procedure_name,
250 scm_procedure_source, scm_procedure_environment, scm_debug_hang),
251 objects.c
252 (scm_class_of, scm_entity_p, scm_operator_p,
253 scm_set_object_procedure_x, scm_object_procedure,
254 scm_make_class_object), hooks.c (scm_make_hook_with_name,
255 scm_make_hook, scm_hook_p, scm_hook_empty_p, scm_add_hook_x,
256 scm_remove_hook_x, scm_reset_hook_x, scm_run_hook,
257 scm_hook_to_list), lang.c
258 (scm_nil_cons, scm_nil_car, scm_nil_cdr, scm_null, scm_nil_eq),
259 numbers.c (scm_sys_expt, scm_sys_atan2), print.c
260 (scm_print_options, scm_port_with_print_state,
261 scm_get_print_state), procs.c (scm_make_cclo, scm_procedure_p,
262 scm_closure_p, scm_thunk_p, scm_procedure_with_setter_p,
263 scm_make_procedure_with_setter, scm_procedure), throw.c
264 (scm_lazy_catch), modules.c (scm_standard_eval_closure), load.c
265 (scm_parse_path, scm_search_path), stacks.c (scm_make_stack,
266 scm_stack_ref, scm_stack_length, scm_frame_p,
267 scm_last_stack_frame, scm_frame_number, scm_frame_source,
268 scm_frame_procedure, scm_frame_arguments, scm_frame_previous,
269 scm_frame_next, scm_frame_real_p, scm_frame_procedure_p,
270 scm_frame_evaluating_args_p, scm_frame_overflow_p), filesys.c
271 (scm_dirname, scm_basename), dynwind.c
272 (scm_wind_chain), read.c (scm_read_options, scm_read,
273 scm_read_hash_extend), gc.c
274 (scm_unhash_name), eval.c (scm_eval_options_interface,
275 scm_evaluator_traps, s_scm_nconc2last), backtrace.c
276 (scm_display_error, scm_set_print_params_x,
277 scm_display_application, scm_display_backtrace, scm_backtrace),
278 async.c (scm_async, scm_system_async, scm_async_mark,
279 scm_system_async_mark, scm_run_asyncs, scm_noop,
280 scm_set_tick_rate, scm_set_switch_rate, scm_unmask_signals,
281 scm_mask_signals): Added docstrings.
282
e228a203
KN
2832001-02-15 Keisuke Nishida <kxn30@po.cwru.edu>
284
285 * dump.c (scm_undump): Use SCM_CARLOC/SCM_CDRLOC to obtain the
286 address of car/cdr. (Thanks to Dirk Herrmann)
287 Use scm_sizet to obtain the length of strings.
288 (Thanks to Matthias Koeppe)
289
1552a59d
MV
2902001-02-15 Marius Vollmer <mvo@zagadka.ping.de>
291
292 * symbols.c (scm_mem2symbol): Put a empty statement after the
293 next_symbol label. This is mandated by ANSI, appearantly.
294
3178f751
MV
2952001-02-13 Marius Vollmer <marius.vollmer@uni-dortmund.de>
296
297 * gc_os_dep.c: Do not include <linux/version.h>. It makes no
298 sense to compile for a specific kernel version. Do not include
299 <asm/signal.h> while defining __KERNEL__. This hack should no
300 longer be needed and caused problems.
301
7af4defe
MV
3022001-02-13 Marius Vollmer <mvo@zagadka.ping.de>
303
304 * eval.c (scm_ceval, scm_deval): use `SIDEVAL' instead of
305 SCM_CEVAL when evaluating subforms of `begin' forms. SCM_CEVAL
306 can not deal with immediates.
307
5d6bb349
KN
3082001-02-12 Keisuke Nishida <kxn30@po.cwru.edu>
309
310 * list.c (scm_list_copy): Validate the first argument.
311
ec9709f0
MV
3122001-02-11 Marius Vollmer <mvo@zagadka.ping.de>
313
314 Fix evaluator so that top-level expressions are correctly
315 evaluated with respect to the module system.
316
317 * modules.h. modules.c (scm_current_module_lookup_closure): New
318 function.
319
320 * eval.h (scm_primitive_eval, scm_primitive_eval_x): New
321 prototypes.
322 (scm_i_eval, scm_i_eval_x, scm_eval, scm_eval_x): Changed argument
323 names to better reflect their meaning.
324
325 * eval.c (scm_ceval, scm_deval): Recognize when `begin' is being
326 evaluated at top-level and synronize lookup closure before
327 executing every subform.
328 (scm_primitve_eval_x, scm_primitive_eval): New functions.
329 (scm_eval_x, scm_eval): Reimplement in terms of
330 scm_primitive_eval_x and scm_primitive_eval, respectively.
331
3322001-02-09 Marius Vollmer <mvo@zagadka.ping.de>
333
334 * macros.c (scm_macro_name, scm_macro_transformer): Use
335 SCM_SMOB_DATA instead of SCM_CDR. Provided by Martin Grabmueller.
336 Thanks!
337
42417394
KN
3382001-02-10 Keisuke Nishida <kxn30@po.cwru.edu>
339
340 * dump.c (scm_store_bytes): Store data size before data.
341 (scm_restore_bytes): Restore data size. Takes a pointer to size.
342 * dump.h (scm_restore_bytes): Updated.
343
bf942687
KN
3442001-02-09 Keisuke Nishida <kxn30@po.cwru.edu>
345
346 * dump.c: Use double cells for update schedule.
347
1be4270a
KN
3482001-02-08 Keisuke Nishida <kxn30@po.cwru.edu>
349
350 * ports.c (scm_unread_char): Take an optional argument.
351
548728ea
MV
3522001-02-08 Marius Vollmer <marius.vollmer@uni-dortmund.de>
353
354 * modules.h (scm_selected_module, scm_current_module): Renamed
355 scm_selected_module to scm_current_module to synchronize Scheme
356 and C names.
357 (scm_select_module, scm_set_current_module): Likewise. Changed
358 all uses.
359
360 * ports.c (scm_port_for_each): Make a snapshot of the port table
361 before iterating over it. The table might change while the user
362 code is running. With the snapshot, the user can depend on the
c5408bc3 363 fact that each port that existed at the start of the iteration is
548728ea
MV
364 encountered exactly once. (ice-9 popen) depends on this.
365
cb0d8be2
DH
3662001-02-08 Dirk Herrmann <D.Herrmann@tu-bs.de>
367
368 * strings.h (SCM_STRING_MAX_LENGTH): New macro.
369
370 * strings.c (scm_makstr, scm_take_str, scm_make_string): Added
371 range checking for the size parameter. Thanks to Martin
372 Grabmueller for the hint.
373
374 (scm_makstr): Reordered string initialization to make interrupt
375 deferring unnecessary.
376
377 * vectors.c (scm_make_vector): Fixed range checking.
378
e382fdbe
DH
3792001-02-08 Dirk Herrmann <D.Herrmann@tu-bs.de>
380
381 * vectors.h (SCM_VECTOR_MAX_LENGTH): New macro.
382
383 * vectors.c (scm_make_vector, scm_c_make_vector): Improved the
384 checking of the size parameter for type correctness and valid
385 range. Thanks to Rob Browning for reporting the problem. Instead
386 of deferring interrupts, scm_remember_upto_here_1 is used.
387
bf8f0922
KN
3882001-02-05 Keisuke Nishida <kxn30@po.cwru.edu>
389
390 * dump.c (scm_store_cell_object, scm_restore_cell_object): Removed.
391 (scm_dump_cell_update): Removed.
392 (scm_dump_update): Renamed from scm_dump_object_update.
393 (scm_restore_string, scm_restore_bytes, scm_restore_word): Takes
394 a pointer instead of returning a value.
395 * keywords.c (keyword_undump): Updated.
396
914cceec
KN
3972001-02-05 Keisuke Nishida <kxn30@po.cwru.edu>
398
399 * dump.c, dump.h: Modified a lot.
5f17c66f 400 (SCM_DUMP_COOKIE): Version 0.1
914cceec
KN
401 (scm_dump_mark): Removed.
402 (scm_restore_cell_object, scm_store_cell_object): New functions.
403
404 * smob.h (scm_smob_descriptor): Removed slots: dump_mark,
405 dump_dealloc, dump_store, undump_alloc, undump_restore, undump_init.
406 New slots: dump, undump.
407 * smob.c (scm_make_smob_type, scm_set_smob_dump, scm_set_smob_undump):
408 Updated.
409
410 * keywords.c (keyword_dump): Renamed from keyword_dealloc.
411 (keyword_undump): Renamed from keyword_alloc.
412 (scm_init_keywords): Set keyword_dump and keyword_undump.
413
ecf470a2
ML
4142001-02-03 Michael Livshin <mlivshin@bigfoot.com>
415
416 * gc.c (DOUBLECELL_ALIGNED_P): new macro, a better-named analog of
417 the deprecated SCM_DOUBLE_CELLP.
418
419 * tags.h (SCM_DOUBLE_CELLP): deprecated.
420
03416a99
KN
4212001-02-02 Keisuke Nishida <kxn30@po.cwru.edu>
422
423 * dump.c, dump.h: New files.
424 * Makefile.am: Added dump.c, dump.h, dump.x, dump.doc.
425 * init.c: #include "libguile/dump.h".
426 (scm_init_guile_1): Call scm_init_dump.
427 * smob.h (scm_smob_descriptor): New slots: dump_mark,
428 dump_dealloc, dump_store, undump_alloc, undump_restore,
429 undump_init.
430 * smob.c (scm_make_smob_type): Init the new slots.
431 (scm_set_smob_dump, scm_set_smob_undump): New functions.
432 * smob.h (scm_set_smob_dump, scm_set_smob_undump): Declared.
433
434 * keywords.c: #include "libguile/dump.h".
435 (keyword_dealloc, keyword_alloc): New functions.
436 (scm_init_keywords): Set smob_dump and smob_undump.
437
00ffa0e7
KN
4382001-02-01 Keisuke Nishida <kxn30@po.cwru.edu>
439
440 * vectors.c (scm_c_make_vector): New function.
441 * vectors.h (scm_c_make_vector): Declared.
442 * eval.c (scm_copy_tree), filesys.c (scm_stat2scm), fluids.c
443 (scm_make_initial_fluids, grow_fluids), gc.c (scm_init_storage),
444 gh_data.c (gh_ints2scm, gh_doubles2scm): goops.c
445 (scm_make_method_cache, scm_i_vector2list,
446 scm_compute_applicable_methods, scm_sys_method_more_specific_p),
447 init.c (start_stack), net_db.c (scm_gethost, scm_getnet,
448 scm_getproto, scm_return_entry), posix.c (scm_getgroups,
449 scm_getpwuid, scm_getgrgid, scm_uname), print.c (make_print_state,
450 grow_ref_stack), regex-posix.c (scm_regexp_exec), scmsigs.c
451 (scm_init_scmsigs), socket.c (scm_addr_vector, scm_addr_vector),
452 stime.c (scm_times, filltime), unif.c (scm_make_uve), vectors.c
453 (scm_vector, scm_make_vector): Use scm_c_make_vector.
454
455 * hashtab.c (scm_c_make_hash_table): New function.
456 * hashtab.h (scm_c_make_hash_table): Declared.
457 * environments.c (scm_make_leaf_environment,
458 scm_make_eval_environment), gc.c (scm_init_storage),
459 keywords.c (scm_init_keywords), symbols.c (scm_builtin_bindings):
460 Use scm_c_make_hash_table.
461
b8446ce8
MD
4622001-01-31 Mikael Djurfeldt <mdj@linnaeus.mit.edu>
463
464 * unif.c (rapr1): Don't apply scm_uniform_vector_length on arrays.
465
e3239868
DH
4662001-01-29 Martin Grabmueller <mgrabmue@cs.tu-berlin.de>
467
468 * struct.c (scm_make_vtable_vtable): Removed unnecessary "" from
469 end of docstring.
470
471 * struct.c (scm_struct_set_x, scm_struct_vtable_tag,
472 scm_struct_vtable_name, scm_set_struct_vtable_name_x), weaks.c
473 (scm_make_weak_value_hash_table, scm_make_doubly_weak_hash_table,
474 scm_weak_value_hash_table_p, scm_doubly_weak_hash_table_p),
475 srcprop.c (scm_source_properties, scm_set_source_properties_x,
476 scm_source_property, scm_set_source_property_x), sort.c
477 (scm_sort_list_x, scm_restricted_vector_sort_x, scm_sorted_p,
478 scm_merge, scm_merge_x, scm_sort_x, scm_sort, scm_stable_sort_x,
479 scm_stable_sort, scm_sort_list_x, scm_sort_list): Added
480 docstrings.
481
41ee56dd
MD
4822001-01-29 Mikael Djurfeldt <mdj@linnaeus.mit.edu>
483
484 * eval.c (SCM_APPLY): Check that primitives which take 1 arg
485 really get that arg.
486
b6311c08
KN
4872001-01-26 Keisuke Nishida <kxn30@po.cwru.edu>
488
489 * goops.c (s_scm_get_keyword): Bug fix.
490
a49af0c0
DH
4912001-01-26 Dirk Herrmann <D.Herrmann@tu-bs.de>
492
493 The following patch was sent by Martin Grabmueller. It makes sure
494 that in case of parameter errors the correct function name is
495 shown, and that parameter types are only checked once.
496
497 * strop.c (string_copy, string_upcase_x, string_downcase_x,
498 string_capitalize_x): New functions. Each one performs the core
499 functionality of the corresponding scm_* function.
500
501 (scm_string_copy, scm_string_upcase_x, scm_string_upcase,
502 scm_string_downcase_x, scm_string_downcase,
503 scm_string_capitalize_x, scm_string_capitalize): Reduced to
504 parameter checking wrappers of the above functions.
505
13070bd3
DH
5062001-01-26 Dirk Herrmann <D.Herrmann@tu-bs.de>
507
508 * continuations.c, dynl.c, keywords.c, load.c: Include
509 strings.h. Thanks to Bill Schottstaedt for the bug report.
510
2f2b390c
DH
5112001-01-25 Dirk Herrmann <D.Herrmann@tu-bs.de>
512
513 * backtrace.c (display_header): Make sure that line and column
514 information is shown independent of whether the port the code was
515 read from had an associated filename. Thanks to Martin
516 Grabmueller for providing this patch.
517
efa40607
DH
5182001-01-25 Dirk Herrmann <D.Herrmann@tu-bs.de>
519
520 * fports.[ch] (scm_file_port_p): New primitive.
521
a98bddfd
DH
5222001-01-25 Dirk Herrmann <D.Herrmann@tu-bs.de>
523
524 * tags.h (scm_tc16_fport, scm_tc16_strport, scm_tc16_sfport):
525 These are now defined in fports.c, strports.c and vports.c.
526
527 * fports.[ch] (scm_tc16_fport), strports.c (scm_tc16_strport),
528 vports.c (scm_tc16_sfport): Made variables (were macros defined in
529 tags.h).
530
531 fports.c (scm_make_fptob), strports.c (scm_make_stptob), vports.c
532 (scm_make_sfptob): Made static. These return a type code now.
533
534 fports.c (scm_init_fports), strports.c (scm_init_strports),
535 vports.c (scm_init_vports): Create the corresponding port types.
536
537 * fports.h (SCM_FPORTP, SCM_OPFPORTP, SCM_OPINFPORTP,
538 SCM_OPOUTFPORTP): Redefined in terms of scm_tc16_fport.
539
540 * init.c (scm_init_guile_1): Make sure strports are initialized
541 before gdbint.
542
543 * ports.[ch] (scm_make_port_type): Changed the return type to
544 scm_bits_t.
545
546 * ports.c (scm_ports_prehistory): Don't create any port types
547 here.
548
549 * posix.c (scm_ttyname): Use SCM_FPORTP instead of comparing
550 against scm_tc16_fport directly.
551
0419a528
DH
5522001-01-25 Dirk Herrmann <D.Herrmann@tu-bs.de>
553
554 * srcprop.c (scm_set_source_property_x): Fix to handle
555 (set-source-property! <obj> 'copy <datum>) correctly.
556
6d36532c
GH
5572001-01-24 Gary Houston <ghouston@arglist.com>
558
559 * filesys.c (scm_link): docstring fix.
560 * fports.h (scm_setfileno): obsolete declaration removed.
561 * posix.c: bogus popen declaration removed.
562
563 * rdelim.c: new file, split from ioext.c.
564 * rdelim.h: new file, split from ioext.h
565 * Makefile.am: add rdelim.c and related files.
566 * init.c: call scm_init_rdelim. include rdelim.h.
567
3ba5a6c2
DH
5682001-01-24 Dirk Herrmann <D.Herrmann@tu-bs.de>
569
570 This patch was sent by Martin Grabmueller and makes sure that
571 parameter errors are reported correctly by the lexicographic
572 ordering predicates.
573
574 * strorder.c (string_less_p, string_ci_less_p): New functions.
575
576 (scm_string_less_p, scm_string_ci_less_p): Extracted the core
577 functionality into string_less_p, string_ci_less_p respectively.
578 The remaining code is just a wrapper to do the parameter
579 checking.
580
581 (scm_string_leq_p, scm_string_gr_p, scm_string_geq_p): Check the
582 parameters and call string_less_p instead of scm_string_less_p.
583
584 (scm_string_ci_leq_p, scm_string_ci_gr_p, scm_string_ci_geq_p):
585 Check the parameters and call string_less_ci_p instead of
586 scm_string_ci_less_p.
587
e40a4095
DH
5882001-01-24 Dirk Herrmann <D.Herrmann@tu-bs.de>
589
ed6a2db9
DH
590 This patch modifies scm_display_error to perform parameter
591 checking. Thanks to Neil Jerram for the bug report.
592
e40a4095
DH
593 * backtrace.[ch] (scm_i_display_error): New function.
594
595 * backtrace.c (scm_display_error): Added parameter check and
596 extracted the core functionality into function
597 scm_i_display_error.
598
599 * throw.c (handler_message): Call scm_i_display_error to display
600 the error message.
601
f1e06a96
MD
6022001-01-23 Mikael Djurfeldt <mdj@linnaeus.mit.edu>
603
604 * eval.c (SCM_APPLY): Added # args check for application of
605 procedures with arity 3. (Thanks to Anders Holst.)
606
30ea841d
DH
6072001-01-24 Dirk Herrmann <D.Herrmann@tu-bs.de>
608
609 * filesys.h (SCM_DIR_FLAG_OPEN, SCM_DIR_OPEN_P): Added.
610
611 (SCM_OPDIRP): Deprecated.
612
613 * filesys.c (scm_opendir): Use SCM_DIR_FLAG_OPEN instead of
614 SCM_OPN.
615
616 (scm_readdir, scm_rewinddir): Don't use SCM_VALIDATE_OPDIR.
617 Instead, give an explicit error message in case the directory is
618 closed.
619
620 (scm_closedir, scm_dir_print): Rewritten to use SCM_DIR_OPEN_P
621 instead of SCM_OPENP and SCM_CLOSEDP.
622
623 * validate.h (SCM_VALIDATE_OPDIR): Deprecated.
624
312ae976
DH
6252001-01-22 Dirk Herrmann <D.Herrmann@tu-bs.de>
626
627 * eval.c (inner_eval, scm_eval): Move all real functionality into
628 inner_eval. Avoid to copy the expression twice by inlining some
629 code from scm_i_eval.
630
4567ed78
DH
6312001-01-19 Dirk Herrmann <D.Herrmann@tu-bs.de>
632
633 * eval.c (scm_m_case): The 'else' clause of a 'case' statement
634 now has to be the last clause, as required by R5RS. Thanks to
635 Martin Grabmueller for the patch.
636
10288a09
GH
6372001-01-18 Gary Houston <ghouston@arglist.com>
638
639 * ioext.c: further simplify scm_read_string_x_partial by defining
640 a macro SCM_EBLOCK.
641
8f379a8f
DH
6422001-01-18 Dirk Herrmann <D.Herrmann@tu-bs.de>
643
644 * gh_data.c (gh_ints2scm): Simplified using SCM_FIXABLE.
645
5c75b29f
DH
6462001-01-18 Dirk Herrmann <D.Herrmann@tu-bs.de>
647
648 * __scm.h: Added comment about architecture and compiler
649 properties that are required by guile.
650
651 (SCM_FIXNUM_BIT, SCM_MOST_POSITIVE_FIXNUM,
652 SCM_MOST_NEGATIVE_FIXNUM): Moved to numbers.h.
653
654 (SCM_CHAR_BIT, SCM_LONG_BIT): Moved here from numbers.h.
655
656 * numbers.h (SCM_CHAR_BIT, SCM_LONG_BIT): Moved to __scm.h.
657
658 (SCM_FIXNUM_BIT, SCM_MOST_POSITIVE_FIXNUM,
659 SCM_MOST_NEGATIVE_FIXNUM): Moved here from __scm.h.
660
ac0c002c
DH
6612001-01-17 Dirk Herrmann <D.Herrmann@tu-bs.de>
662
663 * __scm.h (SCM_FIXNUM_BIT): Added. The name is chosen in analogy
664 to the names in limits.h.
665
666 * numbers.c (abs_most_negative_fixnum): Added.
667
668 (scm_quotient, scm_remainder): Fixed the fixnum-min / (abs
669 fixnum-min) special case.
670
671 (scm_big_and): Fix for negative first parameter.
672
673 (scm_bit_extract): Fix for fixnum paramters.
674 Thanks to Rob Browning for the bug report.
675
676 (scm_init_numbers): Initialize abs_most_negative_fixnum.
677
debe0dc2
DH
6782001-01-16 Dirk Herrmann <D.Herrmann@tu-bs.de>
679
680 * symbols.c (scm_symbol_bound_p): Fixed comment.
681 Thanks to Chris Cramer.
682
8a39e3fc
DH
6832001-01-15 Dirk Herrmann <D.Herrmann@tu-bs.de>
684
685 * smob.[ch] (scm_make_smob_type): Return type is scm_bits_t now.
686 Thanks to Bill Schottstaedt.
687
322ec19d
ML
6882001-01-11 Michael Livshin <mlivshin@bigfoot.com>
689
690