@@ -54,8 +54,9 @@ def get_current_session():
5454
5555
5656class StdFileProxy :
57- def __init__ (self , native ):
57+ def __init__ (self , native , err ):
5858 self ._native = native
59+ self ._err = err
5960
6061 def read (self , size = - 1 ):
6162 if _is_global_greenlet ():
@@ -80,9 +81,14 @@ def write(self, s):
8081 if _is_global_greenlet ():
8182 return self ._native .write (s )
8283 else :
83- return rproc .nil (eval_lua (
84- lua_call ('io.write' , s )
85- ))
84+ if self ._err :
85+ return rproc .nil (eval_lua (
86+ lua_call ('io.stderr:write' , s )
87+ ))
88+ else :
89+ return rproc .nil (eval_lua (
90+ lua_call ('io.write' , s )
91+ ))
8692
8793 def fileno (self ):
8894 if _is_global_greenlet ():
@@ -129,9 +135,9 @@ def install_import_hook():
129135
130136
131137install_import_hook ()
132- sys .stdin = StdFileProxy (sys .__stdin__ )
133- sys .stdout = StdFileProxy (sys .__stdout__ )
134- sys .stderr = StdFileProxy (sys .__stderr__ )
138+ sys .stdin = StdFileProxy (sys .__stdin__ , False )
139+ sys .stdout = StdFileProxy (sys .__stdout__ , False )
140+ sys .stderr = StdFileProxy (sys .__stderr__ , True )
135141
136142
137143def eval_lua (lua_code , immediate = False ):
0 commit comments