At 7:19 PM -0800 11/25/02, Michael G Schwern wrote: >I was looking for the origins of fixpath() in MakeMaker and was very >surprised to find it in File::Spec::VMS along with eliminate_macros(). Why >are they there? They're about make macros, not filepath operations. Also, >they're the only object method in File::Spec and pretty much intended to be >called with a MakeMaker object. > >Unless I hear protests otherwise, I'm going to copy them into >ExtUtils::MM_VMS and deprecate the versions in File::Spec::VMS. I don't >think they're used outside of MakeMaker, I'm currently scanning CPAN to >check.
My memory, not necessarily complete or correct, is that nearly all of what is now File::Spec -- not just fixpath() and eliminate_macros() -- used to be part of MakeMaker. As various bits of MM got broken off and put into File::Spec, fixpath() and eliminate_macros() moved with them because there were so many references to things like $self->fixpath() and the object inheritance got too complicated if you had MM invoking File::Spec invoking MM. One of the unfortunate side effects of this history is that we eliminate macros in contexts where there is no such thing as a macro. What would be ideal is if the methods in File::Spec would only invoke these MM-only methods if they had been called from MM. If this hasn't completely confused you, you are probably uniquely qualified to fix this mess ;-). -- ________________________________________ Craig A. Berry mailto:[EMAIL PROTECTED] "... getting out of a sonnet is much more difficult than getting in." Brad Leithauser