Remove nicetext() (was Re: [ANNOUNCE] ExtUtils::MakeMaker 6.38)

[email protected] (Michael G Schwern)
Newsgroups perl.perl5.porters,perl.makemaker
Message-ID <[email protected]>
Craig A. Berry wrote:
> Looks like this has been this way a long time but never tested until
> now.  Here's the debugger view of the smoking gun:
> 
> ExtUtils::MM_VMS::nicetext(/perl_root/lib/ExtUtils/MM_VMS.pm:1588):
> 1588:       $text =~ s/([^\s:])(:+\s)/$1 $2/gs;
> 
> which is called from here:
> 
> ExtUtils::MakeMaker::new(/perl_root/lib/ExtUtils/MakeMaker.pm:638):
> 638:                push @{$self->{RESULT}},
> $self->nicetext($self->$method( %a ));
> 
> I think we do nicetext this way because the VMS make utilities need
> whitespace between the target name and the dependencies, but it's
> obviously treating the YAML keys the same as target names.  The lines
> look like:
> 
> $(NOECHO) Write MMECHOFILE "name:                Big-Liar"
> 
> so we can probably fiddle with that regex and get it to leave things
> alone when they are inside of double quotes.

Do we need that crutch any more?  Most of the make targets already have that
space, VMS isn't the only picky one about it, and I've just fixed the rest.
I guess it might help if anyone overrides some methods with their own custom
targets and fail to add the space, but it seems such a dubious hack.

Let's try removing it and see what happens.  Try the attached tarball, please.

On a sad note, I figured I'd look on CPAN for a distribution created on VMS
with a META.yml to see the extent of the damage in the real world.  I couldn't
find one. :(


-- 
On error resume stupid
ExtUtils-MakeMaker-6.39_01.tar.gz (application/x-tar-gz, 232.7 KB) - not displayed
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.