summaryrefslogtreecommitdiff
path: root/ext/VMS-Filespec
diff options
context:
space:
mode:
authorCraig A. Berry <craigberry@mac.com>2014-03-06 18:39:18 -0600
committerCraig A. Berry <craigberry@mac.com>2014-03-06 18:39:18 -0600
commitd5e61aaf9d7051b13636e9a4002cf6b4a47f6d78 (patch)
tree8f4424c922f758c1e412c53866a0a8702714804a /ext/VMS-Filespec
parentde29d7249495cfea30847f736f3c068ce6844596 (diff)
downloadperl-d5e61aaf9d7051b13636e9a4002cf6b4a47f6d78.tar.gz
Smarter handling of escaped semicolons in vmsify.
In theory, a Unix-format filespec can contain a semicolon and thus need to be escaped when converted to a VMS-format filespec. But a much more common use case is a filespec that has a version number despite being in Unix format. So detect a semicolon that delimits a version specification and pass it through but escape other semicolons. This is apparently what decc$to_vms does, so we're being consistent with the CRTL.
Diffstat (limited to 'ext/VMS-Filespec')
-rw-r--r--ext/VMS-Filespec/t/filespec.t2
1 files changed, 2 insertions, 0 deletions
diff --git a/ext/VMS-Filespec/t/filespec.t b/ext/VMS-Filespec/t/filespec.t
index 2c7a5b5a8b..c14ce99c8a 100644
--- a/ext/VMS-Filespec/t/filespec.t
+++ b/ext/VMS-Filespec/t/filespec.t
@@ -115,6 +115,8 @@ __some_/../../__where_/__over_/__the_.__rainbow_ vmsify [.__some_.--.__wh
.../__some_/__where_/__over_/__the_.__rainbow_ vmsify [...__some_.__where_.__over_]__the_.__rainbow_ ^
__some_/.../__where_/__over_/__the_.__rainbow_ vmsify [.__some_...__where_.__over_]__the_.__rainbow_ ^
/__some_/.../__where_/__over_/__the_.__rainbow_ vmsify __some_:[...__where_.__over_]__the_.__rainbow_ ^
+__some_/__where_.DIR;1 vmsify [.__some_]__where_.DIR;1 ^
+__some_/_;_where_.DIR;1 vmsify [.__some_]_^;_where_.DIR;1 ^
__some_/__where_/... vmsify [.__some_.__where_...] ^
/__where_/... vmsify __where_:[...] ^
. vmsify [] ^