Skip to content

Commit

Permalink
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
more defensive
Browse files Browse the repository at this point in the history
blueyed committed Aug 15, 2019
1 parent b32f9a3 commit 338b5bd
Showing 2 changed files with 5 additions and 1 deletion.
2 changes: 1 addition & 1 deletion pyrepl/reader.py
Original file line number Diff line number Diff line change
@@ -478,8 +478,8 @@ def prepare(self):
"""Get ready to run. Call restore when finished. You must not
write to the console in between the calls to prepare and
restore."""
self.console.prepare()
try:
self.console.prepare()
self.arg = None
self.screeninfo = []
self.finished = 0
4 changes: 4 additions & 0 deletions pyrepl/unix_console.py
Original file line number Diff line number Diff line change
@@ -359,6 +359,7 @@ def prepare(self):
except termios.error: # (25, 'Inappropriate ioctl for device')
# assert not os.fdopen(self.input_fd).isatty()
raise EOFError
self._prepared = True
raw = self.__svtermstate.copy()
raw.iflag |= termios.ICRNL
raw.iflag &= ~(termios.BRKINT | termios.INPCK |
@@ -390,6 +391,9 @@ def prepare(self):
pass

def restore(self):
if not hasattr(self, '_prepared'):
return
del self._prepared
self.__maybe_write_code(self._rmkx)
self.flushoutput()
tcsetattr(self.input_fd, termios.TCSADRAIN, self.__svtermstate)

0 comments on commit 338b5bd

Please sign in to comment.