Age | Commit message (Collapse) | Author |
|
I build a full-language WASM build and the WASM linker was
complaining about mismatching function signatures for
get_zh_zhuyin and get_zh_pinyin.
Turns out LO has two exported functions with the same name
but different signatures. For a static build, these collator
functions are renamed, so they don't clash, and this was
silently calling the wrong functions from
i18npool/source/indexentry.
Change-Id: I6afe1c3a289dfccea5a5fec41a9a6db37f4e19bb
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/129741
Tested-by: Jenkins
Reviewed-by: Jan-Marek Glogowski <glogow@fbihome.de>
|
|
For Chinese, format code NATNUM7 and NATNUM8 are "short lower
case text" and "short upper case text", respectively, see [1].
We need full lower and full upper here for numbering purpose, not
"short" form. E.g. for number 100, we need "一百" (lower case)
and "壹佰" (upper case), rather than "百" which is in short form.
Use NATNUM12 for chinese lower, and NATNUM5 for Chinese upper.
See bug 147054 for the reason why we do not use NATNUM4 for Chinese lower.
[1] https://help.libreoffice.org/latest/en-US/text/shared/01/05020301.html
Change-Id: I69c93d62f1026117a6d403ade63a9abfbe5c73f4
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/129143
Tested-by: Jenkins
Reviewed-by: Eike Rathke <erack@redhat.com>
|
|
See tdf#42949 for motivation
Change-Id: I758bb27e93779e3df21c463714e49354748f446f
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/128715
Tested-by: Jenkins
Reviewed-by: Thorsten Behrens <thorsten.behrens@allotropia.de>
|
|
Co-authored-by: info@padutchdictionary.com
Change-Id: I420847e2cfe1adc8fec6e30392557c1bc8b21ac5
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/128998
Tested-by: Jenkins
Reviewed-by: Eike Rathke <erack@redhat.com>
|
|
Previously we only supported CIRCLED NUMBER ONE through CIRCLED NUMBER TWENTY.
Unicode aready has CIRCLED NUMBER TWENTY ONE through CIRCLED NUMBER FIFTY.
This improves Circled Numbering, especially for CJK.
E.g. ➀, ➁, ➂, ... ㉑, ㉒, ㉓, ... ㊽, ㊾, ㊿.
Change-Id: I7c4c851f03522fef9d44163da7450cf69aab3889
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/129015
Tested-by: Jenkins
Reviewed-by: Eike Rathke <erack@redhat.com>
|
|
Change-Id: I3639dfff2da10afd711be37b6bfede44266c307f
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/128713
Reviewed-by: Eike Rathke <erack@redhat.com>
Tested-by: Jenkins
|
|
... resulting in a stripped-down, Writer-only build to decrease
the resulting WASM bytecode size.
It removes the following code from the build:
* All other major modules: Base, Calc, Chart, Draw, Impress and
Math and related writerperfect filters
* The premultiply tables
* The (auto-)recovery functionality
* All accessibility (but not the accessibility document checker)
* The LanguageGuess component
* EPUB support
* The start center / BackingWindow
* The TipOfTheDay functionality
* The splash screen communication
Currently crashs with anything different then soffice --writer.
Closing the document also still crashes.
FYI: many of these features are now behind ENABLE_WASM_STRIP_*
defines, but they normally don't work on their own, globally!
That's because we started with stripping the main components.
Change-Id: Ib9c0f9452815910c0a2aceaf142ba1ad4a9cb0d7
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/126182
Tested-by: Jenkins
Reviewed-by: Jan-Marek Glogowski <glogow@fbihome.de>
|
|
Mike tested it, and I tested it on Windows too. But at least for
my Linux static build, these files are auto-removed. So tell GNU
make we really want to keep them.
Change-Id: I00eb191c4d0086de87f895a6e6fe26d1e405cab9
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/127895
Tested-by: Jenkins
Reviewed-by: Jan-Marek Glogowski <glogow@fbihome.de>
|
|
At least on Windows the calls to saxparser almost feel as slow
as the compilation. So this adds an intermediate file just for
the cmp calls, costing just a bit more filesystem space.
This also reverts the gb_MKTEMP usage introduced in commit
14eeed686c5490ddbd356c1ac807b16231e4cb88. Using a fixed name in
WORKDIR is easier to debug eventually, then some random mktemp
generated file, and is faster anyway.
Change-Id: Id4979b75b881e916c209ff0ff8e123536294e93b
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/127841
Tested-by: Jenkins
Reviewed-by: Jan-Marek Glogowski <glogow@fbihome.de>
|
|
Change-Id: I99abbe97a48b2077e28d6221fb70036e5e412657
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/127479
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
|
|
No need for various, evaled custom rules. A normal pattern rule is
sufficent for this task.
Change-Id: I4f7ad0cafb7fe78fc161eab54bb3170003c83ade
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/127325
Tested-by: Jenkins
Reviewed-by: Jan-Marek Glogowski <glogow@fbihome.de>
|
|
Also use random temporary files.
Change-Id: If59a9f3ac8e736272ad51747c6a032351a6bec39
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/127138
Tested-by: Jenkins
Reviewed-by: Jan-Marek Glogowski <glogow@fbihome.de>
|
|
Change-Id: I76989e1f52be35fad63a090809da950ceed8fc69
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/127113
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
Change-Id: Id424d7b0d2eee12eb53d9dda4445189526b63d2d
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/127114
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
no need to store LocaleDataLookupTableItem separately
Change-Id: I06de28518fe80f6ae1a22c20af2ff32245b66acc
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/127112
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
rather than passing by pointer and then asserting that the
pointer is not null
Change-Id: I8df464ca2ae770ab343417fe1b15c378c88110d2
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/127111
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
...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>
|
|
... and introduce the --enable-services-rdb-from-build option.
Currently the build handles global build options redundant
in a few places:
* in Repository*mk + modules - the "real" build dependencies
* the full services.rdb generation
* the static UNO constructor map generation
Also the component files don't reflect the really built components
and so the RDB services generation must handle the whole options
to select the correct components.
So this optionally replaces the latter two by generating the list
of components and it's constructors from the build itself. As a
consequence, component files must now be split, so they reflect
the real components in the libraries, otherwise the static
constructor list will have missing symbols. IMHO this is more
natural, as it happens in the same place already handling these
build options for the sourcecode.
This also adds a convenience helper to add multiple component
files: gb_Library_set_componentfiles
This is WIP and currently just works for the stripped WASM build,
which introduces many more split component files in later patches.
It also explicitly filters the gb_Rdb__URECOMPONENTS and the
CppunitTest related components from the services.rdb. Maybe there
is a good way to do this properly.
Change-Id: I1b38a6f2c1e5221f18d7e5e756c30263b555d962
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/126185
Tested-by: Jenkins
Reviewed-by: Jan-Marek Glogowski <glogow@fbihome.de>
|
|
This introduces two concepts: a plugin and its loader (library)
LO currrently has dependency cycles for some libraries. There is
scui, which depends on sc, while sc dlopen's scui. There are the
various vclplug_*, i18npool plugins, filters/gie, acc, etc.
Usually these plugins link to their loader library, because they
use its symbols. But as a result there is no sensible way to
express the runtime dependency of loaders on the plugins.
In GNU libtool plugins are called modules and they are implemented
in an IMHO more sensible way by allowing missing symbols at link
time. This way you can have a dependency from the loader library
to its plugins, as the plugins don't depend on the loader, but you
lose the link time detection of missing symbols.
While this is in theory possible in LO too, LO currently has
plugins, like acc (accessibility), loaded by tk (toolkit), which
depends on svt (svtools), which itself depends on tk, so dropping
the tk dependency for acc on its own doesn't help :-(
And while the dependency of the plugins on their loader is fine
for the shared / DYNLOADING build, for the "static" builds you
must (somehow) link the plugins into the executables.
I also codeified a few rules into the build system along with it:
* just plugins are allowed to depend / link other plugins
* plugins aren't allowed to be linked into the merge lib
* plugin loaders are "limited" to libraries
At the high level, this is implemented via new gbuild calls:
* gb_Library_set_plugin_for,lib,loader: declare a library to be a
plugin of a loader library and add a dependeny from the plugin
library to the loader library
* gb_Library_set_plugin_for_nodep,lib,loader: ^^^^ without adding
the library dependeny
* gb_Helper_register_plugins_for_install: "plugin" replacement for
gb_Helper_register_libraries_for_install to implement some
additional checks in the build system
In the end this patch just adds a bit syntactic sugar and nothing
changes for any build.
Change-Id: I7b01d9c384cbc5838bd2cc93aff18e4868939d6e
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/126163
Tested-by: Jenkins
Reviewed-by: Jan-Marek Glogowski <glogow@fbihome.de>
|
|
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: I15441110bf27c3f2ad9a61389339c55b9c4c3bb4
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/125632
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
Change-Id: Id67d8926fdc1616add1bd9de051911b2aae030e4
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/125419
Tested-by: Jenkins
Reviewed-by: Ilmari Lauhakangas <ilmari.lauhakangas@libreoffice.org>
|
|
Per Wechat discussion by our Simplified Chinese l10n team.
上方 and 下方 are written languages which are more suitable for
cross-reference context, while 上面 and 下面 are spoken languages.
Also in this way they are consistent with MS Word.
Change-Id: Iccf8c330b2e5a04be3916b810a29ea0d62f26225
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/125533
Tested-by: Jenkins
Reviewed-by: Eike Rathke <erack@redhat.com>
|
|
Change-Id: Ib81da535411b07596785b06d7a5dac36a8a2ee28
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/124704
Tested-by: Jenkins
Reviewed-by: Eike Rathke <erack@redhat.com>
|
|
Change-Id: I8a56d5d6d201ac5ae65dc46ef4838a0e41af587e
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/125530
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
* Some variables that were only used in the calendar_hijri.cxx
are now moved out of the header file, and they are no loner
member variables of the the class Calendar_hijri. They are now
placed in the the i18npool namespace.
* Removed unused variables SynMonth, EveningPeriod and LeapYear
* Moved a global variable definition to the member function that was
the only place it was used. It is now a local variable.
Change-Id: I8a8b25765bd8ed5640b1a0cfa46ec9903b460a53
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/125433
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
Tested-by: Jenkins
|
|
* Removed the static member variable SA_TimeZone, which is not used
elsewhere
* It is write-only according to the clang compilerplugins output:
compilerplugins/clang/unusedvarsglobal.writeonly.results
* Time zone should not be allocated as a constant
* Removed unused local variables commented out 15 years ago to avoid
warnings in: 4170cbdbdfc9ceb282d25e1e19cd7b4d178436bf
Change-Id: Ifc24651ae0aee33dd6a01c77c919ce0cb0426366
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/125432
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
Tested-by: Jenkins
|
|
Unicode 14, 5 new scripts, 12 new Unicode blocks.
In i18npool/qa/cppunit/test_breakiterator.cxx
TestBreakIterator::testLao() had to be disabled/adapted.
Needs to be investigated, see comments there.
As is, Lao script word break has regressions.
Correct UBLOCK_TANGUT_SUPPLEMENT Unicode range endpoint to
0x18D7F, see
https://www.unicode.org/versions/Unicode14.0.0/erratafixed.html
for which ublock_getCode(0x18D8F) now returned UBLOCK_NO_BLOCK and
thus luckily the assert in svx/source/dialog/charmap.cxx hit.
Change-Id: I4bad16ecfab3f44be365b8f884c57f34af68218e
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/125322
Reviewed-by: Eike Rathke <erack@redhat.com>
Tested-by: Jenkins
|
|
* Replaced multiplying by magic number 0.01745329251994 with
basegfx::deg2rad() which is equal to M_PI/180.0
* Instances of this could be found using:
git grep 0.01745329251994 *.cxx *.hxx
Change-Id: Ib813251f6223e4218fe977c0211732c22199295d
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/125294
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
|
|
Change-Id: I98909614d4a8d4317867036678c7202e28dcf285
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/125001
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
look for
#define FOO "foo"
that can be converted into OUStringLiteral.
This is the first pass of this plugin, only doing those #define which
are local to a single compilation unit.
Change-Id: Ic8610e29ec42c36d03db5014a93c244315d5bbea
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/124962
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
only seen in optimised build
Change-Id: Ibf344efa034feefdc6e03d489a0a6b28461b76e2
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/124581
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
... and also sort them.
Gets rid of a lot of #ifdef cpp macro lines.
Also unifies the macros as "MACRO( id )" for easier readability.
Additionally drops the "// add here new services !!" comment at
the end of the transliteration instance list, as items were added
all other the place in various patches.
Change-Id: I040b3b0952ec2aef2d1d10e7282cfd11afa6b702
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/124441
Tested-by: Jenkins
Reviewed-by: Jan-Marek Glogowski <glogow@fbihome.de>
|
|
... registration.
Change-Id: Ice406aa6e8817b4281cc3905d2ba2703ce482c18
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/124440
Tested-by: Jenkins
Reviewed-by: Jan-Marek Glogowski <glogow@fbihome.de>
|
|
Change-Id: Ib4c59c45098376f2e0a610a8ffefb4af5306bd6d
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/124372
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
|
|
This made the cache always fail and re-cache, making CJK text layout
slower over time. A mistake from ef513fd4b049b214a03fbe6e that
converted !strcmp() to != instead of ==.
Change-Id: Ib70579cd36d7b1df062e4d067e03f5c65e34b142
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/124432
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
Reviewed-by: Luboš Luňák <l.lunak@collabora.com>
Tested-by: Luboš Luňák <l.lunak@collabora.com>
|
|
...from aa2064c5c5f23f6f4b7bc44e12345b37f66995bc "Improve
loplugin:stringliteralvar", similar to 8b32a3edad52f8ac5e5f0f49b4f4e80954c2fd25
"Fix stack-use-after-scope" (though this case doesn't appear to have caused any
actual issues).
(After manual inspection, there appear to be no further missing `static` at
least in aa2064c5c5f23f6f4b7bc44e12345b37f66995bc "Improve
loplugin:stringliteralvar".)
Change-Id: I2b3d0d8d2af1d65f0c5bef8a858107020a620974
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/124137
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
|
|
Change-Id: I3b4226a9d089ec9aedab95d96e50a068f57a76c7
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/123991
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
Mainly inherit from he_IL but the calendars from en_US that also
already define the Jewish calendar items with English names.
Jewish calendar date formats also from en_US LC_FORMAT_1.
Change-Id: I0907898190adcd46687ca1308fe6785fd9c9c4ad
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/123845
Reviewed-by: Eike Rathke <erack@redhat.com>
Tested-by: Jenkins
|
|
... keeping all LC_FORMAT as non-NatNum elements and separating
all NatNum into LC_FORMAT_1, to be able to separately inherit
LC_FORMAT.
Change-Id: I42387432205862ca6416e6a3d020a923408c7b8c
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/123844
Reviewed-by: Eike Rathke <erack@redhat.com>
Tested-by: Jenkins
|
|
Change-Id: I6313d9e573e653c9a97171ca8c2f6176d7ad6a3f
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/123843
Reviewed-by: Eike Rathke <erack@redhat.com>
Tested-by: Jenkins
|
|
... to avoid hidden cost of multiple COW checks, because they
call getArray() internally.
This obsoletes [loplugin:sequenceloop].
Also rename toNonConstRange to asNonConstRange, to reflect that
the result is a view of the sequence, not an independent object.
TODO: also drop non-const operator[], but introduce operator[]
in SequenceRange.
Change-Id: Idd5fd7a3400fe65274d2a6343025e2ef8911635d
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/123518
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
|
|
Identifiers containing underscores must start with an uppercase letter. (So
that the UNO implementation can use identifiers containing underscores and
starting with a lowercase letter for internal purposes, see e.g. the static_type
member functions in the C++ *.hdl files. idlc checks that with the -cid option,
while unoidl-write silently allows bad identifiers for now, see the TODO in
unoidl/source/sourceprovider-scanner.l, which can be dropped after this change.)
All of the affected identifiers were present since early OOo times, but none of
them appear to be used much, at least not across LO itself, so there is hope
that we can get away with these incompatible changes. (For the constant group
members, we could roll this out in two steps, introducing the new members
alongside the old ones and deprecating the old ones in a first step, then
removing the old, deprecated ones in a second step, so that third-party code
would have more time to adapt. But that would not work for the enum members and
interface methods, so just do all of this in one breaking step.)
udkapi happened to not contain any bad identifiers.
Change-Id: If2d4c16563606f9efb48b937c76af54746377428
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/121725
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
|
|
The scenarios are:
1. Calling sequence's begin() and end() in pairs to pass to algorithms
(both calls use getArray(), which does the COW checks)
2. In addition to #1, calling end() again when checking result of find
algorithms, and/or begin() to calculate result's distance
3. Using non-const sequences in range-based for loops, which internally
do #1
4. Assigning sequence to another sequence variable, and then modifying
one of them
In many cases, the sequences could be made const, or treated as const
for the purposes of the algorithms (using std::as_const, std::cbegin,
and std::cend). Where algorithm modifies the sequence, it was changed
to only call getArray() once. For that, css::uno::toNonConstRange was
introduced, which returns a struct (sublclass of std::pair) with two
iterators [begin, end], that are calculated using one call to begin()
and one call to getLength().
To handle #4, css::uno::Sequence::swap was introduced, that swaps the
internal pointer to uno_Sequence. So when a local Sequence variable
should be assigned to another variable, and the latter will be modified
further, it's now possible to use swap instead, so the two sequences
are kept independent.
The modified places were found by temporarily removing non-const end().
Change-Id: I8fe2787f200eecb70744e8b77fbdf7a49653f628
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/123542
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
|
|
Change-Id: I3c28651779f17e1a410505ffaa863b4773037ccf
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/123119
Tested-by: Jenkins
Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
|
|
...compared to a full-blown O[U]String, for temporary objects holding an
O[U]StringConcat result that can then be used as a std::[u16]string_view.
It's instructive to see how some invocations of operator ==, operator !=, and
O[U]StringBuffer::insert with an O[U]StringConcat argument required implicit
materialization of an O[U]String temporary, and how that expensive operation has
now been made explicit with the explicit O[U]StringConcatenation ctor.
(The additional operator == and operator != overloads are necessary because the
overloads taking two std::[u16]string_view parameters wouldn't even be found
here with ADL. And the OUString-related ones would cause ambiguities in at
least sal/qa/rtl/strings/test_oustring_stringliterals.cxx built with
RTL_STRING_UNITTEST, so have simply been disabled for that special test-code
case.)
Change-Id: Id29799fa8da21a09ff9794cbc7cc9b366e6803b8
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/122890
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
|
|
Change-Id: I3ed657c5c5e6840e38e3c8505505b4b372125df0
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/122910
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
i.e. < -32768-01-01 or > 32767-12-31
They couldn't be input or stored as proleptic Gregorian in file
formats anyway.
Additionally in i18npool handle the absolute year values casting
conversion int32 <-> int16 where era 0 BCE year 32768 is fielded as
-32768 but still is a valid year for our proleptic Gregorian, so
it isn't displayed as --32768.
Change-Id: Ifdd482f07e04c2a4296fd0556bbef7f1d3e15676
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/122835
Reviewed-by: Eike Rathke <erack@redhat.com>
Tested-by: Jenkins
|
|
where we could be calling static methods
Change-Id: I9efef083e6ff307441fb36c19eac9134d960edec
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/122300
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
after
commit c7551e8a46e2f9f8142aa7921a0494221ae096e8
Author: Noel Grandin <noel.grandin@collabora.co.uk>
Date: Thu Sep 16 10:36:48 2021 +0200
speedup CharacterClassificationImpl::toUpper
Change-Id: If09857f89a4fa7de56831ea16d0b3ec8c50cfaf8
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/122295
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
|