Commit cc6f5725 authored by Jody Goldberg's avatar Jody Goldberg

back out the array iteration

parent 4fc24a01
......@@ -285,12 +285,6 @@
* src/sheet-object-widget.c (sheet_object_widget_new_view) : keep the
view hidden until we can set the bounds
2005-05-30 Jody Goldberg <jody@gnome.org>
* src/expr.c (gnm_expr_eval) : Support external array iteration.
When we are evaluating an array and the result is a scalar try
evaluating at every point in the result.
2005-05-30 Ivan, Wong Yat Cheung <email@ivanwong.info>
* src/main-application.c (main): Use go_shell_argv_to_glib_encoding(),
......
......@@ -27,7 +27,6 @@ Jody:
* Fix warning while importing pre XL-95.
* Fix adjustment object handling [#167584].
* Be more careful what we assume is a header [#165061].
* Support external array iteration (thanks to planmaker for the test).
* Use sheet specific print settings when printing a workbook. [#163589]
* Fix small positioning glitch when creating widgets. [#304559]
* re-enable experimental sax importer after goffice split.
......
......@@ -285,12 +285,6 @@
* src/sheet-object-widget.c (sheet_object_widget_new_view) : keep the
view hidden until we can set the bounds
2005-05-30 Jody Goldberg <jody@gnome.org>
* src/expr.c (gnm_expr_eval) : Support external array iteration.
When we are evaluating an array and the result is a scalar try
evaluating at every point in the result.
2005-05-30 Ivan, Wong Yat Cheung <email@ivanwong.info>
* src/main-application.c (main): Use go_shell_argv_to_glib_encoding(),
......
......@@ -1324,29 +1324,6 @@ gnm_expr_eval (GnmExpr const *expr, GnmEvalPos const *pos,
a = gnm_expr_eval (expr->array.corner.expr, pos,
flags | GNM_EXPR_EVAL_PERMIT_NON_SCALAR);
/* returning a scalar to an array in a region suggests
* that we may want to re-eval for each element
* eg ={ROW()}[2][2] */
if ((a != NULL && a->type != VALUE_ARRAY) &&
(expr->array.cols > 1 || expr->array.rows > 1)) {
GnmValueArray *res = (GnmValueArray *)value_new_array_empty (
expr->array.cols, expr->array.rows);
GnmEvalPos iter = *pos;
for (x = expr->array.cols ; x-- > 0 ; ) {
iter.eval.col = pos->eval.col + x;
for (y = expr->array.rows ; y-- > 0 ; ) {
iter.eval.row = pos->eval.row + y;
res->vals[x][y] = (x == 0 && y == 0) ? a :
gnm_expr_eval (expr->array.corner.expr, &iter,
flags | GNM_EXPR_EVAL_PERMIT_NON_SCALAR);
}
}
a = (GnmValue *)res;
x = y = 0;
}
/* Store real result (cast away const)*/
*((GnmValue **)&(expr->array.corner.value)) = a;
} else {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment