Issue #16829: IDLE printing no longer fails if there are spaces or other
special characters in the file path.
diff --git a/Lib/idlelib/IOBinding.py b/Lib/idlelib/IOBinding.py
index e429c10..8078c3f 100644
--- a/Lib/idlelib/IOBinding.py
+++ b/Lib/idlelib/IOBinding.py
@@ -7,6 +7,7 @@
import os
import types
+import pipes
import sys
import codecs
import tempfile
@@ -503,7 +504,7 @@
else: #no printing for this platform
printPlatform = False
if printPlatform: #we can try to print for this platform
- command = command % filename
+ command = command % pipes.quote(filename)
pipe = os.popen(command, "r")
# things can get ugly on NT if there is no printer available.
output = pipe.read().strip()
diff --git a/Misc/NEWS b/Misc/NEWS
index 43cfc64..b69e70c 100644
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -186,6 +186,9 @@
Library
-------
+- Issue #16829: IDLE printing no longer fails if there are spaces or other
+ special characters in the file path.
+
- Issue #13899: \A, \Z, and \B now correctly match the A, Z, and B literals
when used inside character classes (e.g. '[\A]'). Patch by Matthew Barnett.