On Mon, Apr 02, 2018 at 03:48:50PM -0700, Stefan Beller wrote: > The diff options are passed to the compare function as > 'hashmap_cmp_fn_data', which are given when the hashmaps > are initialized. > > A later patch will make use of the keydata to signal > different settings for comparision. I had to scratch my head here for a moment. Don't we use those options as part of the comparison? I took the "which" to mean "the compare function", but I think you mean "we pass these diff options already when the hashmap is initialized". Maybe something like this would be more clear: When we initialize the hashmap, we give it a pointer to the diff_options, which it then passes along to each call of the hashmap_cmp_fn function. There's no need to pass it a second time as the "keydata" parameter, and our comparison functions never look at keydata. This was a mistake left over from an earlier round of 2e2d5ac184 (diff.c: color moved lines differently, 2017-06-30), before hashmap learned to pass the data pointer for us. (I'm just guessing on the second paragraph based on a quick look at git-blame and my recollection from the time). -Peff