{"thread":{"id":"14579","subject":"[PATCH] Allow pager of diff command be enabled/disabled","startedAt":"2008-07-21T21:28:49Z","lastAt":"2008-07-22T04:58:06Z","messageCount":2,"participants":["Alex Riesen","Jeff King"],"isPatch":true,"patchVersion":1,"patchTotal":null},"messages":[{"id":"84242","messageId":"20080721212849.GB4748@blimp.local","threadId":"14579","inReplyTo":null,"subject":"[PATCH] Allow pager of diff command be enabled/disabled","fromName":"Alex Riesen","fromEmail":"raa.lkml@gmail.com","sentAt":"2008-07-21T21:28:49Z","receivedAt":"2008-07-21T21:28:49Z","isPatch":true,"sender":{"key":"raa.lkml@gmail.com","avatar":"https://avatars.githubusercontent.com/u/324101?v=4"},"body":"See for example, status and show commands. Besides,\nDocumentation/RelNotes-1.6.0.txt mentions that pager.<cmd>\ncan be used to enable/disable paging behavior per command.\n\nSigned-off-by: Alex Riesen <raa.lkml@gmail.com>\n---\n\nAlso, really export check_pager_config, which just got another call\nsite.\n\n builtin-diff.c |    3 ++-\n builtin.h      |    1 +\n 2 files changed, 3 insertions(+), 1 deletions(-)\n\ndiff --git a/builtin-diff.c b/builtin-diff.c\nindex faaa85a..7ffea97 100644\n--- a/builtin-diff.c\n+++ b/builtin-diff.c\n@@ -296,7 +296,8 @@ int cmd_diff(int argc, const char **argv, const char *prefix)\n \t * If the user asked for our exit code then don't start a\n \t * pager or we would end up reporting its exit code instead.\n \t */\n-\tif (!DIFF_OPT_TST(&rev.diffopt, EXIT_WITH_STATUS))\n+\tif (!DIFF_OPT_TST(&rev.diffopt, EXIT_WITH_STATUS) &&\n+\t    check_pager_config(\"diff\") != 0)\n \t\tsetup_pager();\n \n \t/*\ndiff --git a/builtin.h b/builtin.h\nindex 0e605d4..f3502d3 100644\n--- a/builtin.h\n+++ b/builtin.h\n@@ -18,6 +18,7 @@ extern int fmt_merge_msg(int merge_summary, struct strbuf *in,\n \tstruct strbuf *out);\n extern int commit_tree(const char *msg, unsigned char *tree,\n \t\tstruct commit_list *parents, unsigned char *ret);\n+extern int check_pager_config(const char *cmd);\n \n extern int cmd_add(int argc, const char **argv, const char *prefix);\n extern int cmd_annotate(int argc, const char **argv, const char *prefix);\n-- \n1.6.0.rc0.24.g1329.dirty\n"},{"id":"84272","messageId":"20080722045806.GD20787@sigill.intra.peff.net","threadId":"14579","inReplyTo":"20080721212849.GB4748@blimp.local","subject":"Re: [PATCH] Allow pager of diff command be enabled/disabled","fromName":"Jeff King","fromEmail":"peff@peff.net","sentAt":"2008-07-22T04:58:06Z","receivedAt":"2008-07-22T04:58:06Z","isPatch":true,"sender":{"key":"peff@peff.net","avatar":"https://avatars.githubusercontent.com/u/45925?v=4"},"body":"On Mon, Jul 21, 2008 at 11:28:49PM +0200, Alex Riesen wrote:\n\n> See for example, status and show commands. Besides,\n> Documentation/RelNotes-1.6.0.txt mentions that pager.<cmd>\n> can be used to enable/disable paging behavior per command.\n> \n> Signed-off-by: Alex Riesen <raa.lkml@gmail.com>\n> ---\n> \n> Also, really export check_pager_config, which just got another call\n> site.\n\nThis patch looks correct to me. There are also a bunch of other commands\nfor which pager.* doesn't work. Basically, anything that doesn't ask for\nRUN_SETUP is on its own to set up paging if it wants (because Bad Things\nhappen when we try to look in the config before setup has been run).\n\nMost of them people probably don't care about (really, who wants paging\nby default on git-apply?). But it is yet another hidden inconsistency\nfrom the paging patch.\n\n-Peff\n"}]}