On Thu, Sep 6, 2018 at 12:12 PM Jeff King <peff@xxxxxxxx> wrote: > > On Thu, Sep 06, 2018 at 10:59:42AM -0400, Jeff King wrote: > > > > + string_list_append(&cmd_list, *argv[0]); > > > > This will create an unsorted list. You'd have to use > > string_list_insert() here for a sorted list, or > > unsorted_string_list_has_string() in the earlier call. > > > > It's unfortunate that string_list makes this so easy to get wrong. > > This is getting really off-topic (since it sounds like we'd probably > want to use an ordered list here), but is it crazy to think that > basically every use of an ordered string list could just be a hashmap? Does a hashmap guarantee an order? I thought we had an example of an ordered list in the submodule code but could not find it, maybe it is gone already or did not rely on the order as I thought. It turns out we make never use of a custom compare function in the stringlist, which helps gaining confidence this use case is nowhere to be found in the code. > And then the sometimes-sorted/sometimes-not duality of string-list could > go away? Sounds good, ship it. :-) Stefan