[PATCH] pager: wrap ui._runpager

Augie Fackler raf at durin42.com
Sat Jan 7 12:56:14 EST 2017


On Fri, Jan 06, 2017 at 05:08:24PM +0000, Jun Wu wrote:
> # HG changeset patch
> # User Jun Wu <quark at fb.com>
> # Date 1482711944 0
> #      Mon Dec 26 00:25:44 2016 +0000
> # Node ID 8e614304b040537dbc735acb6c3999a05efd258c
> # Parent  011122b3b1c42374fb0489d107418e1be3665ca6
> # Available At https://bitbucket.org/quark-zju/hg-draft
> #              hg pull https://bitbucket.org/quark-zju/hg-draft -r 8e614304b040
> pager: wrap ui._runpager

Queued, thanks.

>
> As discussed at [1], ui._runpager will be the new low-level API accepting a
> pager command to actually run the pager. And ui.pager is the high-level API
> which reads config directly from self.
>
> This change is necessary for chgserver to override _runpager cleanly.
>
> [1]: www.mercurial-scm.org/pipermail/mercurial-devel/2016-December/091656.html
>
> diff --git a/hgext/pager.py b/hgext/pager.py
> --- a/hgext/pager.py
> +++ b/hgext/pager.py
> @@ -119,4 +119,10 @@ def uisetup(ui):
>          return
>
> +    class pagerui(ui.__class__):
> +        def _runpager(self, pagercmd):
> +            _runpager(self, pagercmd)
> +
> +    ui.__class__ = pagerui
> +
>      # chg has its own pager implementation
>      argv = sys.argv[:]
> @@ -158,5 +164,5 @@ def uisetup(ui):
>              if util.safehasattr(signal, "SIGPIPE"):
>                  signal.signal(signal.SIGPIPE, signal.SIG_DFL)
> -            _runpager(ui, p)
> +            ui._runpager(p)
>          return orig(ui, options, cmd, cmdfunc)
>
> _______________________________________________
> Mercurial-devel mailing list
> Mercurial-devel at mercurial-scm.org
> https://www.mercurial-scm.org/mailman/listinfo/mercurial-devel


More information about the Mercurial-devel mailing list