summaryrefslogtreecommitdiff
path: root/i18n-diff-auditor
diff options
context:
space:
mode:
authorIan Jackson <ijackson@chiark.greenend.org.uk>2018-09-30 23:38:29 +0100
committerIan Jackson <ijackson@chiark.greenend.org.uk>2018-10-01 00:54:38 +0100
commit334750d1a92573ad4ed3817c60b15b20da0fa83b (patch)
tree7636ecabad248eb6d8412a90427b655a77c348f7 /i18n-diff-auditor
parentf64fea4c6110991979cc1bbaaabca7fc425be072 (diff)
i18n: i18n-diff-auditor: introduce is_trans (nfc)
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
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);