summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorKarl Williamson <khw@cpan.org>2020-02-03 13:44:44 -0700
committerKarl Williamson <khw@cpan.org>2020-02-03 16:34:55 -0700
commit3f844dc6388483e132bbfbcecd46774cdd62c055 (patch)
treec63a8ac6ac90016a3bb219f2daf9c78b4116d8d2 /lib
parent7b1d420218b4e0831d28cfae95511e20ff8c0eb1 (diff)
downloadperl-3f844dc6388483e132bbfbcecd46774cdd62c055.tar.gz
mktables: Add capability to override match directory
This is because this is still supposed to work on DOS 8.3 filesystems, and future commits will use non-Unicode-Character-Database tables which don't have shorter names.
Diffstat (limited to 'lib')
-rw-r--r--lib/unicore/mktables12
-rw-r--r--lib/unicore/uni_keywords.pl2
2 files changed, 12 insertions, 2 deletions
diff --git a/lib/unicore/mktables b/lib/unicore/mktables
index 4771510e09..edec4620e1 100644
--- a/lib/unicore/mktables
+++ b/lib/unicore/mktables
@@ -9094,6 +9094,13 @@ sub trace { return main::trace(@_) if main::DEBUG && $to_trace }
main::set_access('pre_declared_maps',
\%pre_declared_maps, 'r', 's');
+ my %match_subdir;
+ # For properties whose shortest names are too long for a DOS 8.3
+ # filesystem to distinguish between, this is used to manually give short
+ # names for the directory name immediately under $match_tables that the
+ # match tables for this property should be placed in.
+ main::set_access('match_subdir', \%match_subdir, 'r');
+
my %has_dependency;
# A boolean that gives whether some table somewhere is defined as the
# complement of a table in this property. This is a crude, but currently
@@ -9135,6 +9142,7 @@ sub trace { return main::trace(@_) if main::DEBUG && $to_trace }
# values should be defined for all
# properties, except those overriding this
// $v_version ge v5.1.0;
+ $match_subdir{$addr} = delete $args{'Match_SubDir'};
# Rest of parameters passed on.
@@ -18791,7 +18799,9 @@ sub write_all_tables() {
# Match tables for the property go in lib/$subdirectory, which is
# the property's name. Don't use the standard file name for this,
# as may get an unfamiliar alias
- @directory = ($matches_directory, $property->external_name);
+ @directory = ($matches_directory, ($property->match_subdir)
+ ? $property->match_subdir
+ : $property->external_name);
}
else {
diff --git a/lib/unicore/uni_keywords.pl b/lib/unicore/uni_keywords.pl
index 5ab3d91f6e..3aaf1c122b 100644
--- a/lib/unicore/uni_keywords.pl
+++ b/lib/unicore/uni_keywords.pl
@@ -1280,7 +1280,7 @@
# 0fea35394151afefbb4121b6380db1b480be6f9bafb4eba3382dc292dcf68526 lib/unicore/extracted/DLineBreak.txt
# 6d4a8c945dd7db83ed617cbb7d937de7f4ecf016ff22970d846e996a7c9a2a5d lib/unicore/extracted/DNumType.txt
# 5b7c14380d5cceeaffcfbc18db1ed936391d2af2d51f5a41f1a17b692c77e59b lib/unicore/extracted/DNumValues.txt
-# 5e2ebecdb96e100145cb697ccc4db04b28a36a9a5ac2ea09f238ebb78eac1fc6 lib/unicore/mktables
+# af51c5acca3285df71e7b969637ac1173765b17288baa563b74e7d4d2d078bc5 lib/unicore/mktables
# 50b85a67451145545a65cea370dab8d3444fbfe07e9c34cef560c5b7da9d3eef lib/unicore/version
# 2680b9254eb236c5c090f11b149605043e8c8433661b96efc4a42fb4709342a5 regen/charset_translations.pl
# 6bbad21de0848e0236b02f34f5fa0edd3cdae9ba8173cc9469a5513936b9e728 regen/mk_PL_charclass.pl