On Mon, 2014-07-14 at 10:17 -0700, Junio C Hamano wrote:
> Jeff King <p...@peff.net> 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?
Do we want to go this way? Should I respin my patch (again)? I'm not
sure we really need to get that complex.. I do like parsing errors a bit
cleaner and indicating what part is bad.. Note that our current parsing
method does not make it really possible to indicate which part is wrong.