gnumeric r16749 - in trunk: . src
- From: mortenw svn gnome org
- To: svn-commits-list gnome org
- Subject: gnumeric r16749 - in trunk: . src
- Date: Tue, 26 Aug 2008 20:47:35 +0000 (UTC)
Author: mortenw
Date: Tue Aug 26 20:47:35 2008
New Revision: 16749
URL: http://svn.gnome.org/viewvc/gnumeric?rev=16749&view=rev
Log:
2008-08-26 Morten Welinder <terra gnome org>
* src/number-match.c (value_is_error): Check for '#' here.
(format_match_simple): Not here.
(format_match): If matching fails in the existing-format case, try
errors too. Fixes #546759.
Modified:
trunk/ChangeLog
trunk/NEWS
trunk/src/number-match.c
Modified: trunk/NEWS
==============================================================================
--- trunk/NEWS (original)
+++ trunk/NEWS Tue Aug 26 20:47:35 2008
@@ -30,6 +30,7 @@
* Make ssgrep a lot more grep-like.
* Unify functions that work on sorted ranges.
* Fix date entry problem. [#540198]
+ * Fix entry of error constants. [#546759]
Nick Lamb:
* Retain ()s. [#69813]
Modified: trunk/src/number-match.c
==============================================================================
--- trunk/src/number-match.c (original)
+++ trunk/src/number-match.c Tue Aug 26 20:47:35 2008
@@ -53,6 +53,9 @@
{
GnmStdError e;
+ if (str[0] != '#')
+ return NULL;
+
for (e = (GnmStdError)0; e < GNM_ERROR_UNKNOWN; e++)
if (0 == strcmp (str, value_error_name (e, TRUE)))
return value_new_error_std (NULL, e);
@@ -80,7 +83,7 @@
return value_new_bool (FALSE);
/* Is it an error? */
- if (*text == '#') {
+ {
GnmValue *err = value_is_error (text);
if (err != NULL)
return err;
@@ -1083,6 +1086,8 @@
case GO_FORMAT_PERCENTAGE:
case GO_FORMAT_SCIENTIFIC:
v = format_match_decimal_number (text, &fam);
+ if (!v)
+ v = value_is_error (text);
if (v)
value_set_fmt (v, cur_fmt);
return v;
@@ -1097,6 +1102,8 @@
TRUE);
if (!v)
v = format_match_decimal_number (text, &fam);
+ if (!v)
+ v = value_is_error (text);
if (v)
value_set_fmt (v, cur_fmt);
return v;
@@ -1117,6 +1124,8 @@
v = format_match_time (text, TRUE, prefer_hour, FALSE);
if (!v)
v = format_match_decimal_number (text, &fam);
+ if (!v)
+ v = value_is_error (text);
if (v)
value_set_fmt (v, cur_fmt);
return v;
@@ -1126,7 +1135,8 @@
v = format_match_fraction (text, &denlen);
if (!v)
v = format_match_decimal_number (text, &fam);
-
+ if (!v)
+ v = value_is_error (text);
if (v)
value_set_fmt (v, cur_fmt);
return v;
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]