summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lib/charnames.pm4
-rw-r--r--lib/charnames.t4
2 files changed, 6 insertions, 2 deletions
diff --git a/lib/charnames.pm b/lib/charnames.pm
index 23c53b7b19..020ab7ce61 100644
--- a/lib/charnames.pm
+++ b/lib/charnames.pm
@@ -2,7 +2,7 @@ package charnames;
use strict;
use warnings;
use File::Spec;
-our $VERSION = '1.19';
+our $VERSION = '1.21';
use bytes (); # for $bytes::hint_bits
@@ -803,7 +803,7 @@ sub import
# as tested for in
# lookup_names
$^H{charnames_short} = delete $h{':short'} || 0;
- my @scripts = map uc, keys %h;
+ my @scripts = map { uc quotemeta } keys %h;
##
## If utf8? warnings are enabled, and some scripts were given,
diff --git a/lib/charnames.t b/lib/charnames.t
index 443738a7cc..dc6487af9d 100644
--- a/lib/charnames.t
+++ b/lib/charnames.t
@@ -700,6 +700,10 @@ is("\N{U+1D0C5}", "\N{BYZANTINE MUSICAL SYMBOL FTHORA SKLIRON CHROMA VASIS}");
is($res, "foo-foo-1--2-3");
}
+{ use charnames qw(.*);
+ ok (! defined charnames::vianame("a"), "Verify that metachars in script names get quoted");
+}
+
{
# Test scoping. Outer block sets up some things; inner blocks
# override them, and then see if get restored.