develooper Front page | perl.perl5.porters | Postings from February 2007

RE: $Win32::VERSION problem

Thread Previous | Thread Next
From:
Jan Dubois
Date:
February 27, 2007 08:22
Subject:
RE: $Win32::VERSION problem
Message ID:
005901c75a8b$7d416460$77c42d20$@com
On Tue, 27 Feb 2007, Nicholas Clark wrote:
> On Tue, Feb 27, 2007 at 12:24:49AM -0800, Yitzchak Scott-
> Thoennes wrote:
>> It should be fine, assuming a new CPAN libwin32 and standalone Win32
>> get released before 5.8.9. If it were a non-core module that the "not
>> be able to use" applied to, I can see reason to keep it out of maint,
>> but the core Win32 *is* 0.27, and there's no reason the core should
>> need to work with an older Win32. The installing-libwin32-
>> downgrading-Win32 thing is just an artifact of the planned changes
>> not being quite complete.
>>
>> Does this make sense?
>
> Yes, except excuse my ignorance on one thing:
>
> If you upgrade to 5.8.9, can existing installed modules stop working?
> (I'm not entirely sure which parts of what is being discussed is in
> the Win32 module in the core, and which parts are installed from CPAN)

The core version of the Win32 module is comprehensive; there are no parts
that can be loaded from CPAN that are not yet in the core version.

The problem is that libwin32 contains *both* an older version of a core
module (Win32) and the latest version of other modules (Win32::*).
Since you cannot downgrade the core module, you could not install the
other modules.

The only way I can see existing modules to stop working is if you have
an installation where you have the current (or older) libwin32 installed
in a directory that you put into @INC in front of the core directory,
effectively disabling the core version of the Win32 module.

The analogous situation with Scalar::Utils and overload would be when
the user installed Scalar-List-Utils 1.07 into a tree at the front
of @INC.  overload::strVal would break because the core version of
Scalar::Utils would be disabled by this.

One thing we could do, at least for maint, is duplicate the old code
from win32/win32.c in Win32CORE and remove the version check for Win32.

I can make a patch for this later this week, but I don't think it
should end up in blead (except maybe for testing), because this would
be essentially dead bloat.

Cheers,
-Jan


Thread Previous | Thread Next


nntp.perl.org: Perl Programming lists via nntp and http.
Comments to Ask Bjørn Hansen at ask@perl.org | Group listing | About