mirror of
https://gerrit.wikimedia.org/r/mediawiki/extensions/Scribunto
synced 2024-11-14 11:17:15 +00:00
82820aafc8
The "%f[set]" frontier pattern has been in Lua 5.1 since the beginning, but was undocumented until Lua 5.2. And the code is even unchanged from 5.1.0 to 5.2.1. So there's no reason not to implement it in ustring too. Note the changes to UstringLibrary.php are somewhat large, because it splits the "convert a Lua bracketed charset to PCRE" code into a separate function and it changes the handling of mw.ustring.find's and mw.ustring.match's 'init' parameter from "substring, match from 0, then add back on $init" to "use preg_match's $offset and use \G instead of ^ where this matters". Both of these are necessary to properly support %f. This also fixes a bug in the pure-Lua code (not used in Scribunto) exposed by the unit tests for %f where %z was matching '\1' rather than '\0' and %Z everything except '\1' instead of everything except '\0'. Bug: 48331 Change-Id: Ie0b95ef5b734db53d6adc9de5dae4874f8944c08 |
||
---|---|---|
.. | ||
LuaCommon | ||
LuaSandbox | ||
LuaStandalone |