On Thu, Jan 12, 2017 at 7:56 AM, Peter Stephenson
wrote:
> I can't reproduce this using the normal tests, but I have found a
> possible cause and added a test that does fail in the same way. This
> patch fixes that failure.
>
> The problem is the overloading of filename in struct shfunc. If the
> function was alrady loaded, which is the case if it contains an
> explicit autoload -X (rather than one generated internally by looking
> at the flags for an undefined function), then the filename indicates the
> location of the source for the function. If this came from a file with
> an absolute path, and there was no explicit directory path in the
> autoload -X statement, the file path was erroneously taken as a
> directory for loading.
>
> This adds an explicit flag to indicate filename is being used for that
> purpose, unsetting it when the filename is set to the file's path.
>
> Also be a bit more careful checking if a function wasn't let loaded when
> using the new functions options. If it's already loaded they're
> irrelevant.
>
That has fixed the failures for me: I'm now seeing 48 successful tests.
Thanks,
Vin