* Eliminate some calls to scm_wta.
[bpt/guile.git] / libguile / ChangeLog
index d54ee5d..83d8634 100644 (file)
@@ -1,3 +1,282 @@
+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