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