Author: martin.v.loewis
Date: Thu Aug 30 16:57:25 2007
New Revision: 57722

Modified:
   python/branches/py3k/Modules/main.c
   python/branches/py3k/Tools/buildbot/test.bat
Log:
Implement PYTHONNOERRORWINDOW.

Modified: python/branches/py3k/Modules/main.c
==============================================================================
--- python/branches/py3k/Modules/main.c (original)
+++ python/branches/py3k/Modules/main.c Thu Aug 30 16:57:25 2007
@@ -9,11 +9,16 @@
 #endif
 
 #if defined(MS_WINDOWS) || defined(__CYGWIN__)
+#include <windows.h>
 #ifdef HAVE_FCNTL_H
 #include <fcntl.h>
 #endif
 #endif
 
+#ifdef _MSC_VER
+#include <crtdbg.h>
+#endif
+
 #if (defined(PYOS_OS2) && !defined(PYCC_GCC)) || defined(MS_WINDOWS)
 #define PYTHONHOMEHELP "<prefix>\\lib"
 #else
@@ -323,6 +328,25 @@
            (p = Py_GETENV("PYTHONUNBUFFERED")) && *p != '\0')
                unbuffered = 1;
 
+#ifdef MS_WINDOWS
+       if ((p = Py_GETENV("PYTHONNOERRORWINDOW")) && *p != '\0') {
+               /* Disable all error windows created by the sytem
+                  or the CRT. */
+#if defined(_DEBUG) && defined(_MSC_VER)
+               int types[] = {_CRT_WARN, _CRT_ERROR, _CRT_ASSERT};
+               int i;
+               for (i = 0; i < sizeof(types)/sizeof(types[0]); i++) {
+                   _CrtSetReportFile(types[i], _CRTDBG_FILE_STDERR);
+                   _CrtSetReportMode(types[i], _CRTDBG_MODE_FILE);
+               }
+               _set_error_mode(_OUT_TO_STDERR);
+#endif
+               SetErrorMode(SEM_FAILCRITICALERRORS | 
SEM_NOALIGNMENTFAULTEXCEPT |
+                            SEM_NOGPFAULTERRORBOX | SEM_NOOPENFILEERRORBOX);
+       }
+#endif
+
+
        if (command == NULL && module == NULL && _PyOS_optind < argc &&
            strcmp(argv[_PyOS_optind], "-") != 0)
        {

Modified: python/branches/py3k/Tools/buildbot/test.bat
==============================================================================
--- python/branches/py3k/Tools/buildbot/test.bat        (original)
+++ python/branches/py3k/Tools/buildbot/test.bat        Thu Aug 30 16:57:25 2007
@@ -1,3 +1,4 @@
 @rem Used by the buildbot "test" step.
 cd PCbuild
+set PYTHONNOERRORWINDOW=1
 call rt.bat -d -q -uall -rw
_______________________________________________
Python-3000-checkins mailing list
[email protected]
http://mail.python.org/mailman/listinfo/python-3000-checkins

Reply via email to