Patchwork [2,of,2,V2] pager: if old pager extensions is enabled, respect pager.attend

login
register
mail settings
Submitter via Mercurial-devel
Date March 14, 2017, 4:16 p.m.
Message ID <4b4b0fb20fc768c1ea6b.1489508192@martinvonz.mtv.corp.google.com>
Download mbox | patch
Permalink /patch/19334/
State Accepted
Headers show

Comments

via Mercurial-devel - March 14, 2017, 4:16 p.m.
# HG changeset patch
# User Martin von Zweigbergk <martinvonz@google.com>
# Date 1489466597 25200
#      Mon Mar 13 21:43:17 2017 -0700
# Node ID 4b4b0fb20fc768c1ea6b330a5f37f3e325e88b32
# Parent  d17402c07698443c13b082df8a8635a82b83d097
pager: if old pager extensions is enabled, respect pager.attend

This patch makes us respect pager.attend again if the extension is
enabled. It also brings back the default attend list, so e.g. summary
is not paged by default, just like it used to be before pager was
moved into core.

Patch

diff --git a/hgext/pager.py b/hgext/pager.py
--- a/hgext/pager.py
+++ b/hgext/pager.py
@@ -64,10 +64,10 @@ 
                 # behavior is preserved.
                 ui.setconfig('pager', 'ignore', '', 'pager')
                 ui.pager('extension-via-attend-' + cmd)
+            else:
+                ui.disablepager()
         return orig(ui, options, cmd, cmdfunc)
 
     extensions.wrapfunction(dispatch, '_runcommand', pagecmd)
 
-attended = [
-    'the-default-attend-list-is-now-empty-but-that-breaks-the-extension',
-]
+attended = ['annotate', 'cat', 'diff', 'export', 'glog', 'log', 'qdiff']
diff --git a/tests/test-pager-legacy.t b/tests/test-pager-legacy.t
--- a/tests/test-pager-legacy.t
+++ b/tests/test-pager-legacy.t
@@ -50,14 +50,13 @@ 
   paged! 'summary:     modify a 9\n'
   paged! '\n'
 
-BROKEN: should not be paged by default
   $ hg summary
-  paged! 'parent: 10:46106edeeb38 tip\n'
-  paged! ' modify a 10\n'
-  paged! 'branch: default\n'
-  paged! 'commit: (clean)\n'
-  paged! 'update: (current)\n'
-  paged! 'phases: 11 draft\n'
+  parent: 10:46106edeeb38 tip
+   modify a 10
+  branch: default
+  commit: (clean)
+  update: (current)
+  phases: 11 draft
 
 We can enable the pager on summary:
 
@@ -79,15 +78,14 @@ 
   +a 2
 
 If we completely change the attend list that's respected:
-BROKEN: diff should not be paged
   $ hg --config pager.attend=summary diff -c 2
-  paged! 'diff -r f4be7687d414 -r bce265549556 a\n'
-  paged! '--- a/a\tThu Jan 01 00:00:00 1970 +0000\n'
-  paged! '+++ b/a\tThu Jan 01 00:00:00 1970 +0000\n'
-  paged! '@@ -1,2 +1,3 @@\n'
-  paged! ' a\n'
-  paged! ' a 1\n'
-  paged! '+a 2\n'
+  diff -r f4be7687d414 -r bce265549556 a
+  --- a/a	Thu Jan 01 00:00:00 1970 +0000
+  +++ b/a	Thu Jan 01 00:00:00 1970 +0000
+  @@ -1,2 +1,3 @@
+   a
+   a 1
+  +a 2
 
 If 'log' is in attend, then 'history' should also be paged:
   $ hg history --limit 2 --config pager.attend=log