-
JodyGoldberg authored
2002-10-10 Jody Goldberg <jody@gnome.org> * src/expr-sheet.c (value_intersection) : move here and privatize. * src/func.c (function_call_with_list) : fence post error. The first missing arg can be empty. While we're here fix the precedence error that was breaking missing default args. Remove use of value_intersection. gnm_expr_eval handles it (I hope) * src/expr.c (gnm_expr_eval) : support depends for constructed ranges too. 2002-10-10 Jody Goldberg <jody@gnome.org> * src/value-sheet.c (value_intersection) : move here and rework to support singletons. * src/parser.y (parser_simple_val_or_name) : rename from parser_lookup_name and restore some of the value matching semantics so that we handle booleans again. I'm not sure the error handling will kick in but it too is good. the duble and int comparisons should be useless. We can optimize things a bit by making a special case routine and removing those. * src/expr.c (gnm_expr_eval) : handle dynamic depends and intersection for the the results. NOTE WARNING WARNING WARNING : change of semantics In the permit_non_scalar case we do _not_ ensure that the content of the range has been evaluated. The user is required to. We only handle that in the intersection case. For constant cellranges we now use value_intersection too. * src/dependent.c (dependent_types_init) : register DynamicDep (dependent_queue_recalc_list) : when we find a dynamic depend queue its container. (dependent_queue_recalc) : rename from cb_dependent_queue_recalc and remove the ignored argument the compiler can handle it. (dynamic_dep_debug_name) : new. (dependent_add_dynamic_dep) : new. (dynamic_dep_free) : new. (dependent_clear_dynamic_deps) : new. (dependent_unlink) : clear dynamic depends if they exist. (cell_eval_content) : clear dynamic depends before we start to evaluate. They get regenerated by evaluation and we are already know that we need to recalc, so there is no need to keep them. (dependent_eval) : ditto. duplicate the code to keep the semantics of cell_eval_content tidy. (do_deps_destroy) : drop the dynamic depend table. (gnm_dep_container_new) : initialize it here.
f3bd2a8f