From 5ca74088ba0ec206aa7e758c7143f8d7e4526a9f Mon Sep 17 00:00:00 2001 From: "Craig A. Berry" Date: Sun, 11 Nov 2012 08:55:41 -0600 Subject: Preserve filename case on VMS. VMS systems of the last decade or so have the ability, when operating on an ODS-5 volume, to preserve filename case. In order for CRTL calls to make use of this capability, the feature setting DECC$EFS_CASE_PRESERVE must be explicitly enabled. We now do that for Perl at start-up time, which depends on latent support that has been in the core since 5.10 but not quite working until recently. Note that case preservation of command-line arguments is not included in this feature. That's a different setting and is not entirely under Perl's control as the command line is parsed by DCL before the CRTL sees it. --- vms/vms.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'vms') diff --git a/vms/vms.c b/vms/vms.c index 10e3f794b4..d88f167ecf 100644 --- a/vms/vms.c +++ b/vms/vms.c @@ -13984,13 +13984,12 @@ vmsperl_set_features(void) vms_unlink_all_versions = 0; } - /* Dectect running under GNV Bash or other UNIX like shell */ #if __CRTL_VER >= 70300000 && !defined(__VAX) + /* Detect running under GNV Bash or other UNIX like shell */ gnv_unix_shell = 0; status = simple_trnlnm("GNV$UNIX_SHELL", val_str, sizeof(val_str)); if ($VMS_STATUS_SUCCESS(status)) { gnv_unix_shell = 1; - set_feature_default("DECC$EFS_CASE_PRESERVE", 1); set_feature_default("DECC$EFS_CHARSET", 1); set_feature_default("DECC$FILENAME_UNIX_NO_VERSION", 1); set_feature_default("DECC$FILENAME_UNIX_REPORT", 1); @@ -13999,6 +13998,8 @@ vmsperl_set_features(void) vms_unlink_all_versions = 1; vms_posix_exit = 1; } + /* Some reasonable defaults that are not CRTL defaults */ + set_feature_default("DECC$EFS_CASE_PRESERVE", 1); #endif /* hacks to see if known bugs are still present for testing */ -- cgit v1.2.1