Craig A. Berry wrote:
On Wed, Nov 12, 2008 at 10:13 PM, Michael G Schwern <[EMAIL PROTECTED]> wrote:
John E. Malmberg wrote:

Putting a print STDERR statement shows that is not the case, that the
methods of those names contained in File::Spec::VMS are used unless they
are called by MM_VMS.
The internal calls to eliminate_macros() and fixpath() should simply be
removed from File::Spec::VMS.  They're only used to deal with make macros, its
a very MakeMaker specific thing.

They were left in place so that new versions of File::Spec would continue to
work with older (pre 6.11 which is from perl 5.8.0 and older) versions of
MakeMaker.  That was five and a half years ago.  It's safe to remove them.

Whether it's safe or not it's certainly worth a try.  There are a
*lot* more tests now for MM, File::Spec, and all the core modules that
use File::Spec than there were five and half years ago, so if removing
these breaks something I think we'd know pretty quickly.

I am not planning on removing those routines for the default mode of VMS, but will not be using them when the DECC$EFS_CHARSET mode is enabled.

In addition to eliminating macros, they can change the file specification, and existing scripts ported to VMS may expect this file spec change.

My goal with the EFS_CHARSET and REPORT_UNIX modes is to be able to run generic Perl scripts with out having to modify them specifically for VMS, as that is what I am encountering on open source build procedures.


Now about MM_VMS, based on previous e-mail discussions, these routines exist because VMS PERL by default does not map the %ENV hash to DCL shell symbols.

If those specific $ENV values put in the makefile where exported using the DCLsym module in the format MMK/MMS could use, then MM_VMS would not need to be eliminating the macros.

Now with the macros elimninated on VMS, the resulting makefile can be run outside of the script that generated it, and it will still work.

But if it were changed to have the environment variables set by perl, then the resulting makefile would probably only be runnable by the script that generated it, because that is also what set the environment variables. But that should also be the case with UNIX.

Or am I missing something here?

Also, MMK/MMS should be able to use UNIX filename syntax, as long as every file reference is in UNIX format. That should be able to simplify the work in getting mm_vms to support the extended character set mode.

-John
[EMAIL PROTECTED]
Personal Opinion Only


Reply via email to