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

Reply via email to