From: Stefano Rivera Date: Thu, 19 Sep 2024 13:18:24 +0000 (-0700) Subject: Support the "pager" binary in _pyrepl (#122878) X-Git-Tag: v3.14.0a1~427 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=426569eb8ca1edaa68026aa2bab6b8d1c9105f93;p=thirdparty%2FPython%2Fcpython.git Support the "pager" binary in _pyrepl (#122878) Debian (and derivatives) provide a /usr/bin/pager binary, managed by the alternatives system, that always points to an available pager utility. Allow _pyrepl to use it, to follow system policy. This is a very trivial change, from a patch that Debian has been carrying since 2.7 era. Seems appropriate to upstream. https://bugs.debian.org/799555 --- diff --git a/Lib/_pyrepl/pager.py b/Lib/_pyrepl/pager.py index 66dcd99111ad..1fddc63e3ee3 100644 --- a/Lib/_pyrepl/pager.py +++ b/Lib/_pyrepl/pager.py @@ -36,6 +36,8 @@ def get_pager() -> Pager: return plain_pager if sys.platform == 'win32': return lambda text, title='': tempfile_pager(plain(text), 'more <') + if hasattr(os, 'system') and os.system('(pager) 2>/dev/null') == 0: + return lambda text, title='': pipe_pager(text, 'pager', title) if hasattr(os, 'system') and os.system('(less) 2>/dev/null') == 0: return lambda text, title='': pipe_pager(text, 'less', title) diff --git a/Misc/NEWS.d/next/Core_and_Builtins/2024-09-19-13-17-31.gh-issue-122878.4iFpsB.rst b/Misc/NEWS.d/next/Core_and_Builtins/2024-09-19-13-17-31.gh-issue-122878.4iFpsB.rst new file mode 100644 index 000000000000..85dd0fd769be --- /dev/null +++ b/Misc/NEWS.d/next/Core_and_Builtins/2024-09-19-13-17-31.gh-issue-122878.4iFpsB.rst @@ -0,0 +1 @@ +Use the ``pager`` binary, if available (e.g. on Debian and derivatives), to display REPL ``help()``.