On Sun, 2019-09-08 at 19:48 +0200, Bruno Haible wrote: > > My suggestion was that BOTH these functions should not assume the CWD > > if PATH is empty or missing, not that they should behave differently. > > OK. But what, do you suggest, should the functions do when confronted to > an empty path? What is 'make' supposed to do when the Makefile defines > PATH = > ?
Very simply, in both the "unset PATH" and "PATH=" cases, it should report all unqualified (containing no slashes) programs as not found. That is clearly allowed by POSIX and IMO is the most expected, and secure, behavior. Having PATH= be equivalent to PATH=., and even moreso "unset PATH" be equivalent to PATH=., is quite odd IMO. > > My personal opinion is that it's not difficult to come up with ways > > findprog can be useful _in addition_ to simply being a precursor to > > exec > > In this case we should probably add a flag argument that tells the > function to do the complete lookup also when the progname contains a > slash. For now, until someone claims that this functionality would > be actually useful, I'll leave it as is. I think this will not be needed. In the event that someone does need this they can simply use the findprog-in module instead.