Craig A. Berry wrote:
At 12:05 PM -0500 9/29/07, John E. Malmberg wrote:

Ken Williams wrote:

On Sep 28, 2007, at 11:42 PM, Craig A. Berry wrote:


The code preceded by plus signs is actually the older code that is
not in blead and it was cut out intentionally.  I forget the exact
details but attempting to parse version numbers causes more problems
than it solves.

Yes, now I remember that we discussed this on the main list, but I also forget the details, but you did have some cases where the version number interfered with things.

diff -ur /Users/ken/Downloads/perl/bleadperl/lib/Module/Build/ Platform/VMS.pm 
lib/Module/Build/Platform/VMS.pm
--- /Users/ken/Downloads/perl/bleadperl/lib/Module/Build/Platform/ VMS.pm    
2007-09-28 23:43:35.000000000 -0500
+++ lib/Module/Build/Platform/VMS.pm    2007-09-28 20:51:56.000000000 -0500
@@ -195,9 +195,8 @@

 # Need to create with the same name as DynaLoader will load with.
 if (defined &DynaLoader::mod2fname) {
-    my $file = $$spec{module_name} . '.' . $self->{config}->get ('dlext');
-    $file =~ tr/:/_/;
-    $file = DynaLoader::mod2fname([$file]);
+    my $file = DynaLoader::mod2fname([$$spec{base_name}]);
+    $file .= '.' . $self->{config}->get('dlext');
   $$spec{lib_file} = File::Spec->catfile($$spec{archdir}, $file);
 }

Apparently mod2fname on VMS for deals with conversion of the ":".  This appears 
to be one of Craig's fixes.

So in this case mod2fname on VMS does not deal with the ':'. Should it really be fixed there, or does this case only apply to Module build.

@@ -220,36 +219,6 @@
 return $result;
}

-=item dist_dir
-
-Inherit the standard version but replace embedded dots with  underscores 
because
-a dot is the directory delimiter on VMS.
-
-=cut
-
-sub dist_dir {
-  my $self = shift;
-
-  my $dist_dir = $self->SUPER::dist_dir;
-  $dist_dir =~ s/\./_/g;
-  return $dist_dir;
-}

This is right for ODS-2 volumes, I think it will need to be fixed on ODS-5 as 
dots are allowed inside of directory specifications.


The fact that on ODS-5 you can have a dot in a directory name does
not mean that you should or that you have to.  Since dot is the
directory delimiter, that would be like having a slash in a directory
name on UNIX; probably possible with proper escaping, but gosh what a
pain.

As long as this is used to create a directory and not find an existing directory on VMS this should be fine.

An update to the comment may help prevent confusion in the future by me when I forget this.

-John
[EMAIL PROTECTED]
Personal Opinion Only

Reply via email to