See attached test-case: run main.pike.
When a function is defined in a file, I would normally expect that resolv() is not called. But if the function definition is below the usage, resolv() is called, but the result seems to be ignored; the code uses the function from elsewhere in the file. (Note that above() is never retrieved in that way.)
This normally wouldn't be a problem, but I use the resolv() calls to detect dependencies, and this oddity was resulting in a file being purportedly dependent on itself. (Was able to deal with that by reordering code, fortunately.)
Any idea why this happens? Is it intended behaviour?
ChrisA
pike-devel@lists.lysator.liu.se