[New-bugs-announce] [issue37755] pydoc topics, keywords and symbols always use pager instead of output

Enrico Tröger report at bugs.python.org
Sun Aug 4 08:48:20 EDT 2019


New submission from Enrico Tröger <enrico.troeger at uvena.de>:

I noticed a probably unintended behavior in help() usage:

when an output is set on pydoc.Helper(), most of its methods
use this output instead of a pager.
But 'True', 'False' and 'None' as well as all topics, keywords
and symbols always use a pager instead of the configured output.

My use case is to use the pydoc help system to display help contents
in Geany (a text editor) in a graphical manner
(and so I cannot make any use of a pager).

Example code:

#!/usr/bin/env python3
# -*- coding: utf-8 -*-

from io import StringIO
import pydoc
import sys


if __name__ == '__main__':
    help_text = StringIO()

    helper = pydoc.Helper(output=help_text)
    # help contents are written to help_text as expected
    helper.help('pydoc')

    # the following calls each show the help contents in a pager instead
    # of using the configured output
    helper.help('True')
    helper.help('False')
    helper.help('None')
    helper.help('**')  # symbol example
    helper.help('SEQUENCES')  # topic example
    helper.help('await')  # keyword example


Tested against Python 3.7.3.

----------
components: Library (Lib)
messages: 348983
nosy: eht16
priority: normal
severity: normal
status: open
title: pydoc topics, keywords and symbols always use pager instead of output
type: behavior
versions: Python 3.8

_______________________________________
Python tracker <report at bugs.python.org>
<https://bugs.python.org/issue37755>
_______________________________________


More information about the New-bugs-announce mailing list