For instance, column / row label tokens don't work correctly in
grouped cells with the current implementation.
Change-Id: Idf86312ef15fbfd4382aa90ee6d131c671a80683
This silences the SAL_WARN_IF like
warn:formula.core:6944:1:formula/source/core/api/FormulaCompiler.cxx:625:
OpCodeMap::putOpCode: reusing OpCode 161,
replacing '_xlfn.ORG.OPENOFFICE.ERRORTYPE' with 'ERRORTYPE'
in English map 0x1018000
that occurred during the first load of OOXML .xlsx documents since the
old bad entries were added with commit
89c4a69103b6e15e7f52401c51110b926c3ccf36
In fact the direction opcode -> string was replaced, which it should had
not. That specific mapping is only used though when loading msoxl
namespace formulas from ODF.
Also, the replacement of parameter separator and array column and row
separator worked merely by chance, depending on in which order the
entries where inserted to the hash map. Fixed along as it popped up with
the new handling.
Change-Id: I88017a8b38ccc30874c3dca7d78f0fa47a77a36f
The invalid expression ISOWEEKNUM(A1,0+) lead to a replacement with
ISOWEEKNUM(A1+) which of course is also wrong but loses the original
context. Just exchange the call and convert to WEEKNUM_OOO(A1,0+)
without fiddling with the parameters.
Change-Id: Id1c42d3ba084382e09c164b6c35db996f2b0197a
For other arguments convert to WEEKNUM_OOO, which now can be saved as
ORG.LIBREOFFICE.WEEKNUM_OOO.
Change-Id: I63fd3df1ec4ccaa535a1437200854d8734544a2c
... to prevent accidental surprises. Not interned shared strings
constructed from OUString have mpDataIgnoreCase=nullptr so can't be used
for case insensitive comparison.
Change-Id: I03323354298a73e93b18d2796ec447c072fdefa5
This reverts commit bfca69eddd3d94e74d6b73f91476b79c8f72cce7.
Rather let the caller check for a valid token instead of checking it
twice for other places that already do, and we usually need two valid
tokens before even one call makes sens.
are actually pointer vars.
Also convert from regex to normal code, so we can enable this
plugin all the time.
Change-Id: Ie36a25ecba61c18f99c77c77646d6459a443cbd1
Reviewed-on: https://gerrit.libreoffice.org/24391
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Noel Grandin <noelgrandin@gmail.com>
... not just adjacent to the one at the end. So we actually can handle
INDIRECT("A2:C2") INDIRECT("B1:B3")
Change-Id: Ie8030ebc13bb1ae2246611f5722da97970b8c544
The array overflow detecting places that unconditionally deleted the
token in case of overflow should do so only if no reference is held,
i.e. the token was allocated with new and passed immediately without
being assigned to a FormulaTokenRef. Just to be on the safe side.
Change-Id: If2ccabec3725ac73fe82c23f51a291246847cfdb
Also when reading/writing OOXML, so change SC_OPCODE_INTERSECT of
RID_STRLIST_FUNCTION_NAMES_ENGLISH_OOXML accordingly to " ", where
previously "!" was expected and written, which was plain wrong.
Change-Id: Ic0cfd7afc657f07bfd8e37de61b3621cc68685ff
Checked if the < is correct. It is.
Calc function Choose has 1 index argument plus up to 30 value-arguments,
so the maximum argument count is 31.
FORMULA_MAXJUMPCOUNT is 32.
Change-Id: I0bc8cc122902848dadfc92d56b6f06fbec43e4be
Reviewed-on: https://gerrit.libreoffice.org/23794
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: jan iversen <jani@documentfoundation.org>