From 7849f4c450e3d40210a6372747c956993703a871 Mon Sep 17 00:00:00 2001 From: Peter Karman Date: Fri, 15 Aug 2014 11:11:01 -0500 Subject: [PATCH] warn and skip undefined transliteration mappings --- Changes | 3 +++ lib/Search/Tools.pm | 2 +- lib/Search/Tools/ArgNormalizer.pm | 2 +- lib/Search/Tools/HeatMap.pm | 2 +- lib/Search/Tools/HiLiter.pm | 2 +- lib/Search/Tools/Object.pm | 2 +- lib/Search/Tools/Query.pm | 2 +- lib/Search/Tools/QueryParser.pm | 2 +- lib/Search/Tools/RegEx.pm | 2 +- lib/Search/Tools/Snipper.pm | 2 +- lib/Search/Tools/SpellCheck.pm | 2 +- lib/Search/Tools/Token.pm | 2 +- lib/Search/Tools/TokenList.pm | 2 +- lib/Search/Tools/TokenListPP.pm | 2 +- lib/Search/Tools/TokenListUtils.pm | 2 +- lib/Search/Tools/TokenPP.pm | 2 +- lib/Search/Tools/Tokenizer.pm | 2 +- lib/Search/Tools/Transliterate.pm | 6 +++++- lib/Search/Tools/UTF8.pm | 2 +- lib/Search/Tools/XML.pm | 2 +- 20 files changed, 26 insertions(+), 19 deletions(-) diff --git a/Changes b/Changes index 0cfeda7..61f384d 100644 --- a/Changes +++ b/Changes @@ -1,5 +1,8 @@ Revision history for Perl extension Search::HiLiter. +1.002 xxx + - warn and skip undefined transliteration mappings + 1.001 23 July 2014 - zap use of File::Slurp in tests - small optimization to to_utf8() to privilege is_ascii() over diff --git a/lib/Search/Tools.pm b/lib/Search/Tools.pm index 01cd243..5124a67 100644 --- a/lib/Search/Tools.pm +++ b/lib/Search/Tools.pm @@ -6,7 +6,7 @@ use Carp; use Scalar::Util qw( openhandle ); use File::Basename; -our $VERSION = '1.001'; +our $VERSION = '1.002'; use XSLoader; XSLoader::load( 'Search::Tools', $VERSION ); diff --git a/lib/Search/Tools/ArgNormalizer.pm b/lib/Search/Tools/ArgNormalizer.pm index f8848b5..a89619b 100644 --- a/lib/Search/Tools/ArgNormalizer.pm +++ b/lib/Search/Tools/ArgNormalizer.pm @@ -4,7 +4,7 @@ use Carp; use Scalar::Util qw( blessed ); use Data::Dump qw( dump ); -our $VERSION = '1.001'; +our $VERSION = '1.002'; sub BUILDARGS { my $self = shift; diff --git a/lib/Search/Tools/HeatMap.pm b/lib/Search/Tools/HeatMap.pm index e75ccc8..42300a7 100644 --- a/lib/Search/Tools/HeatMap.pm +++ b/lib/Search/Tools/HeatMap.pm @@ -6,7 +6,7 @@ extends 'Search::Tools::Object'; use namespace::sweep; -our $VERSION = '1.001'; +our $VERSION = '1.002'; # debugging only my $OPEN = '['; diff --git a/lib/Search/Tools/HiLiter.pm b/lib/Search/Tools/HiLiter.pm index da159f3..117311f 100644 --- a/lib/Search/Tools/HiLiter.pm +++ b/lib/Search/Tools/HiLiter.pm @@ -10,7 +10,7 @@ use Data::Dump qw( dump ); use namespace::sweep; -our $VERSION = '1.001'; +our $VERSION = '1.002'; my $XML = Search::Tools::XML->new; diff --git a/lib/Search/Tools/Object.pm b/lib/Search/Tools/Object.pm index cdc2aa4..1f34cd3 100644 --- a/lib/Search/Tools/Object.pm +++ b/lib/Search/Tools/Object.pm @@ -11,7 +11,7 @@ has 'debug' => ( } ); -our $VERSION = '1.001'; +our $VERSION = '1.002'; 1; diff --git a/lib/Search/Tools/Query.pm b/lib/Search/Tools/Query.pm index d86405d..f9a251b 100644 --- a/lib/Search/Tools/Query.pm +++ b/lib/Search/Tools/Query.pm @@ -14,7 +14,7 @@ use Search::Tools::XML; use namespace::sweep; -our $VERSION = '1.001'; +our $VERSION = '1.002'; has 'terms' => ( is => 'ro' ); has 'fields' => ( is => 'ro' ); diff --git a/lib/Search/Tools/QueryParser.pm b/lib/Search/Tools/QueryParser.pm index 435de89..b163b8a 100644 --- a/lib/Search/Tools/QueryParser.pm +++ b/lib/Search/Tools/QueryParser.pm @@ -13,7 +13,7 @@ use Search::Tools::RegEx; use namespace::sweep; -our $VERSION = '1.001'; +our $VERSION = '1.002'; my $XML = Search::Tools::XML->new(); my $C2E = $XML->char2ent_map; diff --git a/lib/Search/Tools/RegEx.pm b/lib/Search/Tools/RegEx.pm index 85a754a..df30010 100644 --- a/lib/Search/Tools/RegEx.pm +++ b/lib/Search/Tools/RegEx.pm @@ -11,7 +11,7 @@ use overload use namespace::sweep; -our $VERSION = '1.001'; +our $VERSION = '1.002'; my @ro_attrs = qw( plain diff --git a/lib/Search/Tools/Snipper.pm b/lib/Search/Tools/Snipper.pm index 2e42bff..29515c3 100644 --- a/lib/Search/Tools/Snipper.pm +++ b/lib/Search/Tools/Snipper.pm @@ -11,7 +11,7 @@ use Search::Tools::HeatMap; use namespace::sweep; -our $VERSION = '1.001'; +our $VERSION = '1.002'; # extra space here so pmvers works against $VERSION our $ellip = ' ... '; diff --git a/lib/Search/Tools/SpellCheck.pm b/lib/Search/Tools/SpellCheck.pm index a3c90bd..d7302b2 100644 --- a/lib/Search/Tools/SpellCheck.pm +++ b/lib/Search/Tools/SpellCheck.pm @@ -5,7 +5,7 @@ extends 'Search::Tools::Object'; use Text::Aspell; use Search::Tools::QueryParser; -our $VERSION = '1.001'; +our $VERSION = '1.002'; has 'query_parser' => ( is => 'rw', default => sub { Search::Tools::QueryParser->new() } ); diff --git a/lib/Search/Tools/Token.pm b/lib/Search/Tools/Token.pm index aa6df82..bfaff52 100644 --- a/lib/Search/Tools/Token.pm +++ b/lib/Search/Tools/Token.pm @@ -7,7 +7,7 @@ use overload use Search::Tools; # XS required -our $VERSION = '1.001'; +our $VERSION = '1.002'; 1; diff --git a/lib/Search/Tools/TokenList.pm b/lib/Search/Tools/TokenList.pm index d91dd32..433d5c9 100644 --- a/lib/Search/Tools/TokenList.pm +++ b/lib/Search/Tools/TokenList.pm @@ -11,7 +11,7 @@ use Carp; use namespace::sweep; -our $VERSION = '1.001'; +our $VERSION = '1.002'; 1; diff --git a/lib/Search/Tools/TokenListPP.pm b/lib/Search/Tools/TokenListPP.pm index a267a01..a6607b1 100644 --- a/lib/Search/Tools/TokenListPP.pm +++ b/lib/Search/Tools/TokenListPP.pm @@ -8,7 +8,7 @@ use overload use Carp; with 'Search::Tools::TokenListUtils'; -our $VERSION = '1.001'; +our $VERSION = '1.002'; has 'pos' => ( is => 'rw' ); has 'num' => ( is => 'rw' ); diff --git a/lib/Search/Tools/TokenListUtils.pm b/lib/Search/Tools/TokenListUtils.pm index 06db592..5546baf 100644 --- a/lib/Search/Tools/TokenListUtils.pm +++ b/lib/Search/Tools/TokenListUtils.pm @@ -2,7 +2,7 @@ package Search::Tools::TokenListUtils; use Moo::Role; use Carp; -our $VERSION = '1.001'; +our $VERSION = '1.002'; =head1 NAME diff --git a/lib/Search/Tools/TokenPP.pm b/lib/Search/Tools/TokenPP.pm index 23e068d..315c846 100644 --- a/lib/Search/Tools/TokenPP.pm +++ b/lib/Search/Tools/TokenPP.pm @@ -9,7 +9,7 @@ use overload use namespace::sweep; -our $VERSION = '1.001'; +our $VERSION = '1.002'; my @attrs = qw( is_match is_hot pos str len u8len is_sentence_start is_sentence_end ); diff --git a/lib/Search/Tools/Tokenizer.pm b/lib/Search/Tools/Tokenizer.pm index 2624744..eef1299 100644 --- a/lib/Search/Tools/Tokenizer.pm +++ b/lib/Search/Tools/Tokenizer.pm @@ -7,7 +7,7 @@ use Search::Tools::TokenList; use Search::Tools::UTF8; use Carp; -our $VERSION = '1.001'; +our $VERSION = '1.002'; has 're' => ( is => 'rw', default => sub {qr/\w+(?:[\'\-\.]\w+)*/} ); diff --git a/lib/Search/Tools/Transliterate.pm b/lib/Search/Tools/Transliterate.pm index 88732b7..43390f6 100644 --- a/lib/Search/Tools/Transliterate.pm +++ b/lib/Search/Tools/Transliterate.pm @@ -10,7 +10,7 @@ use Data::Dump qw( dump ); has 'ebit' => ( is => 'rw', default => sub {1} ); has 'map' => ( is => 'ro' ); -our $VERSION = '1.001'; +our $VERSION = '1.002'; =pod @@ -175,6 +175,10 @@ sub _init_map { while () { chomp; my ( $from, $to ) = (m/^()\ (.+)$/); + if ( !defined $to ) { + warn "Undefined mapping for $_\n"; + next; + } my @o = split( /;/, $to ); $MAP{ _Utag_to_chr($from) } = _Utag_to_chr( $o[0] ); } diff --git a/lib/Search/Tools/UTF8.pm b/lib/Search/Tools/UTF8.pm index aceee0e..9b589ae 100644 --- a/lib/Search/Tools/UTF8.pm +++ b/lib/Search/Tools/UTF8.pm @@ -27,7 +27,7 @@ our @EXPORT = qw( our $Debug = ( $ENV{PERL_DEBUG} && $ENV{PERL_DEBUG} > 2 ) ? 1 : 0; -our $VERSION = '1.001'; +our $VERSION = '1.002'; sub to_utf8 { my $str = shift; diff --git a/lib/Search/Tools/XML.pm b/lib/Search/Tools/XML.pm index f84b6c9..18090ba 100644 --- a/lib/Search/Tools/XML.pm +++ b/lib/Search/Tools/XML.pm @@ -6,7 +6,7 @@ use Search::Tools::UTF8; use namespace::sweep; -our $VERSION = '1.001'; +our $VERSION = '1.002'; =pod