Issue 1163759: subprocess pipe fails under Emacs (original) (raw)

Creating a pipe with subprocess.Popen fails if Python is running in a non-interactive subshell under XEmacs on MSWin.

This program import subprocess pipe = subprocess.Popen(['cmd', '/c', r'echo', 'Hi there!'], stdout=subprocess.PIPE) print pipe.stdout.read()

produces the expected "Hi there!" when run from a console. But when run from an XEmacs non-interactive subshell, I get this traceback:

Traceback (most recent call last): File "C:\temp\subprocessbug.py", line 3, in ? stdout=subprocess.PIPE) File "c:\App\Dev\Python24\lib\subprocess.py", line 545, in init (p2cread, p2cwrite, File "c:\App\Dev\Python24\lib\subprocess.py", line 605, in _get_handles p2cread = self._make_inheritable(p2cread) File "c:\App\Dev\Python24\lib\subprocess.py", line 646, in _make_inheritable DUPLICATE_SAME_ACCESS) TypeError: an integer is required

Python 2.4 (#60, Nov 30 2004, 11:49:19) [MSC v.1310 32 bit (Intel)] W2K, XEmacs 21.4p13