Quoting 56211a166ab25d80de84c2cccce22be15a9be051 "fdo#72394 Don't endlessly
expand $(share_subdir_name) into itself":
* The compile-time variable LIBO_SHARE_FOLDER should not end up as a runtime
framework path variable, esp. since accidentally re-substituting it for
"share" segments in unrelated URLs like <file:///export/share/for-all> does
not make sense. ac4e19f9085dbd0103c7336a5318aa1e55b3e3e0 "fdo#68552: Don't
(attempt to) do run-time expansion of build-time parameters" had already
attempted a fix for that, but it had to be reverted again with
791a8b96f754798192875da287c84f8cfa4e533e because it "Unfortunately does not
work if BUILDDIR is different from SRCDIR."
So this time fix it not via configure-expanded *.in files, but via xsltproc
(for officecfg/registry/ files) and sed (for wizards/soruce/configshare files).
The changes to officecfg/util/alllang.xsl will replace @LIBO_SHARE_FOLDER@ only
in oor:name attribues (and in <value> text), not in any other attributes,
because I have no idea how to write that generically in XSLT and it happens to
be only needed in oor:name for now.
Change-Id: Iec78eb70dcbf1a5bbabf4e42f21c44dc65c3e438
In commit 363cc397172f2b0a94d9c4dc44fc8d95072795a3
"convert equalsAsciiL calls to startWith calls where possible"
I incorrectly converted equalsAsciiL calls to startsWith calls.
This commit fixes those places to use the == OUString operator.
Change-Id: If76993baf73e3d8fb3bbcf6e8314e59fdc1207b6
The introduction of $(share_subdir_name) expanding to "share" in
c6a73009747814513ab5a7277c211449c7378870 "Use subfolder names from
<config_folders.h>" shows that
SubstitutePathVariables::impl_reSubstituteVariables is fundamentally flawed in
that it allows reducing variable occurrences even in variable names, so that it
will expand an occurrence of "share" into an endless recursion of
"$(share_subdir_name)" -> "$($(share_subdir_name)_subdir_name)" -> ...
Adding $(share_subdir_name) to the list of variables that can only replace a
complete path segment (delimited by "/"), from which it had erroneously been
missing, "fixes" this problem for now.
But the code is still wrong in at least two respects:
* SubstitutePathVariables::impl_reSubstituteVariables arguably needs to be made
more robust, to never reduce variable occurrences in variable names.
* The compile-time variable LIBO_SHARE_FOLDER should not end up as a runtime
framework path variable, esp. since accidentally re-substituting it for
"share" segments in unrelated URLs like <file:///export/share/for-all> does
not make sense. ac4e19f9085dbd0103c7336a5318aa1e55b3e3e0 "fdo#68552: Don't
(attempt to) do run-time expansion of build-time parameters" had already
attempted a fix for that, but it had to be reverted again with
791a8b96f754798192875da287c84f8cfa4e533e because it "Unfortunately does not
work if BUILDDIR is different from SRCDIR."
Change-Id: If214c179c0068fbaa475c1c9cac804d6a1dbb2dc
A final pass through the code, converting code to use the new
OUString and OString methods that can detect string literals.
Change-Id: Ifa6382335e5650a1c67e52006b26354e0692c710
Convert code like:
aOStringBuf.append( RTL_CONSTASCII_STRINGPARAM( " is missing )") );
to:
aOStringBuf.append( " is missing )" );
which compiles down to the same code.
Change-Id: I3d8ed0cbf96a881686524a167412d5f303c06b71
Convert code like:
aStrBuf.appendAscii( RTL_CONSTASCII_STRINGPARAM( "ln(x)" ));
to:
aStrBuf.append( "ln(x)" );
which compiles down to the same code.
Change-Id: I24c7cb45ceb32fd7cd6ec7ed203c2a5d746f1c5c
Convert code like:
aStr.equalsAsciiL( RTL_CONSTASCII_STRINGPARAM( "ActiveConnection" ) )
to
aStr.startsWith( "ActiveConnection" )
which compiles down to the same machine code.
Change-Id: Id4b0c5e0f9afe716a468d3afc70374699848dc33
The fix for fdo#37758 was not correct, we shouldn't fiddle with the m_bVisible
itself, but instead react on the m_bMasterHide flag; or at least that is my
understanding of the related framework code (why is it so confusing?!)
Change-Id: I791fcea9e5e5313b6a5b776cb3187cbd1a028386
- this renames the 'almost' module target to non-l10n
- and adds a l10n target which is intended to only build l10n parts of
the product
- packagers should then be able to build l10n and non-l10n parts of the
product independently, thus:
- enable quicker rebuilds
- distribution of load
- updates to l10n without a full rebuild
- security fixes to binaries without rebuilding all l10n
- the new targets are called build-l10n-only and build-non-l10n-only
- note this is not intended to move a concept of split packages
upstream -- while this exsists in distros, the number of test
scenarios for this would explode upstream
Change-Id: Ib8ccc9bc52718d9b0ebbfee76ad93dc29c260863
Conflicts:
filter/Module_filter.mk
Convert code like
aStr.compareToAscii("XXX") == 0
to
aStr.equalsAscii("XXX")
which is both easier to read and faster.
Change-Id: I448abf58f2fa0e7715dba53f8e8825ca0587c83f
This is both an optimisation and a cleanup.
This converts code like
aStr.indexOf("XX") == 0
to
aStr.startsWith("XX")
and converts code like
aStr.lastIndexOf("XXX") == aStr.getLength() - 3
to
aStr.endsWith("XXX")
Note that in general
aStr.lastIndexOf("X") == aStr.getLength() - 1
converts to
aStr.isEmpty() || aStr.endsWith("X")
so I used the surrounding context to determine if aStr could be empty
when modifying the code.
Change-Id: I22cb8ca7c2a4d0288b001f72adb27fd63af87669