On Tue, 17 Nov 2020 at 03:13, Jeff King <peff@xxxxxxxx> wrote: > > On Sat, Nov 14, 2020 at 09:43:26AM +0100, Martin Ågren wrote: > > > Fix the function name we give in the BUG message. It's "config", not > > "choice". > > Yep, obviously an improvement. > > But as a general rule, I don't think we even need to include function > names here. The message would look like: > > BUG: list-objects-filter-options.c:20: list_object_filter_choice_name: invalid argument '3' > > which already tells us where the code is[1]. Perhaps: > > BUG("invalid filter choice enum: %d", c); > > would be shorter but equally informative (I don't overly care here, > since the idea is that nobody sees it, but just making a point about the > future). Having the function name or something else making the string unique across the codebase could be useful if the compiler doesn't support variadic macros -- we'll fall back to using a function instead of a macro, and can't use __FILE__ and __LINE__. (You obviously know all of this, having written d8193743e0 ("usage.c: add BUG() function", 2017-05-12).) Now, this here BUG shouldn't be a "freak" bug which happens to trigger under very special circumstances, and where it's not even clear which of 25 equal BUG messages it is that we're seeing. If you add a new enum value and forget to add a case in this function, you should hit this BUG quite quickly and very reliably. All of that said, "don't overly care" also matches my feeling pretty well. Martin