]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
Support the "pager" binary in _pyrepl (#122878)
authorStefano Rivera <stefano@rivera.za.net>
Thu, 19 Sep 2024 13:18:24 +0000 (06:18 -0700)
committerGitHub <noreply@github.com>
Thu, 19 Sep 2024 13:18:24 +0000 (13:18 +0000)
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

Lib/_pyrepl/pager.py
Misc/NEWS.d/next/Core_and_Builtins/2024-09-19-13-17-31.gh-issue-122878.4iFpsB.rst [new file with mode: 0644]

index 66dcd99111adfc2009a7f1c4f1c909727cf3254a..1fddc63e3ee3ad0c73a62ca31a5ea1cd3631266d 100644 (file)
@@ -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 (file)
index 0000000..85dd0fd
--- /dev/null
@@ -0,0 +1 @@
+Use the ``pager`` binary, if available (e.g. on Debian and derivatives), to display REPL ``help()``.