[gnumeric] Deps: further dep tracking improvements.
- From: Morten Welinder <mortenw src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnumeric] Deps: further dep tracking improvements.
- Date: Thu, 6 Aug 2020 23:25:21 +0000 (UTC)
commit b751f12808186e7d39de1e90ed1171e267b6c9d1
Author: Morten Welinder <terra gnome org>
Date: Thu Aug 6 19:24:47 2020 -0400
Deps: further dep tracking improvements.
src/dependent.c | 9 ++++++++-
1 file changed, 8 insertions(+), 1 deletion(-)
---
diff --git a/src/dependent.c b/src/dependent.c
index beb16e1088..fa9f768f11 100644
--- a/src/dependent.c
+++ b/src/dependent.c
@@ -1264,12 +1264,19 @@ link_unlink_expr_dep (GnmEvalPos *ep, GnmExpr const *tree, DepLinkFlags flags)
g_return_val_if_fail (tree != NULL, DEPENDENT_NO_FLAG);
switch (GNM_EXPR_GET_OPER (tree)) {
- case GNM_EXPR_OP_RANGE_CTOR: /* See #562363 */
+ case GNM_EXPR_OP_RANGE_CTOR:
case GNM_EXPR_OP_INTERSECT:
+ return (link_unlink_expr_dep (ep, tree->binary.value_a, flags) |
+ link_unlink_expr_dep (ep, tree->binary.value_b, flags));
case GNM_EXPR_OP_ANY_BINARY:
+ // See comments in function_iterate_argument_values
+ if (!eval_pos_is_array_context (ep))
+ flags &= ~DEP_LINK_NON_SCALAR;
return (link_unlink_expr_dep (ep, tree->binary.value_a, flags) |
link_unlink_expr_dep (ep, tree->binary.value_b, flags));
case GNM_EXPR_OP_ANY_UNARY:
+ if (!eval_pos_is_array_context (ep))
+ flags &= ~DEP_LINK_NON_SCALAR;
return link_unlink_expr_dep (ep, tree->unary.value, flags);
case GNM_EXPR_OP_CELLREF:
return link_unlink_single_dep (ep->dep, dependent_pos (ep->dep), &tree->cellref.ref, flags);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]