win32: win32console.GetStdHandle() can return None
When the Mercurial Python libraries are used within a Windows application with
no console, there is no stderr file handle.
--- a/mercurial/win32.py Sun Jan 09 00:35:36 2011 +0900
+++ b/mercurial/win32.py Fri Jan 21 14:42:15 2011 -0600
@@ -170,6 +170,8 @@
try:
# Query stderr to avoid problems with redirections
screenbuf = win32console.GetStdHandle(win32console.STD_ERROR_HANDLE)
+ if screenbuf is None:
+ return 79
try:
window = screenbuf.GetConsoleScreenBufferInfo()['Window']
width = window.Right - window.Left