Santhosh has uploaded a new change for review.

  https://gerrit.wikimedia.org/r/75341


Change subject: Correct the regular expression for explicit plural forms
......................................................................

Correct the regular expression for explicit plural forms

/\d+=/ will match a12=abc. That is wrong. The plural form must
start with digits. Changing it to /^\d+=/

Also avoid Regex instance creation in mediawiki.language.js, use
literal regex.

Follow up: I82b9067 and I50eb0c6
Bug: 51284

Change-Id: I70ad3f99ad0a2600773c005d9e9cc8238e6e6d09
---
M languages/Language.php
M resources/mediawiki.language/mediawiki.language.js
2 files changed, 2 insertions(+), 3 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/mediawiki/core 
refs/changes/41/75341/1

diff --git a/languages/Language.php b/languages/Language.php
index e5cab05..262d86f 100644
--- a/languages/Language.php
+++ b/languages/Language.php
@@ -3616,7 +3616,7 @@
        function convertPlural( $count, $forms ) {
                // Handle explicit n=pluralform cases
                foreach ( $forms as $index => $form ) {
-                       if ( preg_match( '/\d+=/i', $form ) ) {
+                       if ( preg_match( '/^\d+=/i', $form ) ) {
                                $pos = strpos( $form, '=' );
                                if ( substr( $form, 0, $pos ) === (string) 
$count ) {
                                        return substr( $form, $pos + 1 );
diff --git a/resources/mediawiki.language/mediawiki.language.js 
b/resources/mediawiki.language/mediawiki.language.js
index 8cf358b..631d13d 100644
--- a/resources/mediawiki.language/mediawiki.language.js
+++ b/resources/mediawiki.language/mediawiki.language.js
@@ -46,7 +46,6 @@
        convertPlural: function ( count, forms ) {
                var pluralRules,
                        formCount,
-                       explicitPluralPattern = new RegExp( '\\d+=', 'i' ),
                        form,
                        index,
                        equalsPosition,
@@ -59,7 +58,7 @@
                // Handle for explicit n= forms
                for ( index = 0; index < forms.length; index++ ) {
                        form = forms[index];
-                       if ( explicitPluralPattern.test( form ) ) {
+                       if ( /^\d+=/.test( form ) ) {
                                equalsPosition = form.indexOf( '=' );
                                formCount = parseInt( form.substring( 0, 
equalsPosition ), 10 );
                                if ( formCount === count ) {

-- 
To view, visit https://gerrit.wikimedia.org/r/75341
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I70ad3f99ad0a2600773c005d9e9cc8238e6e6d09
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/core
Gerrit-Branch: master
Gerrit-Owner: Santhosh <[email protected]>

_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to