+2001-03-04 Dirk Herrmann <D.Herrmann@tu-bs.de>
+
+ * continuations.c (continuation_apply), eval.c (scm_m_lambda,
+ scm_m_letstar, scm_m_letrec1, scm_m_let, SCM_APPLY), eval.h
+ (SCM_EVALIM2), evalext.c (scm_m_generalized_set_x), gc.c
+ (get_bvec, MARK), goops.c (scm_primitive_generic_generic),
+ options.c (scm_options), ports.c (scm_remove_from_port_table),
+ ramap.c (scm_ramapc), read.c (skip_scsh_block_comment, scm_lreadr,
+ scm_lreadparen, scm_lreadrecparen), script.c (script_get_octal,
+ script_get_backslash, script_read_arg), unif.c (scm_cvref): Don't
+ call function scm_wta, call scm_misc_error or scm_wrong_type_arg
+ instead.
+
+2001-03-04 Mikael Djurfeldt <mdj@linnaeus.mit.edu>
+
+ * goops.c (scm_sys_pre_expand_closure_x): New procedure.
+
+2001-03-04 Marius Vollmer <mvo@zagadka.ping.de>
+
+ * eval.c (scm_s_duplicate_bindings): New error message.
+ (scm_m_letrec1, scm_m_letstar): Check for duplicate bindings.
+
+2001-03-03 Marius Vollmer <mvo@zagadka.ping.de>
+
+ * eval.h (SCM_EVALIM2): New macro. Use it when a
+ immediate, literal constant should be evaluated.
+ * eval.c (scm_s_duplicate_formals): New error message string.
+ (scm_c_improper_memq): New function.
+ (scm_m_lambda): Check for duplicate arguments.
+ (scm_ceval, scm_deval): When executing a body: only cons a new
+ toplevel environment frame when it is different from the
+ existing one; use EVALCAR instead of SIDEVAL so that we can properly
+ check for empty combinations; use SCM_EVALIM2 for the same reason
+ in the non-toplevel loop.
+ (nontoplevel_cdrxnoap, nontoplevel_cdrxbegin, nontoplevel_begin):
+ New labels with the meaning of their non-"nontoplevel" partners,
+ but they are used when it is known that the body is not evaluated at
+ top-level.
+ (scm_apply, scm_dapply): use SCM_EVALIM2 to get proper error
+ reporting for empty combinations.
+
+2001-03-02 Keisuke Nishida <kxn30@po.cwru.edu>
+
+ * Remove dump facilities.
+ * dump.c, dump.h: Removed.
+ * Makefile.am: Remove dump.c, dump.h, dump.x, dump.doc.
+ * init.c: Remove #include "libguile/dump.h".
+ (scm_init_guile_1): Remove scm_init_dump.
+ * smob.h (scm_smob_descriptor): Remove slots: dump, undump.
+ (scm_set_smob_dump, scm_set_smob_undump): Remove declaration.
+ * smob.c (scm_make_smob_type): Remove initialization: dump, undump.
+ (scm_set_smob_dump, scm_set_smob_undump): Removed.
+
+ * keywords.c: Remove #include "libguile/dump.h".
+ (keyword_dump, keyword_undump): Removed.
+ (scm_init_keywords): Remove scm_set_smob_dump and scm_set_smob_undump.
+
+2001-03-02 Martin Grabmueller <mgrabmue@cs.tu-berlin.de>
+
+ * vectors.c (s_scm_vector_p, list->vector, scm_vector)
+ (scm_vector_ref, scm_vector_set_x, scm_vector_to_list)
+ (scm_vector_fill_x), strorder.c (scm_string_equal_p)
+ (scm_string_ci_equal_p, scm_string_less_p, scm_string_leq_p)
+ (scm_string_gr_p, scm_string_geq_p, scm_string_ci_less_p)
+ (scm_string_ci_geq_p), symbols.c (scm_symbol_p)
+ (scm_symbol_to_string, scm_string_to_symbol): Changed use of @t{}
+ to @code{} as the texinfo manual recommends, converted the
+ examples to use a @lisp{}-environment.
+
+ * strports.c (scm_eval_string): Cleaned up the docstring.
+
+ * struct.c (scm_struct_p, scm_struct_vtable_p): Added texinfo
+ markup.
+
+ * numbers.c (scm_exact_p, scm_odd_p, scm_even_p)
+ (scm_number_to_string, scm_string_to_number, scm_number_p)
+ (scm_real_p, scm_integer_p, scm_inexact_p, scm_make_rectangular)
+ (scm_make_polar, scm_inexact_to_exact): Added texinfo markup.
+ (scm_ash): Added texinfo markup and removed obsolete @refill.
+ (scm_gr_p): Corrected comment.
+ (scm_gr_p, scm_leq_p, scm_geq_p): Added texinfo markup to (future
+ docstring) comments.
+ (scm_positive_p, scm_less_p, scm_num_eq_p, scm_real_p)
+ (scm_number_p, scm_negative_p, scm_max, scm_min, scm_sum)
+ (scm_difference, scm_product, scm_divide, scm_asinh, scm_acosh)
+ (scm_atanh, scm_truncate, scm_round, scm_exact_to_inexact)
+ (floor, ceiling, $sqrt, $abs, $exp, $log, $sin, $cos, $tan, $asin)
+ ($acos, $atan, $sinh, $cosh, $tanh, scm_real_part, scm_imag_part)
+ (scm_magnitude, scm_angle, scm_abs, scm_quotient, scm_remainder)
+ (scm_modulo, scm_gcd, scm_lcm): Added (future docstring) comments.
+
+2001-02-28 Dirk Herrmann <D.Herrmann@tu-bs.de>
+
+ * __scm.h (SCM_ASSERT_TYPE): Add missing macro parameter.
+ (Obviously nobody compiles with SCM_RECKLESS defined...)
+
+ * validate.h (SCM_ASSERT_RANGE): Use the argument number.
+
+2001-02-23 Mikael Djurfeldt <mdj@linnaeus.mit.edu>
+
+ * ports.c, ports.h (scm_c_read, scm_c_write): New functions.
+
+ * ports.h (SCM_READ_BUFFER_EMPTY_P): New macro.
+
+2001-02-24 Neil Jerram <neil@ossau.uklinux.net>
+
+ * numbers.c (scm_two_doubles, scm_sys_expt, scm_sys_atan2,
+ scm_make_polar): Rename arguments `z1' and `z2' to `x' and `y',
+ since use of `z' suggests that the arguments may be complex.
+
+ * goops.c (scm_make), numbers.c (scm_sys_expt): Fix docstring
+ typos.
+
+2001-02-23 Neil Jerram <neil@ossau.uklinux.net>
+
+ * dump.c (scm_binary_write, scm_binary_read), eval.c
+ (scm_primitive_eval), guardians.c (scm_guardian_destroyed_p,
+ scm_guardian_greedy_p, scm_make_guardian), fports.c
+ (scm_file_port_p): Minor docstring fixes.
+
+2001-02-22 Marius Vollmer <mvo@zagadka.ping.de>
+
+ * load.c (load): Use scm_primitive_eval_x instead of scm_i_eval_x.
+
+ * goops.c (scm_add_method, DEFVAR): Use scm_eval instead of
+ scm_i_eval.
+ (make_class_from_template): Do not bother to set the current
+ module around the call to DEFVAR, scm_eval takes care of that.
+ (scm_init_goops): Make scm_module_goops and
+ scm_goops_lookup_closure permanent objects.
+
+ * eval.c (scm_ceval, scm_deval): When evaluating expressions on
+ top level, create a fresh top-level environment for each
+ expression instead of mutating the exisint frame. This is
+ important when that frame is closed over.
+
+ * numbers.c (s_scm_logior) [SCM_DIGSTOOBIG]: Also use
+ SCM_DIGSPERLONG instead of DIGSPERLONG.
+
+2001-02-21 Marius Vollmer <mvo@zagadka.ping.de>
+
+ * eval.c (scm_ceval, scm_deval): Check for wrong number of args
+ before applying arrow procedure in `cond' and before applying
+ receiver procedure in call-with-current-continuation.
+ (scm_i_eval): Do not invoke scm_copy_tree in argument in SCM_XEVAL
+ macro. The argument is expanded more than one time.
+
+ * numbers.c (scm_logior) [SCM_DIGSTOOBIG]: Correctly use
+ SCM_BIGDIG instead of BIGDIG. Thanks to Steven G. Johnson!
+
+2001-02-20 Marius Vollmer <mvo@zagadka.ping.de>
+
+ * guile-doc-snarf.in, guile-func-name-check.in: Added copyright
+ notice and license.
+
+2001-02-17 Martin Grabmueller <mgrabmue@cs.tu-berlin.de>
+
+ * variable.c (scm_make_variable, scm_make_undefined_variable)
+ (scm_variable_ref, scm_variable_set_x, scm_builtin_variable)
+ (scm_variable_bound_p), values.c (scm_values)
+ (scm_call_with_values), unif.c (scm_bit_count)
+ (scm_bit_set_star_x), symbols.c (scm_gentemp)
+ (scm_gensym), strings.c (scm_string_p, scm_make_string)
+ (scm_read_only_string_p, scm_string_length, scm_string_ref)
+ (scm_string_set_x, scm_substring, scm_string_append), stime.c
+ (scm_strptime, scm_mktime), random.c (scm_seed_to_random_state)
+ (scm_copy_random_state, scm_random), print.c (scm_newline)
+ (scm_write_char, scm_simple_format), debug-malloc.c
+ (scm_malloc_stats), environments.c (scm_environment_p)
+ (scm_environment_bound_p, scm_environment_ref)
+ (scm_environment_fold, scm_environment_define)
+ (scm_environment_undefine, scm_environment_set_x)
+ (scm_environment_cell, scm_environment_observe)
+ (scm_environment_observe_weak, scm_environment_unobserve)
+ (scm_make_eval_environment, scm_eval_environment_p)
+ (scm_eval_environment_set_local_x, scm_eval_environment_local)
+ (scm_eval_environment_imported)
+ (scm_eval_environment_set_imported_x, scm_make_import_environment)
+ (scm_import_environment_p, scm_import_environment_imports)
+ (scm_import_environment_set_imports_x, scm_make_export_environment)
+ (scm_export_environment_p, scm_export_environment_private)
+ (scm_export_environment_set_private_x)
+ (scm_export_environment_signature)
+ (scm_export_environment_set_signature_x, scm_leaf_environment_p):
+ Added texinfo markup.
+
+ * ports.c (scm_drain_input): Lowercased argument to @var.
+ (scm_current_input_port, scm_current_output_port): Filled in
+ missing explanation.
+ (scm_current_load_port, scm_set_current_output_port)
+ (scm_set_current_error_port, scm_port_line, scm_set_port_line_x):
+ Added texinfo markup.
+
+ * arbiters.c (scm_make_arbiter, scm_try_arbiter)
+ (scm_release_arbiter): Added texinfo markup to docstrings.
+ Changed `Returns' to `Return'.
+ (arbiter_print): Changed SCM_CDR to SCM_SMOB_DATA.
+
+2001-02-16 Neil Jerram <neil@ossau.uklinux.net>
+
+ * guile-snarf.awk.in: Quote any `@'s that occur in Scheme names,
+ by doubling them to `@@'.
+
+2001-02-16 Martin Grabmueller <mgrabmue@cs.tu-berlin.de>
+
+ * numbers.c (scm_lognot), random.c (scm_random,
+ scm_random_normal, scm_random_solid_sphere_x,
+ scm_random_hollow_sphere_x, scm_random_normal_vector_x,
+ scm_random_exp), dynwind.c
+ (scm_dynamic_wind): Removed unnecessary "" from docstrings.
+
+ * goops.c (scm_sys_initialize_object, scm_instance_p,
+ scm_class_name, scm_class_precedence_list, scm_class_slots,
+ scm_class_environment, scm_generic_function_name,
+ scm_generic_function_methods, scm_method_generic_function,
+ scm_method_specializers, scm_method_procedure, scm_make_unbound,
+ scm_unbound_p, scm_assert_bound, scm_at_assert_bound_ref,
+ scm_sys_fast_slot_ref, scm_sys_fast_slot_set_x, scm_slot_ref,
+ scm_slot_set_x, _scm_slot_bound_p, scm_slots_exists_p,
+ scm_sys_allocate_instance, scm_make, scm_pure_generic_p,
+ scm_class_direct_supers, scm_class_direct_slots,
+ scm_class_direct_subclasses, scm_class_direct_methods,
+ scm_accessor_method_slot_definition, scm_sys_goops_loaded),
+ debug.c (scm_with_traps, scm_memoized_p, scm_make_gloc,
+ scm_gloc_p, scm_make_iloc, scm_iloc_p, scm_memcons,
+ scm_mem_to_proc, scm_proc_to_mem, scm_unmemoize,
+ scm_memoized_environment, scm_procedure_name,
+ scm_procedure_source, scm_procedure_environment, scm_debug_hang),
+ objects.c
+ (scm_class_of, scm_entity_p, scm_operator_p,
+ scm_set_object_procedure_x, scm_object_procedure,
+ scm_make_class_object), hooks.c (scm_make_hook_with_name,
+ scm_make_hook, scm_hook_p, scm_hook_empty_p, scm_add_hook_x,
+ scm_remove_hook_x, scm_reset_hook_x, scm_run_hook,
+ scm_hook_to_list), lang.c
+ (scm_nil_cons, scm_nil_car, scm_nil_cdr, scm_null, scm_nil_eq),
+ numbers.c (scm_sys_expt, scm_sys_atan2), print.c
+ (scm_print_options, scm_port_with_print_state,
+ scm_get_print_state), procs.c (scm_make_cclo, scm_procedure_p,
+ scm_closure_p, scm_thunk_p, scm_procedure_with_setter_p,
+ scm_make_procedure_with_setter, scm_procedure), throw.c
+ (scm_lazy_catch), modules.c (scm_standard_eval_closure), load.c
+ (scm_parse_path, scm_search_path), stacks.c (scm_make_stack,
+ scm_stack_ref, scm_stack_length, scm_frame_p,
+ scm_last_stack_frame, scm_frame_number, scm_frame_source,
+ scm_frame_procedure, scm_frame_arguments, scm_frame_previous,
+ scm_frame_next, scm_frame_real_p, scm_frame_procedure_p,
+ scm_frame_evaluating_args_p, scm_frame_overflow_p), filesys.c
+ (scm_dirname, scm_basename), dynwind.c
+ (scm_wind_chain), read.c (scm_read_options, scm_read,
+ scm_read_hash_extend), gc.c
+ (scm_unhash_name), eval.c (scm_eval_options_interface,
+ scm_evaluator_traps, s_scm_nconc2last), backtrace.c
+ (scm_display_error, scm_set_print_params_x,
+ scm_display_application, scm_display_backtrace, scm_backtrace),
+ async.c (scm_async, scm_system_async, scm_async_mark,
+ scm_system_async_mark, scm_run_asyncs, scm_noop,
+ scm_set_tick_rate, scm_set_switch_rate, scm_unmask_signals,
+ scm_mask_signals): Added docstrings.
+
+2001-02-15 Keisuke Nishida <kxn30@po.cwru.edu>
+
+ * dump.c (scm_undump): Use SCM_CARLOC/SCM_CDRLOC to obtain the
+ address of car/cdr. (Thanks to Dirk Herrmann)
+ Use scm_sizet to obtain the length of strings.
+ (Thanks to Matthias Koeppe)
+
+2001-02-15 Marius Vollmer <mvo@zagadka.ping.de>
+
+ * symbols.c (scm_mem2symbol): Put a empty statement after the
+ next_symbol label. This is mandated by ANSI, appearantly.
+
+2001-02-13 Marius Vollmer <marius.vollmer@uni-dortmund.de>
+
+ * gc_os_dep.c: Do not include <linux/version.h>. It makes no
+ sense to compile for a specific kernel version. Do not include
+ <asm/signal.h> while defining __KERNEL__. This hack should no
+ longer be needed and caused problems.
+
+2001-02-13 Marius Vollmer <mvo@zagadka.ping.de>
+
+ * eval.c (scm_ceval, scm_deval): use `SIDEVAL' instead of
+ SCM_CEVAL when evaluating subforms of `begin' forms. SCM_CEVAL
+ can not deal with immediates.
+
+2001-02-12 Keisuke Nishida <kxn30@po.cwru.edu>
+
+ * list.c (scm_list_copy): Validate the first argument.
+
+2001-02-11 Marius Vollmer <mvo@zagadka.ping.de>
+
+ Fix evaluator so that top-level expressions are correctly
+ evaluated with respect to the module system.
+
+ * modules.h. modules.c (scm_current_module_lookup_closure): New
+ function.
+
+ * eval.h (scm_primitive_eval, scm_primitive_eval_x): New
+ prototypes.
+ (scm_i_eval, scm_i_eval_x, scm_eval, scm_eval_x): Changed argument
+ names to better reflect their meaning.
+
+ * eval.c (scm_ceval, scm_deval): Recognize when `begin' is being
+ evaluated at top-level and synronize lookup closure before
+ executing every subform.
+ (scm_primitve_eval_x, scm_primitive_eval): New functions.
+ (scm_eval_x, scm_eval): Reimplement in terms of
+ scm_primitive_eval_x and scm_primitive_eval, respectively.
+
+2001-02-09 Marius Vollmer <mvo@zagadka.ping.de>
+
+ * macros.c (scm_macro_name, scm_macro_transformer): Use
+ SCM_SMOB_DATA instead of SCM_CDR. Provided by Martin Grabmueller.
+ Thanks!
+
+2001-02-10 Keisuke Nishida <kxn30@po.cwru.edu>
+
+ * dump.c (scm_store_bytes): Store data size before data.
+ (scm_restore_bytes): Restore data size. Takes a pointer to size.
+ * dump.h (scm_restore_bytes): Updated.
+
+2001-02-09 Keisuke Nishida <kxn30@po.cwru.edu>
+
+ * dump.c: Use double cells for update schedule.
+
+2001-02-08 Keisuke Nishida <kxn30@po.cwru.edu>
+
+ * ports.c (scm_unread_char): Take an optional argument.
+
+2001-02-08 Marius Vollmer <marius.vollmer@uni-dortmund.de>
+
+ * modules.h (scm_selected_module, scm_current_module): Renamed
+ scm_selected_module to scm_current_module to synchronize Scheme
+ and C names.
+ (scm_select_module, scm_set_current_module): Likewise. Changed
+ all uses.
+
+ * ports.c (scm_port_for_each): Make a snapshot of the port table
+ before iterating over it. The table might change while the user
+ code is running. With the snapshot, the user can depend on the
+ fact that each port that existed at the start of the iteration is
+ encountered exactly once. (ice-9 popen) depends on this.
+
+2001-02-08 Dirk Herrmann <D.Herrmann@tu-bs.de>
+
+ * strings.h (SCM_STRING_MAX_LENGTH): New macro.
+
+ * strings.c (scm_makstr, scm_take_str, scm_make_string): Added
+ range checking for the size parameter. Thanks to Martin
+ Grabmueller for the hint.
+
+ (scm_makstr): Reordered string initialization to make interrupt
+ deferring unnecessary.
+
+ * vectors.c (scm_make_vector): Fixed range checking.
+
+2001-02-08 Dirk Herrmann <D.Herrmann@tu-bs.de>
+
+ * vectors.h (SCM_VECTOR_MAX_LENGTH): New macro.
+
+ * vectors.c (scm_make_vector, scm_c_make_vector): Improved the
+ checking of the size parameter for type correctness and valid
+ range. Thanks to Rob Browning for reporting the problem. Instead
+ of deferring interrupts, scm_remember_upto_here_1 is used.
+
+2001-02-05 Keisuke Nishida <kxn30@po.cwru.edu>
+
+ * dump.c (scm_store_cell_object, scm_restore_cell_object): Removed.
+ (scm_dump_cell_update): Removed.
+ (scm_dump_update): Renamed from scm_dump_object_update.
+ (scm_restore_string, scm_restore_bytes, scm_restore_word): Takes
+ a pointer instead of returning a value.
+ * keywords.c (keyword_undump): Updated.
+
+2001-02-05 Keisuke Nishida <kxn30@po.cwru.edu>
+
+ * dump.c, dump.h: Modified a lot.
+ (SCM_DUMP_COOKIE): Version 0.1
+ (scm_dump_mark): Removed.
+ (scm_restore_cell_object, scm_store_cell_object): New functions.
+
+ * smob.h (scm_smob_descriptor): Removed slots: dump_mark,
+ dump_dealloc, dump_store, undump_alloc, undump_restore, undump_init.
+ New slots: dump, undump.
+ * smob.c (scm_make_smob_type, scm_set_smob_dump, scm_set_smob_undump):
+ Updated.
+
+ * keywords.c (keyword_dump): Renamed from keyword_dealloc.
+ (keyword_undump): Renamed from keyword_alloc.
+ (scm_init_keywords): Set keyword_dump and keyword_undump.
+
+2001-02-03 Michael Livshin <mlivshin@bigfoot.com>
+
+ * gc.c (DOUBLECELL_ALIGNED_P): new macro, a better-named analog of
+ the deprecated SCM_DOUBLE_CELLP.
+
+ * tags.h (SCM_DOUBLE_CELLP): deprecated.
+
+2001-02-02 Keisuke Nishida <kxn30@po.cwru.edu>
+
+ * dump.c, dump.h: New files.
+ * Makefile.am: Added dump.c, dump.h, dump.x, dump.doc.
+ * init.c: #include "libguile/dump.h".
+ (scm_init_guile_1): Call scm_init_dump.
+ * smob.h (scm_smob_descriptor): New slots: dump_mark,
+ dump_dealloc, dump_store, undump_alloc, undump_restore,
+ undump_init.
+ * smob.c (scm_make_smob_type): Init the new slots.
+ (scm_set_smob_dump, scm_set_smob_undump): New functions.
+ * smob.h (scm_set_smob_dump, scm_set_smob_undump): Declared.
+
+ * keywords.c: #include "libguile/dump.h".
+ (keyword_dealloc, keyword_alloc): New functions.
+ (scm_init_keywords): Set smob_dump and smob_undump.
+
+2001-02-01 Keisuke Nishida <kxn30@po.cwru.edu>
+
+ * vectors.c (scm_c_make_vector): New function.
+ * vectors.h (scm_c_make_vector): Declared.
+ * eval.c (scm_copy_tree), filesys.c (scm_stat2scm), fluids.c
+ (scm_make_initial_fluids, grow_fluids), gc.c (scm_init_storage),
+ gh_data.c (gh_ints2scm, gh_doubles2scm): goops.c
+ (scm_make_method_cache, scm_i_vector2list,
+ scm_compute_applicable_methods, scm_sys_method_more_specific_p),
+ init.c (start_stack), net_db.c (scm_gethost, scm_getnet,
+ scm_getproto, scm_return_entry), posix.c (scm_getgroups,
+ scm_getpwuid, scm_getgrgid, scm_uname), print.c (make_print_state,
+ grow_ref_stack), regex-posix.c (scm_regexp_exec), scmsigs.c
+ (scm_init_scmsigs), socket.c (scm_addr_vector, scm_addr_vector),
+ stime.c (scm_times, filltime), unif.c (scm_make_uve), vectors.c
+ (scm_vector, scm_make_vector): Use scm_c_make_vector.
+
+ * hashtab.c (scm_c_make_hash_table): New function.
+ * hashtab.h (scm_c_make_hash_table): Declared.
+ * environments.c (scm_make_leaf_environment,
+ scm_make_eval_environment), gc.c (scm_init_storage),
+ keywords.c (scm_init_keywords), symbols.c (scm_builtin_bindings):
+ Use scm_c_make_hash_table.
+
+2001-01-31 Mikael Djurfeldt <mdj@linnaeus.mit.edu>
+
+ * unif.c (rapr1): Don't apply scm_uniform_vector_length on arrays.
+
+2001-01-29 Martin Grabmueller <mgrabmue@cs.tu-berlin.de>
+
+ * struct.c (scm_make_vtable_vtable): Removed unnecessary "" from
+ end of docstring.
+
+ * struct.c (scm_struct_set_x, scm_struct_vtable_tag,
+ scm_struct_vtable_name, scm_set_struct_vtable_name_x), weaks.c
+ (scm_make_weak_value_hash_table, scm_make_doubly_weak_hash_table,
+ scm_weak_value_hash_table_p, scm_doubly_weak_hash_table_p),
+ srcprop.c (scm_source_properties, scm_set_source_properties_x,
+ scm_source_property, scm_set_source_property_x), sort.c
+ (scm_sort_list_x, scm_restricted_vector_sort_x, scm_sorted_p,
+ scm_merge, scm_merge_x, scm_sort_x, scm_sort, scm_stable_sort_x,
+ scm_stable_sort, scm_sort_list_x, scm_sort_list): Added
+ docstrings.
+
+2001-01-29 Mikael Djurfeldt <mdj@linnaeus.mit.edu>
+
+ * eval.c (SCM_APPLY): Check that primitives which take 1 arg
+ really get that arg.
+
+2001-01-26 Keisuke Nishida <kxn30@po.cwru.edu>
+
+ * goops.c (s_scm_get_keyword): Bug fix.
+
+2001-01-26 Dirk Herrmann <D.Herrmann@tu-bs.de>
+
+ The following patch was sent by Martin Grabmueller. It makes sure
+ that in case of parameter errors the correct function name is
+ shown, and that parameter types are only checked once.
+
+ * strop.c (string_copy, string_upcase_x, string_downcase_x,
+ string_capitalize_x): New functions. Each one performs the core
+ functionality of the corresponding scm_* function.
+
+ (scm_string_copy, scm_string_upcase_x, scm_string_upcase,
+ scm_string_downcase_x, scm_string_downcase,
+ scm_string_capitalize_x, scm_string_capitalize): Reduced to
+ parameter checking wrappers of the above functions.
+
+2001-01-26 Dirk Herrmann <D.Herrmann@tu-bs.de>
+
+ * continuations.c, dynl.c, keywords.c, load.c: Include
+ strings.h. Thanks to Bill Schottstaedt for the bug report.
+
+2001-01-25 Dirk Herrmann <D.Herrmann@tu-bs.de>
+
+ * backtrace.c (display_header): Make sure that line and column
+ information is shown independent of whether the port the code was
+ read from had an associated filename. Thanks to Martin
+ Grabmueller for providing this patch.
+
+2001-01-25 Dirk Herrmann <D.Herrmann@tu-bs.de>
+
+ * fports.[ch] (scm_file_port_p): New primitive.
+
+2001-01-25 Dirk Herrmann <D.Herrmann@tu-bs.de>
+
+ * tags.h (scm_tc16_fport, scm_tc16_strport, scm_tc16_sfport):
+ These are now defined in fports.c, strports.c and vports.c.
+
+ * fports.[ch] (scm_tc16_fport), strports.c (scm_tc16_strport),
+ vports.c (scm_tc16_sfport): Made variables (were macros defined in
+ tags.h).
+
+ fports.c (scm_make_fptob), strports.c (scm_make_stptob), vports.c
+ (scm_make_sfptob): Made static. These return a type code now.
+
+ fports.c (scm_init_fports), strports.c (scm_init_strports),
+ vports.c (scm_init_vports): Create the corresponding port types.
+
+ * fports.h (SCM_FPORTP, SCM_OPFPORTP, SCM_OPINFPORTP,
+ SCM_OPOUTFPORTP): Redefined in terms of scm_tc16_fport.
+
+ * init.c (scm_init_guile_1): Make sure strports are initialized
+ before gdbint.
+
+ * ports.[ch] (scm_make_port_type): Changed the return type to
+ scm_bits_t.
+
+ * ports.c (scm_ports_prehistory): Don't create any port types
+ here.
+
+ * posix.c (scm_ttyname): Use SCM_FPORTP instead of comparing
+ against scm_tc16_fport directly.
+
+2001-01-25 Dirk Herrmann <D.Herrmann@tu-bs.de>
+
+ * srcprop.c (scm_set_source_property_x): Fix to handle
+ (set-source-property! <obj> 'copy <datum>) correctly.
+
+2001-01-24 Gary Houston <ghouston@arglist.com>
+
+ * filesys.c (scm_link): docstring fix.
+ * fports.h (scm_setfileno): obsolete declaration removed.
+ * posix.c: bogus popen declaration removed.
+
+ * rdelim.c: new file, split from ioext.c.
+ * rdelim.h: new file, split from ioext.h
+ * Makefile.am: add rdelim.c and related files.
+ * init.c: call scm_init_rdelim. include rdelim.h.
+
+2001-01-24 Dirk Herrmann <D.Herrmann@tu-bs.de>
+
+ This patch was sent by Martin Grabmueller and makes sure that
+ parameter errors are reported correctly by the lexicographic
+ ordering predicates.
+
+ * strorder.c (string_less_p, string_ci_less_p): New functions.
+
+ (scm_string_less_p, scm_string_ci_less_p): Extracted the core
+ functionality into string_less_p, string_ci_less_p respectively.
+ The remaining code is just a wrapper to do the parameter
+ checking.
+
+ (scm_string_leq_p, scm_string_gr_p, scm_string_geq_p): Check the
+ parameters and call string_less_p instead of scm_string_less_p.
+
+ (scm_string_ci_leq_p, scm_string_ci_gr_p, scm_string_ci_geq_p):
+ Check the parameters and call string_less_ci_p instead of
+ scm_string_ci_less_p.
+
+2001-01-24 Dirk Herrmann <D.Herrmann@tu-bs.de>
+
+ This patch modifies scm_display_error to perform parameter
+ checking. Thanks to Neil Jerram for the bug report.
+
+ * backtrace.[ch] (scm_i_display_error): New function.
+
+ * backtrace.c (scm_display_error): Added parameter check and
+ extracted the core functionality into function
+ scm_i_display_error.
+
+ * throw.c (handler_message): Call scm_i_display_error to display
+ the error message.
+
+2001-01-23 Mikael Djurfeldt <mdj@linnaeus.mit.edu>
+
+ * eval.c (SCM_APPLY): Added # args check for application of
+ procedures with arity 3. (Thanks to Anders Holst.)
+
+2001-01-24 Dirk Herrmann <D.Herrmann@tu-bs.de>
+
+ * filesys.h (SCM_DIR_FLAG_OPEN, SCM_DIR_OPEN_P): Added.
+
+ (SCM_OPDIRP): Deprecated.
+
+ * filesys.c (scm_opendir): Use SCM_DIR_FLAG_OPEN instead of
+ SCM_OPN.
+
+ (scm_readdir, scm_rewinddir): Don't use SCM_VALIDATE_OPDIR.
+ Instead, give an explicit error message in case the directory is
+ closed.
+
+ (scm_closedir, scm_dir_print): Rewritten to use SCM_DIR_OPEN_P
+ instead of SCM_OPENP and SCM_CLOSEDP.
+
+ * validate.h (SCM_VALIDATE_OPDIR): Deprecated.
+
2001-01-22 Dirk Herrmann <D.Herrmann@tu-bs.de>
* eval.c (inner_eval, scm_eval): Move all real functionality into