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

Martin von Zweigbergk martinvonz at google.com
Tue Mar 14 12:16:32 EDT 2017


# HG changeset patch
# User Martin von Zweigbergk <martinvonz at 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.

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


More information about the Mercurial-devel mailing list