New submission from Enrico Tröger <[email protected]>:
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 <[email protected]>
<https://bugs.python.org/issue37755>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe:
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com