transliterate

Transliteration engine
git clone git://lumidify.org/transliterate.git
Log | Files | Refs | README | LICENSE

commit 263b01dcf4a4a0cefaf0c8647f1d81ed657e49f7
parent cfe056c927013689acb20a150d70d66655026dd4
Author: lumidify <nobody@lumidify.org>
Date:   Mon, 20 Apr 2020 14:41:51 +0200

Modify behavior of 'Ignore whole line'

Diffstat:
Mtransliterate.pl | 24+++++++++++++++---------
1 file changed, 15 insertions(+), 9 deletions(-)

diff --git a/transliterate.pl b/transliterate.pl @@ -1376,8 +1376,14 @@ sub get_unknown_words { my $word = $substrings->[$i]; if (!$word->[0] && !exists($config->{"ignore_words"}->{$word->[1]})) { my $ret = call_unknown_word_window $substrings, $i, $config, $args, $cur_lineno; - # 3 means we ignore the rest of the line - return 0 if $ret == 3; + # 3 means we ignore the line + if ($ret == 3) { + foreach my $s (@$substrings) { + # revert all changes done on the line + $s->[1] = $s->[2]; + } + return 0; + } # 1 means the line needs to be re-transliterated return 1 if $ret == 1; } @@ -1701,14 +1707,14 @@ The possible actions are: =item Ignore -"This run" only ignores the word until the program exist, while +"This run" only ignores the word until the program exits, while "Permanently" saves the word in the ignore file specified in the -configuration. "Whole file" stops asking for unknown words on -this line and prints the line out as is. Note that this still -leaves all replacements intact that have already been done. -If any words were replaced with multiple choices already, those -will also still cause the L<word choice window|/"WORD CHOICE WINDOW"> -to appear. +configuration. "Whole line" stops asking for unknown words on +this line and prints the line out as it originally was in the +file. Note that any words in the original line that contain +B<choicesep> will still cause the L<word choice window|/"WORD CHOICE WINDOW"> +to appear due to the way it is implemented. Just press "Skip word" +if that happens. =item Retry without <display name>