On Fri, 28 Dec 2001, Craig A. Berry wrote:
> Does that assume every macro should be expanded? Some should and some
> shouldn't and I'm not sure I completely know what the rules are. In
> general if a macro is part (but not all) of a file or directory spec
> it should be expanded, but there may be other cases. Also, macro
> expansion needs to be recursive because a macro may expand to a
> string that contains one or more other macros.
Well, every macro that goes through catdir gets expanded, right? So if
anything getting passed to catdir is retrieved via $self->get('FOO') then
that should be right.
> That means, for example, calling eliminate_macros or equivalent on
> each of the arguments to catdir before every catdir call in
> MakeMaker, MM_Unix, Liblist, and MM_VMS instead of having catdir do
> it internally. Is that really preferable?
See above. Calling $self->get('FOO') isn't too terrible.
> This is turning into a rather major rearchitecting of how MakeMaker
> works on VMS, and that very likely needs doing, but I have yet to see
> or think of anything that is preferable to the way it was before.
I understand. My goals for these patches were:
1. Eliminate duplicated code between EU::* and File::Spec.
2. Have other modules use File::Spec instead of EU::* for path
manipulation.
It seems like #1 may have to be abandoned but #2 (which already went in a
while ago) still seems fine.
-dave