New submission from François Granade <franc...@granade.com>: When the "pydoc" module is imported, and the sys.stdout is overwriten, a end-of-line is sent to the console (on sdtout) when the help() function is sent.
to reproduce (this is on Python 2.5 but the same happens on Pythjon 3.1): bash-3.2$ python2.5 -c "import pydoc; import sys; from StringIO import StringIO; sys.stdout = StringIO(); help(sys)" bash-3.2$ (note the one empty line) whereas: bash-3.2$ python2.5 -c "import sys; from StringIO import StringIO; sys.stdout = StringIO(); help(sys)" bash-3.2$ (no empty line) The funny thing is that the difference only occurs if sys.stdout is redirected; if it is not, importing pydoc doesn't change anything to the output: bash-3.2$ python2.5 -c "import pydoc; import sys; help(sys)" | wc 256 1298 10690 bash-3.2$ python2.5 -c "import sys; help(sys)" | wc 256 1298 10690 bash-3.2$ Note that this is related to 1700304, but is actually *one specific case* since *only one character* is not redirected - I would expect them all or none ---------- components: Library (Lib) messages: 101479 nosy: farialima severity: normal status: open title: Importing pydoc and overwriting sys.stdout, causes one char to be sent to the console when calling help() versions: Python 2.5, Python 2.6, Python 2.7, Python 3.1 _______________________________________ Python tracker <rep...@bugs.python.org> <http://bugs.python.org/issue8198> _______________________________________ _______________________________________________ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com