Issue #7163: Propagate return value of sys.stdout.write.
Patch by Roger Serwy.
This commit is contained in:
parent
c882b7c51a
commit
30d5e6c13f
|
@ -1,6 +1,8 @@
|
|||
What's New in IDLE 3.2.4?
|
||||
=========================
|
||||
|
||||
- Issue #7163: Propagate return value of sys.stdout.write.
|
||||
|
||||
- Issue #15318: Prevent writing to sys.stdin.
|
||||
|
||||
- Issue #13532, #15319: Check that arguments to sys.stdout.write are strings.
|
||||
|
|
|
@ -40,6 +40,7 @@ class OutputWindow(EditorWindow):
|
|||
self.text.insert(mark, s, tags)
|
||||
self.text.see(mark)
|
||||
self.text.update()
|
||||
return len(s)
|
||||
|
||||
def writelines(self, lines):
|
||||
for line in lines:
|
||||
|
|
|
@ -760,7 +760,7 @@ class ModifiedInterpreter(InteractiveInterpreter):
|
|||
|
||||
def write(self, s):
|
||||
"Override base class method"
|
||||
self.tkconsole.stderr.write(s)
|
||||
return self.tkconsole.stderr.write(s)
|
||||
|
||||
def display_port_binding_error(self):
|
||||
tkMessageBox.showerror(
|
||||
|
@ -1229,7 +1229,7 @@ class PyShell(OutputWindow):
|
|||
def write(self, s, tags=()):
|
||||
try:
|
||||
self.text.mark_gravity("iomark", "right")
|
||||
OutputWindow.write(self, s, tags, "iomark")
|
||||
count = OutputWindow.write(self, s, tags, "iomark")
|
||||
self.text.mark_gravity("iomark", "left")
|
||||
except:
|
||||
raise ###pass # ### 11Aug07 KBK if we are expecting exceptions
|
||||
|
@ -1238,6 +1238,7 @@ class PyShell(OutputWindow):
|
|||
self.canceled = 0
|
||||
if not use_subprocess:
|
||||
raise KeyboardInterrupt
|
||||
return count
|
||||
|
||||
class PseudoFile(object):
|
||||
|
||||
|
@ -1249,7 +1250,7 @@ class PseudoFile(object):
|
|||
def write(self, s):
|
||||
if not isinstance(s, str):
|
||||
raise TypeError('must be str, not ' + type(s).__name__)
|
||||
self.shell.write(s, self.tags)
|
||||
return self.shell.write(s, self.tags)
|
||||
|
||||
def writelines(self, lines):
|
||||
for line in lines:
|
||||
|
|
Loading…
Reference in New Issue