diff --git a/IPython/frontend/wx/console_widget.py b/IPython/frontend/wx/console_widget.py index e323e12..0705c01 100644 --- a/IPython/frontend/wx/console_widget.py +++ b/IPython/frontend/wx/console_widget.py @@ -242,7 +242,6 @@ class ConsoleWidget(editwindow.EditWindow): self.CmdKeyClear(ord('L'), stc.STC_SCMOD_CTRL) self.CmdKeyClear(ord('T'), stc.STC_SCMOD_CTRL) - self.SetEOLMode(stc.STC_EOL_CRLF) self.SetWrapMode(stc.STC_WRAP_CHAR) self.SetWrapMode(stc.STC_WRAP_WORD) @@ -260,6 +259,8 @@ class ConsoleWidget(editwindow.EditWindow): # automaticaly self.AutoCompSetChooseSingle(False) self.AutoCompSetMaxHeight(10) + # XXX: this doesn't seem to have an effect. + self.AutoCompSetFillUps('\n') self.SetMargins(3, 3) #text is moved away from border with 3px # Suppressing Scintilla margins diff --git a/IPython/frontend/wx/wx_frontend.py b/IPython/frontend/wx/wx_frontend.py index 493f4c4..ea5e426 100644 --- a/IPython/frontend/wx/wx_frontend.py +++ b/IPython/frontend/wx/wx_frontend.py @@ -377,12 +377,12 @@ class WxController(ConsoleWidget, PrefilterFrontEnd): # Calltips event.Skip() self.do_calltip() - elif self.AutoCompActive(): + elif self.AutoCompActive() and not event.KeyCode == ord('\t'): event.Skip() if event.KeyCode in (wx.WXK_BACK, wx.WXK_DELETE): wx.CallAfter(self._popup_completion, create=True) elif not event.KeyCode in (wx.WXK_UP, wx.WXK_DOWN, wx.WXK_LEFT, - wx.WXK_RIGHT): + wx.WXK_RIGHT, wx.WXK_ESCAPE): wx.CallAfter(self._popup_completion) else: # Up history @@ -410,6 +410,8 @@ class WxController(ConsoleWidget, PrefilterFrontEnd): last_line = self.input_buffer.split('\n')[-1] if not re.match(r'^\s*$', last_line): self.complete_current_input() + if self.AutoCompActive(): + wx.CallAfter(self._popup_completion, create=True) else: event.Skip() else: