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.