Fix python help() parser

Fixes https://gitlab.com/kicad/code/kicad/issues/9191
This commit is contained in:
Seth Hillbrand 2021-09-21 14:14:20 -07:00
parent ec2ac181a2
commit 73401932f7
3 changed files with 6 additions and 8 deletions

View File

@ -923,7 +923,12 @@ class KiCadEditorNotebookFrame(KiCadEditorFrame):
place the stdout into the editor window """
import pydoc, sys
self._keep_stdin = sys.stdin
pydoc.pager = pydoc.plainpager
"""getline will crash unexpectedly, so we don't support it
and bold fonts wreak havoc on our output, so strip them as well"""
pydoc.getpager = lambda: pydoc.plainpager
pydoc.Helper.getline = lambda self, prompt: None
pydoc.TextDoc.use_bold = lambda self, text: text
dispatcher.connect(receiver=self._editorChange,
signal='EditorChange', sender=self.notebook)

View File

@ -83,8 +83,6 @@ KIPYTHON_FRAME::KIPYTHON_FRAME( KIWAY* aKiway, wxWindow* aParent ) :
KIWAY_PLAYER( aKiway, aParent, FRAME_PYTHON, wxT( "KiPython" ), wxDefaultPosition,
wxDefaultSize, KICAD_DEFAULT_DRAWFRAME_STYLE, wxT( "KiPython" ) )
{
m_stdio = 0;
CallAfter( [&](){ SetupPythonEditor(); } );
redirectStdio();
@ -93,8 +91,4 @@ KIPYTHON_FRAME::KIPYTHON_FRAME( KIWAY* aKiway, wxWindow* aParent ) :
KIPYTHON_FRAME::~KIPYTHON_FRAME()
{
wxWindow* stdio_window = wxWindow::FindWindowById( m_stdio );
if( stdio_window )
stdio_window->Close( true );
}

View File

@ -55,7 +55,6 @@ private:
bool canCloseWindow( wxCloseEvent& aCloseEvent ) override { return true; }
void doCloseWindow() override {}
long m_stdio;
};