Jeff King <peff@xxxxxxxx> writes: > On Sun, Jul 13, 2014 at 01:33:56PM -0400, Jeff King wrote: > >> I realize that I am reinventing the error-reporting wheel on a sleepy >> Sunday afternoon without having thought about it much, so there is >> probably some gotcha or case that makes this ugly, or perhaps it just >> ends up verbose in practice. But one can dream. > > Just for fun... Yes, that is fun. I actually think your "In 'version:pefname' and 'wersion:refname', we want be able to report 'pefname' and 'wersion' are misspelled, and returning -1 or enum would not cut it" is a good argument. The callee wants to have flexibility on _what_ to report, just as the caller wants to have flexibility on _how_. In this particular code path, I think the former far outweighs the latter, and my suggestion I called "silly" might not be so silly but may have struck the right balance. I dunno. If you absolutely need to have both, you would need something like your approach, of course, but I am not sure if it is worth it. I am not sure how well this meshes with i18n (I know the "for fun" does not even attempt to, but if we tried to, I suspect it may become even uglier). We would also need to override both error and warning routines and have the reporter tag the errors in these two categories, no? -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html