Date: prev next · Thread: first prev next last
2011 Archives by date, by thread · List index


On Tue, 2011-08-09 at 22:56 +0200, Markus Mohrhard wrote:

        
        Given all this, I would feel a little more comfortable nailing
        this on
        master the right way, and *then* see if the change is safe
        enough to be
        backported to the 3.4 branch.

No problem with this. I'll push it to master with some other clean-up
soon.

Sorry, I wasn't clear.

I meant to say that it's wrong to replace the whole formula expression
with #REF! when only one of the references is invalid.  And that's what
Eike was questioning too.

I'll give you an example.  Create a new document, and define a named
range such as

MyTest : $Sheet1.$A$1+$Sheet2.$A$1

Enter in A2

=MyTest

and you'll get 0 as the result of the calculation.

Now, delete Sheet2.  You'll get error in A2, but when you check the
definition of MyTest, you'll see

$Sheet1.$A$1+$#REF!.$A$2

When you save this document at this point, what gets saved is

table:expression="[$Sheet1.$A$1]+[$#REF!.$A$2]"

The bug reported in fdo#37391 says that as of ODF 1.2 you must write

table:expression="[$Sheet1.$A$1]+[#REF!]"

when one of sheet, column and row gets invalidated.

Since this expression is generated directly from ScCompiler, it's likely
affecting other areas where the formula expressions are generated from
ScCompiler on export.  And the right fix probably needs to be made
inside the formula compiler code too.

Regards,

Kohei


Context


Privacy Policy | Impressum (Legal Info) | Copyright information: Unless otherwise specified, all text and images on this website are licensed under the Creative Commons Attribution-Share Alike 3.0 License. This does not include the source code of LibreOffice, which is licensed under the Mozilla Public License (MPLv2). "LibreOffice" and "The Document Foundation" are registered trademarks of their corresponding registered owners or are in actual use as trademarks in one or more countries. Their respective logos and icons are also subject to international copyright laws. Use thereof is explained in our trademark policy.