Subject: | Regexp warnings with Perl 5.22 |
Please find attached two patches fixing regexp warnings with Perl 5.22.
Subject: | spell_out_unicode_charclasses.patch |
Description: Spell out Unicode ranges in full in replacement expressions
Otherwise, Perl 5.22 gives us "Replacement list is longer than search list"
warnings. We also have to be more careful about when to apply the /d
modifier to tr when decoding, to avoid "Useless use of /d modifier in
transliteration operator" warnings after fixing the previous warnings.
Origin: vendor
Bug-Debian: https://bugs.debian.org/809094
Author: Colin Watson <cjwatson@ubuntu.com>
Last-Update: 2015-12-29
Index: b/lib/Encode/Arabic/Buckwalter.pm
===================================================================
--- a/lib/Encode/Arabic/Buckwalter.pm
+++ b/lib/Encode/Arabic/Buckwalter.pm
@@ -218,9 +218,11 @@
: q [\x{0640}] ) .
q [\x{0623}\x{0624}\x{0625}] .
q [\x{060C}\x{061B}\x{061F}] .
- q [\x{0621}\x{0622}\x{0626}-\x{063A}\x{0641}-\x{064A}] .
+ q [\x{0621}\x{0622}\x{0626}\x{0627}\x{0628}\x{0629}\x{062A}\x{062B}\x{062C}\x{062D}\x{062E}] .
+ q [\x{062F}\x{0630}\x{0631}\x{0632}\x{0633}\x{0634}\x{0635}\x{0636}\x{0637}\x{0638}\x{0639}] .
+ q [\x{063A}\x{0641}\x{0642}\x{0643}\x{0644}\x{0645}\x{0646}\x{0647}\x{0648}\x{0649}\x{064A}] .
q [\x{067E}\x{0686}\x{0698}\x{06A4}\x{06AF}] .
- q [\x{0660}-\x{0669}] .
+ q [\x{0660}\x{0661}\x{0662}\x{0663}\x{0664}\x{0665}\x{0666}\x{0667}\x{0668}\x{0669}] .
( $mode == 0
? q [\x{0671}]
: q [\x{0627}] ) .
@@ -228,7 +230,7 @@
? ''
: q [\x{0651}] . ( $mode == 2
? ''
- : q [\x{064B}-\x{0650}\x{0670}] . ( $mode == 3
+ : q [\x{064B}\x{064C}\x{064D}\x{064E}\x{064F}\x{0650}\x{0670}] . ( $mode == 3
? ''
: q [\x{0652}] ) ) )
@@ -242,7 +244,7 @@
sub decoder ($) {
$_[0] =~ tr[/ . $set[0] . q /]
- [/ . $set[1] . q /]d;
+ [/ . $set[1] . q /]/ . (($kshd or $mode > 0) ? 'd' : '') . q /;
return $_[0];
}
Index: b/lib/Encode/Arabic/Habash.pm
===================================================================
--- a/lib/Encode/Arabic/Habash.pm
+++ b/lib/Encode/Arabic/Habash.pm
@@ -220,9 +220,11 @@
: q [\x{0640}] ) .
q [\x{0623}\x{0624}\x{0625}] .
q [\x{060C}\x{061B}\x{061F}] .
- q [\x{0621}\x{0622}\x{0626}-\x{063A}\x{0641}-\x{064A}] .
+ q [\x{0621}\x{0622}\x{0626}\x{0627}\x{0628}\x{0629}\x{062A}\x{062B}\x{062C}\x{062D}\x{062E}] .
+ q [\x{062F}\x{0630}\x{0631}\x{0632}\x{0633}\x{0634}\x{0635}\x{0636}\x{0637}\x{0638}\x{0639}] .
+ q [\x{063A}\x{0641}\x{0642}\x{0643}\x{0644}\x{0645}\x{0646}\x{0647}\x{0648}\x{0649}\x{064A}] .
q [\x{067E}\x{0686}\x{0698}\x{06A4}\x{06AF}] .
- q [\x{0660}-\x{0669}] .
+ q [\x{0660}\x{0661}\x{0662}\x{0663}\x{0664}\x{0665}\x{0666}\x{0667}\x{0668}\x{0669}] .
( $mode == 0
? q [\x{0671}]
: q [\x{0627}] ) .
@@ -230,7 +232,7 @@
? ''
: q [\x{0651}] . ( $mode == 2
? ''
- : q [\x{064B}-\x{0650}\x{0670}] . ( $mode == 3
+ : q [\x{064B}\x{064C}\x{064D}\x{064E}\x{064F}\x{0650}\x{0670}] . ( $mode == 3
? ''
: q [\x{0652}] ) ) )
@@ -244,7 +246,7 @@
sub decoder ($) {
$_[0] =~ tr[/ . $set[0] . q /]
- [/ . $set[1] . q /]d;
+ [/ . $set[1] . q /]/ . (($kshd or $mode > 0) ? 'd' : '') . q /;
return $_[0];
}
Index: b/lib/Encode/Arabic/Parkinson.pm
===================================================================
--- a/lib/Encode/Arabic/Parkinson.pm
+++ b/lib/Encode/Arabic/Parkinson.pm
@@ -211,8 +211,10 @@
: q [\x{0640}] ) .
q [\x{0623}\x{0624}\x{0625}] .
q [\x{060C}\x{061B}\x{061F}] .
- q [\x{0621}\x{0622}\x{0626}-\x{063A}\x{0641}-\x{064A}] .
- q [\x{0660}-\x{0669}] .
+ q [\x{0621}\x{0622}\x{0626}\x{0627}\x{0628}\x{0629}\x{062A}\x{062B}\x{062C}\x{062D}\x{062E}] .
+ q [\x{062F}\x{0630}\x{0631}\x{0632}\x{0633}\x{0634}\x{0635}\x{0636}\x{0637}\x{0638}\x{0639}] .
+ q [\x{063A}\x{0641}\x{0642}\x{0643}\x{0644}\x{0645}\x{0646}\x{0647}\x{0648}\x{0649}\x{064A}] .
+ q [\x{0660}\x{0661}\x{0662}\x{0663}\x{0664}\x{0665}\x{0666}\x{0667}\x{0668}\x{0669}] .
( $mode == 0
? q [\x{0671}]
: q [\x{0627}] ) .
@@ -220,7 +222,7 @@
? ''
: q [\x{0651}] . ( $mode == 2
? ''
- : q [\x{064B}-\x{0650}\x{0670}] . ( $mode == 3
+ : q [\x{064B}\x{064C}\x{064D}\x{064E}\x{064F}\x{0650}\x{0670}] . ( $mode == 3
? ''
: q [\x{0652}] ) ) )
@@ -234,7 +236,7 @@
sub decoder ($) {
$_[0] =~ tr[/ . $set[0] . q /]
- [/ . $set[1] . q /]d;
+ [/ . $set[1] . q /]/ . (($kshd or $mode > 0) ? 'd' : '') . q /;
return $_[0];
}
Subject: | unescaped_left_brace.patch |
Description: fix "Unescaped left brace in regex is deprecated, passed through in regex" warning
Origin: vendor
Bug-Debian: https://bugs.debian.org/809094
Author: gregor herrmann <gregoa@debian.org>
Last-Update: 2015-12-28
--- a/lib/Encode/Arabic/ArabTeX/RE.pm
+++ b/lib/Encode/Arabic/ArabTeX/RE.pm
@@ -60,67 +60,67 @@
$text = join '', map { exists $encode_used{$_} ? $encode_used{$_} : $_ } split '', $text;
- $text =~ s/([\_\.\^]?\w)\\shadda{}/$1$1/g;
- $text =~ s/(\\ham{.})\\shadda{}/$1$1/g;
+ $text =~ s/([\_\.\^]?\w)\\shadda\{\}/$1$1/g;
+ $text =~ s/(\\ham\{.\})\\shadda\{\}/$1$1/g;
- $text =~ s/([\=\s\-\%])\\alif{}\\vow{a}l/$1"al-/g;
- $text =~ s/([\=\s\-\%])\\alif{}l/$1al-/g;
- $text =~ s/(b\\vow{i})\\alif{}l/$1-al-/g;
- $text =~ s/([\=\s\-\%])\\alif{}\\vow{([ui])}/$1"$2/g;
- $text =~ s/([\=\s\-\%])\\alif{}/$1i/g;
- $text =~ s/(\\vow{aN})\\alif{}/$1/g;
- $text =~ s/\\alif{}(\\vow{aN})/$1/g;
- $text =~ s/\\vow{a}\\alif{}/\\vow{A}/g;
- $text =~ s/\\alif{}/\\aux{A}/g;
-
- $text =~ s/\\madda{}/'A/g;
-
- $text =~ s/\\vow{a}\\maq{}/\\vow{Y}/g;
- $text =~ s/\\maq{}(\\vow{aN})/\\vow{aNY}/g;
- $text =~ s/\\vow{aN}\\maq{}/\\vow{aNY}/g;
- $text =~ s/\\maq{}/\\aux{Y}/g;
+ $text =~ s/([\=\s\-\%])\\alif\{\}\\vow\{a\}l/$1"al-/g;
+ $text =~ s/([\=\s\-\%])\\alif\{\}l/$1al-/g;
+ $text =~ s/(b\\vow\{i\})\\alif\{\}l/$1-al-/g;
+ $text =~ s/([\=\s\-\%])\\alif\{\}\\vow\{([ui])\}/$1"$2/g;
+ $text =~ s/([\=\s\-\%])\\alif\{\}/$1i/g;
+ $text =~ s/(\\vow\{aN\})\\alif\{\}/$1/g;
+ $text =~ s/\\alif\{\}(\\vow\{aN\})/$1/g;
+ $text =~ s/\\vow\{a\}\\alif\{\}/\\vow{A}/g;
+ $text =~ s/\\alif\{\}/\\aux{A}/g;
+
+ $text =~ s/\\madda\{\}/'A/g;
+
+ $text =~ s/\\vow\{a\}\\maq\{\}/\\vow{Y}/g;
+ $text =~ s/\\maq\{\}(\\vow\{aN\})/\\vow{aNY}/g;
+ $text =~ s/\\vow\{aN\}\\maq\{\}/\\vow{aNY}/g;
+ $text =~ s/\\maq\{\}/\\aux{Y}/g;
$text =~ s/i(}?)y([^aiuAIUY])/I$1$2/g; # produces \ham{I}, too
$text =~ s/u(}?)w([^aiuAIUY])/U$1$2/g;
- $text =~ s/([iIuU]})(\\ham{a})/$1-$2/g;
- $text =~ s/([\-\s])\\ham{a}([^\\])/$1'\\aux{a}$2/g;
- $text =~ s/([^\}\s])\\ham{a}/$1\\aux{a}'/g;
+ $text =~ s/([iIuU]})(\\ham\{a\})/$1-$2/g;
+ $text =~ s/([\-\s])\\ham\{a\}([^\\])/$1'\\aux{a}$2/g;
+ $text =~ s/([^\}\s])\\ham\{a\}/$1\\aux{a}'/g;
- $text =~ s/([^\-\s])(\\ham{i})/$1-$2/g;
- $text =~ s/\\ham{i}([^\\])/'\\aux{i}$1/g;
+ $text =~ s/([^\-\s])(\\ham\{i\})/$1-$2/g;
+ $text =~ s/\\ham\{i\}([^\\])/'\\aux{i}$1/g;
- $text =~ s/([^\}])(\\ham{w})/$1\\aux{u}$2/g;
- $text =~ s/(\\ham{w})([^\\])/$1\\aux{u}$2/g;
+ $text =~ s/([^\}])(\\ham\{w\})/$1\\aux{u}$2/g;
+ $text =~ s/(\\ham\{w\})([^\\])/$1\\aux{u}$2/g;
- $text =~ s/([^\}])(\\ham{y})/$1\\aux{i}$2/g;
- $text =~ s/(\\ham{y})([^\\])/$1\\aux{i}$2/g;
+ $text =~ s/([^\}])(\\ham\{y\})/$1\\aux{i}$2/g;
+ $text =~ s/(\\ham\{y\})([^\\])/$1\\aux{i}$2/g;
- $text =~ s/\\ham{[aiwy]}/'/g;
- $text =~ s/\\ham{I}/'I/g;
+ $text =~ s/\\ham\{[aiwy]\}/'/g;
+ $text =~ s/\\ham\{I\}/'I/g;
- $text =~ s/(?<![^\=\s\-\%])\\aux{A}/\\aux{i}/g;
+ $text =~ s/(?<![^\=\s\-\%])\\aux\{A\}/\\aux{i}/g;
no strict 'refs';
if (defined ${ $cls . '::enmode' } and ${ $cls . '::enmode' } == 3) {
- $text =~ s/\\vow{(.+?)}/$1/g;
- $text =~ s/\\aux{(.+?)}/"$1/g;
- $text =~ s/\\sukun{}/"/g;
+ $text =~ s/\\vow\{(.+?)\}/$1/g;
+ $text =~ s/\\aux\{(.+?)\}/"$1/g;
+ $text =~ s/\\sukun\{\}/"/g;
}
elsif (defined ${ $cls . '::enmode' } and ${ $cls . '::enmode' } == 2) {
- $text =~ s/\\vow{(.+?)}/"$1/g;
- $text =~ s/\\aux{(.+?)}/$1/g;
- $text =~ s/\\sukun{}/"/g;
+ $text =~ s/\\vow\{(.+?)\}/"$1/g;
+ $text =~ s/\\aux\{(.+?)\}/$1/g;
+ $text =~ s/\\sukun\{\}/"/g;
}
elsif (defined ${ $cls . '::enmode' } and ${ $cls . '::enmode' } == 4) {
- $text =~ s/\\vow{(.+?)}/$1/g;
- $text =~ s/\\aux{(.+?)}/$1/g;
- $text =~ s/\\sukun{}//g;
+ $text =~ s/\\vow\{(.+?)\}/$1/g;
+ $text =~ s/\\aux\{(.+?)\}/$1/g;
+ $text =~ s/\\sukun\{\}//g;
}
$text = Encode::encode "utf8", $text if Encode::is_utf8($text);
@@ -157,19 +157,19 @@
$text =~ s/([\s\-])'([iI])/$1\\H{i}$2/gs;
$text =~ s/([\s\-])'A/$1\\M{}/gs;
- $text =~ s/(I|y\\O{})'(aN[AY]?[\s\-])/$1\\H{y}$2/gs;
- $text =~ s/a'(|\\D{})(|[au]N?)([\s\-])/a\\H{a}$1$2$3/gs;
- $text =~ s/a'(|\\D{})(iN?)([\s\-])/a\\H{i}$1$2$3/gs;
- $text =~ s/i'(|\\D{})(|[aiu]N?)([\s\-])/i\\H{y}$1$2$3/gs;
- $text =~ s/u'(|\\D{})(|[aiu]N?)([\s\-])/u\\H{w}$1$2$3/gs;
- $text =~ s/'(|\\D{})(|[aiu]N?)([\s\-])/\\H{}$1$2$3/gs;
-
- $text =~ s/([iI]|y\\O{})'(|\\D{})/$1\\H{y}$2/g;
- $text =~ s/'(|\\D{})([iI])/\\H{y}$1$2/g;
- $text =~ s/([uU])'(|\\D{})/$1\\H{w}$2/g;
- $text =~ s/'(|\\D{})([uU])/\\H{w}$1$2/g;
- $text =~ s/A'(|\\D{})/A\\H{}$1/g; # how do you write <rA''AsuN>?
- $text =~ s/a'(\\D{})/a\\H{a}$1/g; # how do you write <ra''AsuN>?
+ $text =~ s/(I|y\\O\{\})'(aN[AY]?[\s\-])/$1\\H{y}$2/gs;
+ $text =~ s/a'(|\\D\{\})(|[au]N?)([\s\-])/a\\H{a}$1$2$3/gs;
+ $text =~ s/a'(|\\D\{\})(iN?)([\s\-])/a\\H{i}$1$2$3/gs;
+ $text =~ s/i'(|\\D\{\})(|[aiu]N?)([\s\-])/i\\H{y}$1$2$3/gs;
+ $text =~ s/u'(|\\D\{\})(|[aiu]N?)([\s\-])/u\\H{w}$1$2$3/gs;
+ $text =~ s/'(|\\D\{\})(|[aiu]N?)([\s\-])/\\H{}$1$2$3/gs;
+
+ $text =~ s/([iI]|y\\O\{\})'(|\\D\{\})/$1\\H{y}$2/g;
+ $text =~ s/'(|\\D\{\})([iI])/\\H{y}$1$2/g;
+ $text =~ s/([uU])'(|\\D\{\})/$1\\H{w}$2/g;
+ $text =~ s/'(|\\D\{\})([uU])/\\H{w}$1$2/g;
+ $text =~ s/A'(|\\D\{\})/A\\H{}$1/g; # how do you write <rA''AsuN>?
+ $text =~ s/a'(\\D\{\})/a\\H{a}$1/g; # how do you write <ra''AsuN>?
$text =~ s/'A/\\M{}/g;
$text =~ s/'a/\\H{a}a/g;
$text =~ s/'Y/\\H{a}Y/g;
@@ -181,7 +181,7 @@
# alas! using $one in the replacing expression produces extra \\
$text =~ s/aNY/\\V{aN}\\Q{}/g;
- $text =~ s/(?<=A\\H{}|\\H{a})aN/\\V{aN}/g;
+ $text =~ s/(?<=A\\H\{\}|\\H\{a\})aN/\\V{aN}/g;
$text =~ s/(?<=T)aN/\\V{aN}/g;
$text =~ s/(?<!{)aNA?/\\V{aN}\\L{}/g;