Dscho, On Sat, 18 Apr 2009, Johannes Schindelin wrote: > On Sat, 18 Apr 2009, Keith Cascio wrote: > > > On Fri, 17 Apr 2009, Johannes Schindelin wrote: > > > > > Besides, you still will have a poison: > > > git config diff.defaultOptions --no-defaults > > > which is Russel's paradoxon right there. > > > > I can cleanly modify my v3 to handle this case. > > You cannot. --no-defaults means that diff.defaultOptions should be > disregarded. If the diff.defaultOptions say that they should be disregarded > themselves, then --no-defaults should be disregarded. --no-defaults *could* mean as you say there. But a much better meaning for --no-defaults is: suppress the values in diff.defaultOptions after options processing. We don't have to disregard them, just suppress them after options processing. In that sense, --no-defaults is a meta-option. It is an option about options. Even users unfamiliar with set theory would assume the suppression semantics. Nevertheless I applaud the Russell reference. Very intriguing. > And I still do not like the intrusiveness of your patch. The last time we did > something like that with options (some parseoptifications), we had a lot of > fallout as a consequence. A reasonable worry! But blind paranoia is paralyzing. Peff expressed some specific concerns which he and I addressed: (1) whether I'd investigated all callsites for possible problems (yes I did), (2) whether we'd have to switch every callsite to a macro, rather than direct assignment (no we don't). Outside of diff.h/diff.c, my v3 deletes no lines and adds only two. That doesn't really seem "intrusive" to me. By comparison, your patch adds at least ten lines outside of diff.h/diff.c. I'd rather call my patch "innovative". Possible? -- Keith -- 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