URI: 
       tClean up diacritic handling - transliterate - Transliteration engine
  HTML git clone git://lumidify.org/transliterate.git
   DIR Log
   DIR Files
   DIR Refs
   DIR README
   DIR LICENSE
       ---
   DIR commit 8798eb993523df956ad8b76f2ce500bbbe65870a
   DIR parent 229f872be7b4a68a74d1c9924845438968190809
  HTML Author: lumidify <nobody@lumidify.org>
       Date:   Tue, 31 Mar 2020 20:05:47 +0200
       
       Clean up diacritic handling
       
       Diffstat:
         M tests/data/words1.txt               |       1 -
         M tests/test1/config                  |       2 +-
         M tests/test1/err.txt                 |       3 +--
         M tests/test5/input.txt               |       1 +
         M transliterate.pl                    |      71 ++++++++++---------------------
       
       5 files changed, 25 insertions(+), 53 deletions(-)
       ---
   DIR diff --git a/tests/data/words1.txt b/tests/data/words1.txt
       t@@ -8,4 +8,3 @@ word6,word6_replaced
        word7,word7_replaced
        word8,word8_replaced
        word9,word9_replaced
       -wörd0,word0_replaced|word0_replaced2
   DIR diff --git a/tests/test1/config b/tests/test1/config
       t@@ -1,4 +1,4 @@
       -split "[ \n]"
       +split "[ \n]+"
        beforeword " "
        afterword "[ \n]"
        
   DIR diff --git a/tests/test1/err.txt b/tests/test1/err.txt
       t@@ -1,5 +1,4 @@
       -Unknown word: "word20"
       -Unknown word: "word01231"
       +Unknown word: "word20 word01231"
        Word "word0_replaced$word0_replaced2" with 2 word choices.
        Unknown word: "aword1"
        Unknown word: "end3"
   DIR diff --git a/tests/test5/input.txt b/tests/test5/input.txt
       t@@ -1,3 +1,4 @@
        ignore
        wörd0 wörd0  word1end1
       +wörd1end1
        -dword9end2 word9end2-d
   DIR diff --git a/transliterate.pl b/transliterate.pl
       t@@ -157,7 +157,7 @@ sub prompt_unknown_word {
                                $action = ["ignore", "permanent", $word];
                                $window->destroy;
                        }, $window);
       -        $hbox->pack_start($button, FALSE, FALSE, 0);
       +        $hbox->pack_start($button, FALSE, FALSE, 5);
                $button->show;
                $vbox->pack_start($hbox, FALSE, FALSE, 10);
                $hbox->show;
       t@@ -166,50 +166,11 @@ sub prompt_unknown_word {
                # Take note, kids - this is what happens when you keep adding
                # features without rethinking your basic design.
        
       -        # declare this here so it can already be used
       -        my $path_list;
       -        if (exists $config->{"diacritics"}) {
       -                $hbox = Gtk2::HBox->new(FALSE, 0);
       -                my $orig_entry;
       -                my $repl_entry;
       -                my $accept_button = Gtk2::Button->new("Add to table");
       -                $accept_button->signal_connect(
       -                        clicked => sub {
       -                                if ($path_list->get_active != -1) {
       -                                        $action = ["add", $orig_entry->get_text, $repl_entry->get_text, $path_list->get_active_text];
       -                                        $window->destroy;
       -                                }
       -                        }, $window);
       -                $button = Gtk2::Button->new("Retry without diacritics");
       -                $button->signal_connect(
       -                        clicked => sub {
       -                                my $stripped = replace_strip_diacritics($config, $word);
       -                                my $repl_text = "";
       -                                foreach (@$stripped) {
       -                                        $repl_text .= $_->[1];
       -                                }
       -                                $repl_entry->set_text($repl_text);
       -                                $orig_entry->set_text($word);
       -                                $repl_entry->show;
       -                                $orig_entry->show;
       -                                $accept_button->show;
       -                        }, $window);
       -                $hbox->pack_start($button, FALSE, FALSE, 0);
       -                $button->show;
       -                $hbox->pack_start($accept_button, FALSE, FALSE, 0);
       -                $orig_entry = Gtk2::Entry->new;
       -                $repl_entry = Gtk2::Entry->new;
       -                $hbox->pack_start($orig_entry, TRUE, TRUE, 10);
       -                $hbox->pack_start($repl_entry, TRUE, TRUE, 10);
       -                $vbox->pack_start($hbox, FALSE, FALSE, 0);
       -                $hbox->show;
       -        }
       -
                $hbox = Gtk2::HBox->new(FALSE, 0);
                $label = Gtk2::Label->new("Add to list: ");
                $hbox->pack_start($label, FALSE, FALSE, 0);
                $label->show;
       -        $path_list = Gtk2::ComboBox->new_text;
       +        my $path_list = Gtk2::ComboBox->new_text;
                foreach my $path (sort keys %{$config->{"display_tables"}}) {
                        $path_list->append_text($path);
                }
       t@@ -223,12 +184,27 @@ sub prompt_unknown_word {
                $hbox->pack_start($label, FALSE, FALSE, 0);
                $label->show;
                my $replace_entry = Gtk2::Entry->new;
       -        $hbox->pack_start($replace_entry, FALSE, FALSE, 0);
       +        $hbox->pack_start($replace_entry, TRUE, TRUE, 0);
                $replace_entry->show;
                $vbox->pack_start($hbox, FALSE, FALSE, 0);
                $hbox->show;
        
                $hbox = Gtk2::HBox->new(FALSE, 0);
       +        if (exists $config->{"diacritics"}) {
       +                $button = Gtk2::Button->new("Retry without diacritics");
       +                $button->signal_connect(
       +                        clicked => sub {
       +                                my $stripped = replace_strip_diacritics($config, $word);
       +                                my $repl_text = "";
       +                                foreach (@$stripped) {
       +                                        $repl_text .= $_->[1];
       +                                }
       +                                $replace_entry->set_text($repl_text);
       +                        }, $window);
       +                $hbox->pack_start($button, FALSE, FALSE, 0);
       +                $button->show;
       +        }
       +
                $button = Gtk2::Button->new("Add replacement");
                $button->signal_connect(
                        clicked => sub {
       t@@ -237,9 +213,9 @@ sub prompt_unknown_word {
                                        $window->destroy;
                                }
                        }, $window);
       -        $hbox->pack_start($button, FALSE, FALSE, 0);
       +        $hbox->pack_start($button, FALSE, FALSE, 5);
                $button->show;
       -        $vbox->pack_start($hbox, FALSE, FALSE, 0);
       +        $vbox->pack_start($hbox, FALSE, FALSE, 5);
                $hbox->show;
        
                $hbox = Gtk2::HBox->new(FALSE, 0);
       t@@ -251,17 +227,14 @@ sub prompt_unknown_word {
                        }, $window);
                $hbox->pack_start($button, FALSE, FALSE, 0);
                $button->show;
       -        $vbox->pack_start($hbox, FALSE, FALSE, 0);
       -        $hbox->show;
        
       -        $hbox = Gtk2::HBox->new(FALSE, 0);
                $button = Gtk2::Button->new("Reload config");
                $button->signal_connect(
                        clicked => sub {
                                $action = ["reload"];
                                $window->destroy;
                        }, $window);
       -        $hbox->pack_start($button, FALSE, FALSE, 0);
       +        $hbox->pack_start($button, FALSE, FALSE, 5);
                $button->show;
        
                if ($config_error) {
       t@@ -269,7 +242,7 @@ sub prompt_unknown_word {
                        $hbox->pack_start($label, FALSE, FALSE, 0);
                        $label->show;
                }
       -        $vbox->pack_start($hbox, FALSE, FALSE, 0);
       +        $vbox->pack_start($hbox, FALSE, FALSE, 5);
                $hbox->show;
        
                $window->add($vbox);