Age | Commit message (Collapse) | Author |
|
OR and AND for legacy infix notation are classified as binary
operators but in fact are functions with parameter count. In case
no argument is supplied, GetByte() returns 0 and for that case the
implicit binary operator 2 parameters were wrongly assumed.
Similar for functions expecting 1 parameter, without argument 1
was assumed. For "real" unary and binary operators the compiler
already checks parameters. Omit OR and AND and 1-parameter
functions from this implicit assumption and return the actual 0
count.
Change-Id: Ie05398c112a98021ac2875cf7b6de994aee9d882
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/147173
Reviewed-by: Eike Rathke <erack@redhat.com>
Tested-by: Jenkins
|
|
Change-Id: I0b92e2a94060549c39df7d08a6409518252fc757
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/146970
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
Automatically switching to en-US locale when using English
function names caused too much confusion. There also might be the
possibility that the '.' dot decimal separator clashes with the
inline array column separator in some locales.
A proper solution would make this user-specified and if set also
adjust the separators to the common English ones. For now keep the
default locale again as it previously was the case.
Change-Id: Ic4712c6609c14f35cf0d1d842ac7443806a6e115
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/144924
Reviewed-by: Eike Rathke <erack@redhat.com>
Tested-by: Jenkins
|
|
Change-Id: Ifa8f5c2be8e848e6fe2f9cf863d4a5a66787d2d8
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/144153
Tested-by: Jenkins
Reviewed-by: Adolfo Jayme Barrientos <fitojb@ubuntu.com>
|
|
While resolving named expression Pinnacle3
IF(AND(Pinnacle1+Pinnacle2<>11,Pinnacle1+Pinnacle2<>22,Pinnacle1+Pinnacle2>9),SUM(MID(Pinnacle1+Pinnacle2,1,1),MID(Pinnacle1+Pinnacle2,2,1)),Pinnacle1+Pinnacle2)
where resolving and inserting named expressions Pinnacle1
IF(AND(SUM($Sheet1.$D$3:$E$3)<>11;SUM($Sheet1.$D$3:$E$3)<>22;SUM($Sheet1.$D$3:$E$3)>9);SUM(MID(SUM($Sheet1.$D$3:$E$3);1;1);MID(SUM($Sheet1.$D$3:$E$3);2;1));SUM($Sheet1.$D$3:$E$3))
and Pinnacle2
IF(AND(Logic1<>11;Logic1<>22;Logic1>9);SUM(MID(Logic1;1;1);MID(Logic1;2;1));Logic1)
with Logic1
IF($Sheet1.$E$3+NilaiTahun>10;SUM(MID($Sheet1.$E$3+NilaiTahun;1;1);MID($Sheet1.$E$3+NilaiTahun;2;1));$Sheet1.$E$3+NilaiTahun)
with NilaiTahun
IF(SUM(MID($Sheet1.$F$3;1;1);MID($Sheet1.$F$3;2;1);MID($Sheet1.$F$3;3;1);MID($Sheet1.$F$3;4;1))<10;SUM(MID($Sheet1.$F$3;1;1);MID($Sheet1.$F$3;2;1);MID($Sheet1.$F$3;3;1);MID($Sheet1.$F$3;4;1));SUM(MID(SUM(MID($Sheet1.$F$3;1;1);MID($Sheet1.$F$3;2;1);MID($Sheet1.$F$3;3;1);MID($Sheet1.$F$3;4;1));1;1);SUM(MID(SUM(MID($Sheet1.$F$3;1;1);MID($Sheet1.$F$3;2;1);MID($Sheet1.$F$3;3;1);MID($Sheet1.$F$3;4;1));2;1))))
overall exceeds FORMULA_MAXTOKENS (8192) in the generated RPN
code, hence an ocStop is encountered as factor token.
(this cries for generating subroutine call token arrays where each
named expression could have their own RPN code and interim results
could be remembered for each while interpreting within one formula
cell; just dreaming..).
Change-Id: I744c4915a00849b107c7c25d7029aa19d976aa86
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/144048
Reviewed-by: Eike Rathke <erack@redhat.com>
Tested-by: Jenkins
|
|
Change-Id: Idcbf12c72eea8f7c8b4c7e787eeb2719f29cc69a
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/144152
Tested-by: Jenkins
Tested-by: Caolán McNamara <caolanm@redhat.com>
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
|
|
Change-Id: I3d9feafb0e2010f284a1700becbe9b701edc9849
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/140697
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
cheaper to init the stack with the first element, rather than calling
Push
Change-Id: Ia34f88b6534a663fae2ed08d0499d04d2f458847
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/140137
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
Hence a ' is not escaped by \' but by '' doubling it.
See also ODFF 5.10 Quoted Label
https://docs.oasis-open.org/office/OpenDocument/v1.3/os/part4-formula/OpenDocument-v1.3-os-part4-formula.html#__RefHeading__1017950_715980110
Apparently this was always wrong and even stored in files and
never correctly read/compiled back.
Change-Id: I94bdb7d1fdffe9bbd77cf443883dd76637be981b
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/139491
Reviewed-by: Eike Rathke <erack@redhat.com>
Tested-by: Jenkins
|
|
Change-Id: I7c587a68dbdeab9a8c8ed324ecae2eb5dd75b9df
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/139201
Reviewed-by: Eike Rathke <erack@redhat.com>
Tested-by: Jenkins
|
|
... to prepare having GetOpCodeMap() return a temporary if a final
doesn't exist yet. Currently just an alias.
Change-Id: I6fc100ae6223010e149e4af01fc7c17630930de7
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/139162
Reviewed-by: Eike Rathke <erack@redhat.com>
Tested-by: Jenkins
|
|
Jusify() normalizes the rectangle so both the Width and Height are
positive, without changing the location of the rectangle. It ensures
that the x and y coordinates will be moved to the top left of the
rectangle.
The name is strange, so renaming Justify() to Normalize().
Change-Id: Idbf163e65e52a798e38f785b8961b8042cf0cf2a
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/137379
Tested-by: Jenkins
Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
|
|
Change-Id: I6c1d8c0365cb59f3c63537c08e27a34bac111aaf
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/138705
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
|
|
...so that its TOOLS_WARN_EXCEPTION can be used in
comphelper/source/misc/logging.cxx in a follow-up commit. (And while at it,
rename from diangose_ex.h to the more appropriate diagnose_ex.hxx. The
comphelper module is sufficiently low-level for this immediate use case, so use
that at least for now; o3tl might be even more suitable but doesn't have a
Library until now. Also, for the immediate use case it would have sufficed to
only break DbgGetCaughtException, exceptionToString, TOOLS_WARN_EXCEPTION,
TOOLS_WARN_EXCEPTION_IF, and TOOLS_INFO_EXCEPTION out of
include/tools/diagnose_ex.h into an additional new
include/comphelper/diagnose_ex.hxx, but its probably easier overall to just move
the complete include file as is.)
Change-Id: I9f3222d4ccf1a9ac29d7eb9ba1530d53e2affaee
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/138451
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
|
|
... instead of formula::FormulaCompiler base class that doesn't
know anything about AddIns, and copy AddIns along to new resulting
native map.
Change-Id: I9e4ece2f7450a561ac502ca1dbddaa5a697fa2fe
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/137882
Tested-by: Eike Rathke <erack@redhat.com>
Reviewed-by: Eike Rathke <erack@redhat.com>
|
|
Initialized at FormulaCompiler base class instance it lacks AddIn
mapping and a still existing OpCodeMap prevents necessary
reinitialization from derived ScCompiler instance later.
Change-Id: I0c2db41dd45829abfb8460730264f097ab76ab2e
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/137881
Tested-by: Jenkins
Reviewed-by: Eike Rathke <erack@redhat.com>
|
|
Change-Id: I1edc2a979946078e4548c0933f9b64b7a08a7e6d
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/137773
Tested-by: Jenkins
Reviewed-by: Eike Rathke <erack@redhat.com>
|
|
... so not only the com.sun.star.sheet.addin.* programmatic names
are recognized for XCell::setFormula() non-localized API calls.
Change-Id: I1f1f3f45001360445b25765312782f04ee079ee9
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/137769
Reviewed-by: Eike Rathke <erack@redhat.com>
Tested-by: Jenkins
|
|
Change-Id: I12f2fd5bf3497505a8652ab98bccb495a619333d
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/136905
Tested-by: Jenkins
Reviewed-by: Andreas Heinisch <andreas.heinisch@yahoo.de>
|
|
Change-Id: I275f96bb8b24838538ac88532508ad7dbd127eae
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/136271
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
not reproducible for me, but appears to be an empty string here
sometimes.
Change-Id: I8465f178cc7e5a6efdc08c1d15c154eeb2277c7b
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/136287
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
|
|
... to repair broken saved as Excel documents with saved Add-In
programmatic names, by adding them as upper-cased symbols. Previously,
adding such name was rejected if the Add-In already existed in the
reverse map. Now multiple one-way aliases are accepted. The upper-case
programmatic name was already attempted to be added for all Add-Ins of
the collection (for the non-UI case via
fillFromAddInCollectionUpperName()) but the pre-known Add-Ins are mapped
before so existed already and those names were rejected, as they
shouldn't be necessary. Except for broken documents..
Change-Id: I3cb6848779362de3446581528d2f6e6f19af9ec8
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/136072
Reviewed-by: Eike Rathke <erack@redhat.com>
Tested-by: Jenkins
|
|
So ={1;2} or =-{1;2} or ={1;2}+3 or ={1;2}+{3;4} or ={1;2}+A1 are
propagated. But ={1;2}+A1:A2 is not because the range reference
should be implicit intersection not to be forced to array mode
unless user says so.
This also adds low level ocPush with svMatrix returning always
ParamClass::ForceArrayReturn in FormulaToken::GetInForceArray() so
any derived like ScMatrixToken inherit that.
Change-Id: Ida24414a795d6609bf01e361f96438f9e7f7f66c
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/135360
Reviewed-by: Eike Rathke <erack@redhat.com>
Tested-by: Jenkins
|
|
So in SUM(MUNIT(3)) the SUM does not get ForceArrayReturn.
Same as in
commit bac202275b1bf1abe4277daf35f74ff973c23483
CommitDate: Fri Jun 3 13:08:11 2022 +0200
Propagate inline array only for Value parameters, tdf#149378 follow-up
Change-Id: I60b17352c6e2f4fe608070c07f538456ed863156
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/135358
Reviewed-by: Eike Rathke <erack@redhat.com>
Tested-by: Jenkins
|
|
So in SUM({1;2}) the SUM does not inherit it, but in ABS({-1;-2})
the ABS still does. This was always off, but so far didn't matter.
Change-Id: I00dfcd4b71b8dea943475bb5a593224312258e31
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/135349
Reviewed-by: Eike Rathke <erack@redhat.com>
Tested-by: Jenkins
|
|
So the result will actually display as full matrix, or in the cell
range marked prior to input, instead of just the top left element
in one cell, without having to close the input with
Shift+Ctrl+Enter to force array mode. The previous behaviour can
be forced by pre-selecting/marking one cell, which also worked
previously when closing as array input.
Change-Id: I81c079ce02e0c8d0536617ca6882fb470a352441
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/135278
Reviewed-by: Eike Rathke <erack@redhat.com>
Tested-by: Jenkins
|
|
Change-Id: I07f11bf12fbe1d1c2d812fa0965d6e632e1e1aba
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/133437
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
Change-Id: I70f34ac5e9b5d2f2d6c0375e823908eaa2e540b2
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/129487
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
|
|
See tdf#42949 for motivation
Change-Id: I49a3ce10dee4b03f99156f5b641f69448e1d5617
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/128479
Tested-by: Jenkins
Reviewed-by: Thorsten Behrens <thorsten.behrens@allotropia.de>
|
|
Change-Id: I15a577b3c6da03001bbbf2c2b43b29b41c4007c1
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/127234
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
See tdf#42949 for motivation
Change-Id: I44e4e3a88067c1c29ce9d563b22741e984b43576
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/126964
Tested-by: Jenkins
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
|
|
...instead of by listing the content somewhat redundantly in the Rdb_*.mk
files, to avoid duplication of logic for components that are only built
conditionally (and thus should only be included conditionally in the
corresponding Rdb). To achieve that, add an "rdb" parameter to
gb_ComponentTarget_ComponentTarget (and to the gb_*_set_componentfile macros
that internally call gb_ComponentTarget_ComponentTarget), which is used to make
the appropriate gb_Rdb_add_component call internally from within
gb_ComponentTarget_ComponentTarget. (As a special case,
gb_CppunitTest_set_componentfile shall not call gb_Rdb_add_component, as that
has already been done by the corresponding gb_Library_set_componentfile call, so
allow the gb_ComponentTarget_ComponentTarget "rdb" parameter to be empty to
support that special case.)
Most Rdb_*.mk files are thus mostly empty now. One exception is
i18npool/Rdb_saxparser.mk, which duplicates some of the Rdb_services content as
needed during the build in CustomTarget_i18npool/localedata.
1c9a40299d328c78c035ca63ccdf22c5c669a03b "gbuild: create services.rdb from built
components" had already tried to do something similar (in addition to other
things) under a new --enable-services-rdb-from-build option. However, that
approach had four drawbacks that this approach here addresses (and which thus
partly reverts 1c9a40299d328c78c035ca63ccdf22c5c669a03b):
1 Rdb_services shall not contain the component files of all libraries that are
built. While that commit filtered out the component files that go into
Rdb_ure/services (ure/Rdb_ure.mk), it failed to filter out the component files
that go into others like Rdb_postgresql-sdbc
(connectivity/Rdb_postgresql-sdbc.mk).
2 The code added by that commit to Makefile.gbuild codified the knowledge that
there is an Rdb_services, which is brittle.
3 The code added by that commit to solenv/gbuild/Rdb.mk codified the knowledge
(for gb_Rdb__URECOMPONENTS) that there is an Rdb_ure/services, which is brittle.
4 Introducing an --enable-services-rdb-from-build option needlessly provided
two different ways how the content of Rdb_services is assembled.
The changes done here would leave --enable-services-rdb-from-build as a
misnomer, as it no longer controls how Rdb_services is assembled. I thus
renamed it to --enable-customtarget-components, as that is apparently what it
still does now.
Change-Id: Ia5e8df4b640146c77421fcec6daa11a9cd260265
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/126577
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
|
|
Also remove the associated links.txt entries
Change-Id: I5028fab2feb828875a0b772418fc29cbdfe4ce72
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/125773
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
Change-Id: I663a31ff6b207f43dd6f1c8240a341845b9e20b7
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/125764
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
which results in lots of nice string_view improvements picked up by the
plugins
Change-Id: Ib0ec3887816b3d4436d003b739d9814f83e244b2
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/125657
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
Change-Id: I9baa0ac24865d54503c21545109163bde11eac47
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/124367
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
|
|
Change-Id: I358f5e8031c235be76bb96591bf33f59a39b00ba
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/123350
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
we already have GetCharClass and we never return a nullptr
Change-Id: I3cb79bc60be614c0474ecfdaad17991f2ecb6368
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/122208
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
Change-Id: Ibff3c2fea3cadc234266953ab15ae5f25c4ac1e1
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/121626
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
Change-Id: Ia6e34b48cdcc4b011c46c576269cdeffab4821ef
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/120100
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
|
|
because this is often on a hot path, and we can avoid the splitting and
joining of strings like this.
Change-Id: Ia36047209368ca53431178c2e8723a18cfe8260a
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/119220
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
Allowed whitespace in ODFF and OOXML are
U+0020 SPACE
U+0009 CHARACTER TABULATION
U+000A LINE FEED
U+000D CARRIAGE RETURN
Line feed and carriage return look a bit funny in the Function Wizard if
part of a function's argument but work. Once a formula is edited, CR are
converted to LF though, probably already in EditEngine, didn't
investigate.
Change-Id: I6278f6be48872e0710a3d74212db391dda249ed2
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/119635
Reviewed-by: Eike Rathke <erack@redhat.com>
Tested-by: Jenkins
|
|
Same as for OOXML, they are disallowed in ODFF as well.
Change-Id: Iff78a901838092a3ee32221fdaadd28ee50f7646
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/119577
Tested-by: Jenkins
Reviewed-by: Eike Rathke <erack@redhat.com>
|
|
Change-Id: I333100fda7e181f68f36b03279b3fbb8cb768310
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/117615
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
Change-Id: I0bb0ea9d39ed623928060ffd3f2e2bc36ba33209
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/117272
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
includes removing of unused TOKEN_SEP
Change-Id: Ic72d9d94bd8d07232699ee4d948f3b203d524491
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/116833
Tested-by: Jenkins
Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
|
|
Change-Id: I9bce5bc590e3348d1fb0c81a9ec74cec2944d38a
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/116617
Reviewed-by: Eike Rathke <erack@redhat.com>
Tested-by: Jenkins
|
|
and inherit ToggleButton from both it and Button
Change-Id: If0e500aca8d0ffa087cb5e2bfc1786372fbff4eb
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/115921
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
|
|
Change-Id: Iec5139cc2b739a624db7f10854a29e191b509286
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/115889
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
|
|
Optimise LocaleDataWrapper for reads by initialising the
data we in the constructor, so we don't need any kind of
locking
Reduces load time from 34s to 28s.
Change-Id: I4bd3bddb30b70ba015fe5b1372534f9507762b74
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/114960
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|