Commit cd23119e authored by Jody Goldberg's avatar Jody Goldberg Committed by Jody Goldberg

handle R1C1

2005-06-07  Jody Goldberg <jody@gnome.org>

	* functions.c (gnumeric_indirect) : handle R1C1

2005-06-07  Jody Goldberg <jody@gnome.org>

	* src/parser.y : Pass the convention to the range_ref parser

	* src/parse-util.c (r1c1_get_index) : make this more robust.
	(cellref_r1c1_get) : adjust calling to new get_index args.
	(r1c1_rangeref_parse) : new.
	(rangeref_parse) : connect into the r1c1 parser.
	(parse_util_init) : add an r1c1 convention set
parent a85a1186
2005-06-07 Jody Goldberg <jody@gnome.org>
* src/parser.y : Pass the convention to the range_ref parser
* src/parse-util.c (r1c1_get_index) : make this more robust.
(cellref_r1c1_get) : adjust calling to new get_index args.
(r1c1_rangeref_parse) : new.
(rangeref_parse) : connect into the r1c1 parser.
(parse_util_init) : add an r1c1 convention set
2005-06-07 Morten Welinder <terra@gnome.org>
* src/workbook.c (workbook_sheet_state_restore): Revive sheets
......
2005-06-07 Jody Goldberg <jody@gnome.org>
* src/parser.y : Pass the convention to the range_ref parser
* src/parse-util.c (r1c1_get_index) : make this more robust.
(cellref_r1c1_get) : adjust calling to new get_index args.
(r1c1_rangeref_parse) : new.
(rangeref_parse) : connect into the r1c1 parser.
(parse_util_init) : add an r1c1 convention set
2005-06-07 Morten Welinder <terra@gnome.org>
* src/workbook.c (workbook_sheet_state_restore): Revive sheets
......
......@@ -171,7 +171,8 @@ applix_sheetref_parse (char const *start, Sheet **sheet, Workbook const *wb)
}
static char const *
applix_rangeref_parse (GnmRangeRef *res, char const *start, GnmParsePos const *pp)
applix_rangeref_parse (GnmRangeRef *res, char const *start, GnmParsePos const *pp,
GnmExprConventions const *convention)
{
char const *ptr = start, *tmp1, *tmp2;
Workbook *wb = pp->wb;
......@@ -1263,7 +1264,8 @@ applix_read_absolute_name (ApplixReadState *state, char *buffer)
if (end == NULL)
return TRUE;
applix_rangeref_parse (&ref, end+2,
parse_pos_init (&pp, state->wb, NULL, 0, 0));
parse_pos_init (&pp, state->wb, NULL, 0, 0),
state->exprconv);
ref.a.col_relative = ref.b.col_relative =
ref.a.row_relative = ref.b.row_relative = FALSE;
......
......@@ -48,10 +48,10 @@ GNM_PLUGIN_MODULE_HEADER;
* >1 increasing levels of detail.
*/
gint ms_excel_read_debug = 0;
gint ms_excel_pivot_debug = 10;
gint ms_excel_pivot_debug = 0;
gint ms_excel_escher_debug = 0;
gint ms_excel_formula_debug = 0;
gint ms_excel_chart_debug = 0;
gint ms_excel_chart_debug = 10;
gint ms_excel_write_debug = 0;
gint ms_excel_object_debug = 0;
......
2005-06-07 Jody Goldberg <jody@gnome.org>
* functions.c (gnumeric_indirect) : handle R1C1
2005-05-10 Jody Goldberg <jody@gnome.org>
* Release 1.5.1
......
......@@ -293,7 +293,7 @@ find_index_bisection (FunctionEvalInfo *ei,
if (height)
v = value_area_fetch_x_y (data, 0, adj, ei->pos);
else
else
v = value_area_fetch_x_y (data, adj, 0, ei->pos);
g_return_val_if_fail (v != NULL, -1);
......@@ -833,15 +833,18 @@ static GnmFuncHelp const help_indirect[] = {
static GnmValue *
gnumeric_indirect (FunctionEvalInfo *ei, GnmValue const * const *args)
{
#if 0
/* What good is this ? the parser handles both forms */
gboolean a1_style = args[1] ? value_get_as_bool (args[1], &error) : TRUE;
#endif
GnmParsePos pp;
char const *text = value_peek_string (args[0]);
GnmExpr const *expr = gnm_expr_parse_str_simple (text,
parse_pos_init_evalpos (&pp, ei->pos));
GnmValue *res = NULL;
GnmExpr const *expr;
char const *text = value_peek_string (args[0]);
GnmExprConventions const *convs = gnm_expr_conventions_default;
if (args[1] && value_get_as_bool (args[1], NULL))
convs = gnm_expr_conventions_r1c1;
expr = gnm_expr_parse_str (text,
parse_pos_init_evalpos (&pp, ei->pos),
GNM_EXPR_PARSE_DEFAULT, convs, NULL);
if (expr != NULL) {
res = gnm_expr_get_range (expr);
......
......@@ -517,7 +517,8 @@ oo_cellref_parse (GnmCellRef *ref, char const *start, GnmParsePos const *pp)
}
static char const *
oo_rangeref_parse (GnmRangeRef *ref, char const *start, GnmParsePos const *pp)
oo_rangeref_parse (GnmRangeRef *ref, char const *start, GnmParsePos const *pp,
GnmExprConventions const *convention)
{
char const *ptr;
......@@ -1404,7 +1405,7 @@ errortype_renamer (char const *name, GnmExprList *args, GnmExprConventions *conv
static GnmExpr const *
oo_unknown_hander (char const *name,
GnmExprList *args,
GnmExprConventions *convs)
GnmExprConventions const *convs)
{
if (0 == strncmp ("com.sun.star.sheet.addin.Analysis.get", name, 37)) {
GnmFunc *f = gnm_func_lookup (name + 37, NULL);
......
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