To comment on the following update, log in, then open the issue:
http://www.openoffice.org/issues/show_bug.cgi?id=4695


User er changed the following:

                What    |Old value                 |New value
================================================================================
                      CC|'jmills,maremv,rpolach,sga|'jmills,maremv,mloiseleur,
                        |uti,st'                   |rpolach,sgauti,st'
--------------------------------------------------------------------------------
              Issue type|PATCH                     |FEATURE
--------------------------------------------------------------------------------




------- Additional comments from [EMAIL PROTECTED] Wed Apr 18 15:01:16 +0000 
2007 -------
Hi Michel,

Thanks for contributing. The patch generally takes the right approach,
but doesn't handle relative references. I'll restate the requirement
from #desc25 here:

- Relative reference parts need a special handling, and to be Excel
  compatible the relative offsets have to be calculated with a basis of
  A1 and wrapped around the sheet if negative. I suggest to create
  another ScRangeData::IsReference() method that additionally takes
  a ScAddress position (ScInterpreter::aPos member variable), same for
  ScTokenArray::IsReference(), and enhance
  ScTokenArray::ImplGetReference() to take account of an optional
  position address passed in.

To accomplish that, the easiest and safest would be to clone the
ScTokenArray (pCode) in the newly to be implemented
ScRangeData::IsReference() method, stuff it into a compiler instance and
call MoveRelWrap(), similar to what is done in
ScRangeData::UpdateSymbol(), and then call the newly to be created
ScTokenArray::IsReference().

Btw, interpreter functions should never simply return without having set
an error value and/or pushed a result. The reason I mention this is the
line
+     if (rData == NULL) return;
of your patch. Btw2, in our naming conventions rData should be named
pData instead, since it is a pointer. If a premature return is needed,
the code instead should be something like
        if (pData == NULL)
        {
            SetError(errUnknownState);
            PushInt(0);
            return;
        }

Please note that to integrate code or data contributed we need a signed
Joint Copyright Assignment form (JCA) filled-out, see
http://contributing.openoffice.org/programming.html#jca

Thanks
  Eike


---------------------------------------------------------------------
Please do not reply to this automatically generated notification from
Issue Tracker. Please log onto the website and enter your comments.
http://qa.openoffice.org/issue_handling/project_issues.html#notification

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to