[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH] doc: note that $(wildcard) is implemented in terms of glob(3
From: |
Ævar Arnfjörð Bjarmason |
Subject: |
Re: [PATCH] doc: note that $(wildcard) is implemented in terms of glob(3) |
Date: |
Fri, 03 Dec 2021 22:10:04 +0100 |
User-agent: |
Debian GNU/Linux bookworm/sid; Emacs 27.1; mu4e 1.6.9 |
On Fri, Dec 03 2021, Paul Smith wrote:
> On Fri, 2021-12-03 at 11:08 +0100, Ævar Arnfjörð Bjarmason wrote:
>> The motivation for this patch is that I've seen code like this in the
>> wild:
>>
>> FILES = $(sort $(wildcard t*.sh))
>>
>> I thought that it would be documented that that sort of thing was
>> redundant, but I didn't find any mention of it in the manual. After
>> some source spelunking I came up with this addition, which would have
>> helped me when I consulted the manual.
>
> Originally it was not _guaranteed_ that wildcard yields sorted output.
>
> However, the output did happen to be sorted in older versions of GNU
> make. In GNU make 3.82, that was changed to yield unsorted output. As
> of GNU make 4.3, it was changed back and it is now guaranteed that
> wildcard results are sorted:
>
> https://savannah.gnu.org/bugs/index.php?52076
>
> I thought that I had updated the documentation to make this guarantee
> clear but perhaps I forgot?
As far as the proposed update goes what I should have noted that
individual arguments to "wildcard" expand to sorted globs, but as noted
in the thread:
$(wildcard ? ?)
Will return e.g. "1 2 3 1 2 3".
Would a patch that's updated to note that, and discusses the behavior in
older versions be acceptable for inclusion?
Unless there's some place where this is documented that I didn't spot...