mw.ustring is really really slow. I've discovered that in a lot of modules
on enwiki, upwards of 2/3 of the total runtime gets used when mw.html
calls mw.ustring.gsub. This change checks whether any Unicode characters
are present, and if not, calls string.gsub instead.
Change-Id: Ia50061584be3901ae7428354c449236225c318db
Core strip markers were changed in T110143 to include characters that
are normally encoded in attributes, however we want to pass them through
here so they can be unstripped correctly in the output wikitext.
This fix makes "Strip markers in CSS" parser test pass again.
Bug: T110143
Bug: T135961
Change-Id: I1353931a53c668d8a453dfa2300a99f59fdb01c5
The following continue to be ignored:
* Generic.Arrays.DisallowLongArraySyntax.Found, because I'm not sure
Scribunto is ready to abandon old version support in master.
* MediaWiki.ControlStructures.AssignmentInControlStructures.AssignmentInControlStructures,
because it's overly strict for its purpose.
Squiz.Classes.ValidClassName.NotCamelCaps isn't ignored globally, we
just ignore it explicitly every place it's needed.
Change-Id: I307668da6ef7b3e23da19b1fd1e08914239b99b3
Such a configuration is completely broken, but it's easy enough to
detect and avoid here.
Bug: T131910
Change-Id: I0bf108ec191a59f5506c0cdab00f3e5e68158ed5
This also makes some updates to make-normalization-table.php to handle
the move of UtfNormal to a separate library.
Bug: T126427
Change-Id: Id4985c3ca441cf92f08ba1f1af85c762ba43d7d2
Change the translation of "Module" from "เกณฑ์สำหรับวัด" which is totally wrong and meaningless
to "โมดูล" which is the correct one. The consensus to modify this can be found at
https://th.wikipedia.org/wiki/วิกิพีเดีย:ศาลาชุมชน/อภิปราย/เปลี่ยนชื่อเนมสเปซ_module
This commit corrects [[gerrit:243617]].
Change-Id: I1eeb295c25a34c2852bc7c71921534b578b73e35
When caching results from frame:preprocess and frame:expandTemplate,
restrict the scope of the cache to the frame object that was used. This
allows the integrity of the empty-frame expansion cache to be maintained
while also allowing parent frame access. This change is the equivalent of
I621e9075 in core.
Change-Id: Iae4c00e7e19ba12cfdaac135be16c991d9d0cea1
The new Scribunto_LuaTitleLibrary::redirectTarget() method is
used by mw.title objects as read-only attribute 'redirectTarget'.
If the page does not exist or it is not a redirect, the value
of the attribute is `false`; otherwise, it is the target of the
redirect page, as mw.title object.
This is a proper alternative to parsing wikitext as it is done in:
https://en.wikipedia.org/wiki/Module:Redirect
Bug: T68974
Change-Id: Id4d9b0f8c1cd09ebc42c031d4d3fc0c33eea44aa
The language used should be $parser->getTargetLanguage(), not the user
language.
Soft-depends on Id14733aaef3e52a2e315bffe74baeb926d46e238.
Bug: T127233
Change-Id: I712e048367d9d65fd223cb085dbf9e5fceca286c
These binaries were compiled from a manually lua-5.1.5 source tree.
Linux binaries were built by Anomie. Mac OS X and Windows by dpatrick.
Bug: T72541
Change-Id: I6af0f042c491785cce26afc186a148c83c4f3414
Replaces U+06C1 U+0654 ("ARABIC LETTER HEH GOAL" and "ARABIC HAMZA ABOVE")
with the NFC form U+06C2 ("ARABIC LETTER HEH GOAL WITH HAMZA ABOVE").
Bug: T126799
Change-Id: Iae5f252441be4aacf56553a4226d7b6a0bd952c5
Apparently microtime is a bit unreliable for this test for some reason,
so let's use getrusage() to measure actual CPU time instead.
Bug: T125045
Change-Id: Ia1ab6b043b99abb4fc6c2989ad09a24d97dd09c3
This is unlikely to be a cause of the cache corruption since this isn't
calling setText() on any wikitext ParserOutputs, but let's fix it just
in case.
Bug: T124356
Change-Id: Ic34c654af86385dede843009d89df6f442ddc915