[PATCH] Re: Version object support

2007-04-03 Thread John Peacock
Michael G Schwern wrote: The code looks ok to me. Stick it on RT as a patch so I won't forget it. Complete patch (plus tests) for version objects as initializer to VERSION parameter. I'm still going to try and get a patch prepared to include a cutdown version object inside EU::MM itself, and

Re: Version object support

2007-03-30 Thread Andreas J. Koenig
On Thu, 29 Mar 2007 13:33:01 -0700, Michael G Schwern [EMAIL PROTECTED] said: Well, just because PAUSE isn't doing it quite right doesn't mean everyone else has to. Well said. Besides, PAUSE honours META.yml and so hopefully is future proof. -- andreas

Re: Version object support

2007-03-30 Thread John Peacock
Michael G Schwern wrote: Hold up. Why won't isa() work on base version objects? What's a base version object? Did you instead mean so it will work on non-object references (ie. hash refs, etc...)? Or did you mean normal string/number versions? Oh, isa() will work fine with base version

Re: Version object support

2007-03-29 Thread John Peacock
Michael G Schwern wrote: That's where it falls down. As mentioned before, two reasons. 1) _verify_att() is currently case insensitive. This is because I was lazy and found hash easier to write than HASH by hand. This means if you just add in a key of 'version' it will happily accept

Re: Version object support

2007-03-29 Thread Michael G Schwern
John Peacock wrote: 2) _verify_att() currently uses ref() because it has only had to deal with references so far. This means any subclass instances of 'version' will be rejected and that would be impolite. It should be fixed to use isa(). isa() would normally be correct from an OO point of

Re: Version object support

2007-03-29 Thread John Peacock
Michael G Schwern wrote: We do not want to support any random subclass of version.pm - we only want to support true version.pm objects. This, too, strikes me as odd. Why not? Because the PAUSE indexer runs everything in a safe compartment, with a very restrictive methodology, and every

Re: Version object support

2007-03-29 Thread Andy Armstrong
On 29 Mar 2007, at 12:53, John Peacock wrote: At some point, I will release version::Math (to make it easier to create scripts to increment $VERSION when releasing modules to CPAN). Feel free to use Perl::Version[1] in any way you fancy. It isn't a subclass of version because - for my

Re: Version object support

2007-03-29 Thread Michael G Schwern
John Peacock wrote: Michael G Schwern wrote: We do not want to support any random subclass of version.pm - we only want to support true version.pm objects. This, too, strikes me as odd. Why not? Because the PAUSE indexer runs everything in a safe compartment, with a very restrictive

Re: Version object support

2007-03-29 Thread John Peacock
Michael G Schwern wrote: Go ahead and use isa() to check the class of the version object. Can't hurt. ...said the man who wasn't working on the patch. ;-) OK, here's my compromise: we still use ref for the first pass through (so it will handle the base version objects), and we try real hard

Re: Version object support

2007-03-29 Thread Michael G Schwern
John Peacock wrote: Michael G Schwern wrote: Go ahead and use isa() to check the class of the version object. Can't hurt. ...said the man who wasn't working on the patch. ;-) ...said the man who doesn't really want it in the first place. :P But if we're going to do it we're going to do it

Re: Version object support

2007-03-28 Thread John Peacock
Michael G Schwern wrote: As that subroutine is only called in one place, its the very first thing in WriteMakefile() even before a MakeMaker object is created, I can say its fairly impossible to get that from a $VERSION declaration. I wish you had taken me at my word, rather than try to

Re: Version object support

2007-03-28 Thread Michael G Schwern
John Peacock wrote: Michael G Schwern wrote: As that subroutine is only called in one place, its the very first thing in WriteMakefile() even before a MakeMaker object is created, I can say its fairly impossible to get that from a $VERSION declaration. I wish you had taken me at my word,

Re: Version object support

2007-03-28 Thread John Peacock
Michael G Schwern wrote: I never got that report. I never found the original report that *I* got, which is why I never sent anything more. When I got that original report, I know I spent hours in a debugger trying to figure out where it happened. I then patched my copy of MakeMaker and forgot

Re: Version object support

2007-03-28 Thread Michael G Schwern
John Peacock wrote: I also noted what will have to happen in order for the problem to really be fixed. Your trivial fix is too trivial, I'm sorry, and had to be rejected. I await the slightly less trivial patch. If you have questions about how to implement that I'll be happy to help.

Re: Version object support

2007-02-05 Thread John Peacock
Michael G Schwern wrote: So what's the warning you're seeing? WARNING: VERSION takes a string/number not a version reference. Please inform the author. From this chunk here (in _verify_att): warn WARNING: $key takes a $takes not a $has.\n. Please

Re: Version object support

2007-02-05 Thread Michael G Schwern
John Peacock wrote: Michael G Schwern wrote: So what's the warning you're seeing? WARNING: VERSION takes a string/number not a version reference. Please inform the author. From this chunk here (in _verify_att): warn WARNING: $key takes a $takes not a $has.\n.

Re: Version object support

2007-02-03 Thread Michael G Schwern
John Peacock wrote: It was pointed out to me that ExtUtils::MakeMaker is needlessly warning when someone uses a line like this: use version; our $VERSION = qv('2.0.0'); The warning can be safely ignored, but it would be better if EU::MM were to be less whiny about this. A trivial patch