Calvin Wan <calvinwan@xxxxxxxxxx> writes: > In order for date.c to be included in git-std-lib, the dependency to > pager.h must be removed since it has dependencies on many other files > not in git-std-lib. Dependencies aside, I doubt callers of Git libraries want Git's pager-handling logic bundled in git-std-lib ;) > @@ -1003,13 +1002,13 @@ static enum date_mode_type parse_date_type(const char *format, const char **end) > die("unknown date format %s", format); > } > > -void parse_date_format(const char *format, struct date_mode *mode) > +void parse_date_format(const char *format, struct date_mode *mode, int pager_in_use) > { > const char *p; > > /* "auto:foo" is "if tty/pager, then foo, otherwise normal" */ > if (skip_prefix(format, "auto:", &p)) { > - if (isatty(1) || pager_in_use()) > + if (isatty(1) || pager_in_use) > format = p; > else > format = "default"; Hm, it feels odd to ship a parsing option that changes based on whether the caller isatty or not. Ideally we would stub this "switch the value of auto" logic too. Without reading ahead, I'm not sure if there are other sorts of "library influencing process-wide" oddities like the one here and in the previous patch. I think it would be okay for us to merge this series with these, as long as we advertise to callers that the library boundary isn't very clean yet, and we eventually clean it up.