summaryrefslogtreecommitdiff
path: root/i18n-diff-auditor
diff options
context:
space:
mode:
Diffstat (limited to 'i18n-diff-auditor')
-rwxr-xr-xi18n-diff-auditor7
1 files changed, 4 insertions, 3 deletions
diff --git a/i18n-diff-auditor b/i18n-diff-auditor
index fbf5775..8084091 100755
--- a/i18n-diff-auditor
+++ b/i18n-diff-auditor
@@ -107,7 +107,8 @@ our ($ihunkhead, $ihunkend);
our ($ichunkstart, $ichunkend);
our ($before, $after);
-sub is_string ($) { $_[0]{T} =~ m/heredoc|string/; };
+sub is_string ($) { $_[0]{T} =~ m/heredoc|string/; }
+sub is_trans ($) { grep { $_[0]{E} eq $_ } qw(__ f_); }
sub semiparse ($) {
($_) = @_;
@@ -210,14 +211,14 @@ sub analyse_chunk_core () {
if ($y->{E} eq '+'
and @ys >= 3
and $ys[0]{E} eq '('
- and ($ys[1]{E} eq '__' or $ys[2]{E} eq 'f_')) {
+ and is_trans($ys[1])) {
$next_y->(); # (
$next_y->(); # __ f_
@y_expect_suffix = ')';
}
my $string_changed;
my $ye = $y->{E};
- if ($ye eq '__' or $ye eq 'f_') {
+ if (is_trans($y)) {
$next_y->();
die "__ on non-string $y->{P}\n" unless is_string($y);
die "__ on was non-string $y->{P}\n" unless is_string($x);