Incremented by the -d command line option. Set by the PYTHONDEBUG
environment variable. If set to -1 (default), inherit Py_DebugFlag
value. */
- int debug;
+ int parser_debug;
/* If equal to 0, Python won't try to write ``.pyc`` files on the
import of source modules.
!Py_NoUserSiteDirectory. */
int user_site_directory;
- /* If greater than 0, enable unbuffered mode: force the stdout and stderr
+ /* If equal to 0, enable unbuffered mode: force the stdout and stderr
streams to be unbuffered.
- Set to 1 by the -u option. Set by the PYTHONUNBUFFERED environment
- variable. If set to -1 (default), inherit Py_UnbufferedStdioFlag
- value. */
- int unbuffered_stdio;
+ Set to 0 by the -u option. Set by the PYTHONUNBUFFERED environment
+ variable.
+ If set to -1 (default), it is set to !Py_UnbufferedStdioFlag. */
+ int buffered_stdio;
#ifdef MS_WINDOWS
/* If greater than 1, use the "mbcs" encoding instead of the UTF-8
.inspect = -1, \
.interactive = -1, \
.optimization_level = -1, \
- .debug= -1, \
+ .parser_debug= -1, \
.write_bytecode = -1, \
.verbose = -1, \
.quiet = -1, \
.user_site_directory = -1, \
- .unbuffered_stdio = -1, \
+ .buffered_stdio = -1, \
_PyCoreConfig_WINDOWS_INIT \
._install_importlib = 1, \
._frozen = -1}
COPY_FLAG(inspect, Py_InspectFlag);
COPY_FLAG(interactive, Py_InteractiveFlag);
COPY_FLAG(optimization_level, Py_OptimizeFlag);
- COPY_FLAG(debug, Py_DebugFlag);
+ COPY_FLAG(parser_debug, Py_DebugFlag);
COPY_FLAG(verbose, Py_VerboseFlag);
COPY_FLAG(quiet, Py_QuietFlag);
- COPY_FLAG(unbuffered_stdio, Py_UnbufferedStdioFlag);
#ifdef MS_WINDOWS
COPY_FLAG(legacy_windows_fs_encoding, Py_LegacyWindowsFSEncodingFlag);
COPY_FLAG(legacy_windows_stdio, Py_LegacyWindowsStdioFlag);
COPY_FLAG(_frozen, Py_FrozenFlag);
COPY_NOT_FLAG(use_environment, Py_IgnoreEnvironmentFlag);
+ COPY_NOT_FLAG(buffered_stdio, Py_UnbufferedStdioFlag);
COPY_NOT_FLAG(site_import, Py_NoSiteFlag);
COPY_NOT_FLAG(write_bytecode, Py_DontWriteBytecodeFlag);
COPY_NOT_FLAG(user_site_directory, Py_NoUserSiteDirectory);
COPY_FLAG(inspect, Py_InspectFlag);
COPY_FLAG(interactive, Py_InteractiveFlag);
COPY_FLAG(optimization_level, Py_OptimizeFlag);
- COPY_FLAG(debug, Py_DebugFlag);
+ COPY_FLAG(parser_debug, Py_DebugFlag);
COPY_FLAG(verbose, Py_VerboseFlag);
COPY_FLAG(quiet, Py_QuietFlag);
- COPY_FLAG(unbuffered_stdio, Py_UnbufferedStdioFlag);
#ifdef MS_WINDOWS
COPY_FLAG(legacy_windows_fs_encoding, Py_LegacyWindowsFSEncodingFlag);
COPY_FLAG(legacy_windows_stdio, Py_LegacyWindowsStdioFlag);
#endif
COPY_NOT_FLAG(use_environment, Py_IgnoreEnvironmentFlag);
+ COPY_NOT_FLAG(buffered_stdio, Py_UnbufferedStdioFlag);
COPY_NOT_FLAG(site_import, Py_NoSiteFlag);
COPY_NOT_FLAG(write_bytecode, Py_DontWriteBytecodeFlag);
COPY_NOT_FLAG(user_site_directory, Py_NoUserSiteDirectory);
COPY_ATTR(inspect);
COPY_ATTR(interactive);
COPY_ATTR(optimization_level);
- COPY_ATTR(debug);
+ COPY_ATTR(parser_debug);
COPY_ATTR(write_bytecode);
COPY_ATTR(verbose);
COPY_ATTR(quiet);
COPY_ATTR(user_site_directory);
- COPY_ATTR(unbuffered_stdio);
+ COPY_ATTR(buffered_stdio);
#ifdef MS_WINDOWS
COPY_ATTR(legacy_windows_fs_encoding);
COPY_ATTR(legacy_windows_stdio);
break;
case 'd':
- config->debug++;
+ config->parser_debug++;
break;
case 'i':
break;
case 'u':
- config->unbuffered_stdio = 1;
+ config->buffered_stdio = 0;
break;
case 'v':
_setmode(fileno(stderr), O_BINARY);
#endif
- if (config->unbuffered_stdio) {
+ if (!config->buffered_stdio) {
#ifdef HAVE_SETVBUF
setvbuf(stdin, (char *)NULL, _IONBF, BUFSIZ);
setvbuf(stdout, (char *)NULL, _IONBF, BUFSIZ);
assert(config->use_environment > 0);
/* Get environment variables */
- get_env_flag(config, &config->debug, "PYTHONDEBUG");
+ get_env_flag(config, &config->parser_debug, "PYTHONDEBUG");
get_env_flag(config, &config->verbose, "PYTHONVERBOSE");
get_env_flag(config, &config->optimization_level, "PYTHONOPTIMIZE");
get_env_flag(config, &config->inspect, "PYTHONINSPECT");
config->user_site_directory = 0;
}
- get_env_flag(config, &config->unbuffered_stdio, "PYTHONUNBUFFERED");
+ int unbuffered_stdio = 0;
+ get_env_flag(config, &unbuffered_stdio, "PYTHONUNBUFFERED");
+ if (unbuffered_stdio) {
+ config->buffered_stdio = 0;
+ }
+
#ifdef MS_WINDOWS
get_env_flag(config, &config->legacy_windows_fs_encoding,
"PYTHONLEGACYWINDOWSFSENCODING");
printf("inspect = %i\n", config->inspect);
printf("interactive = %i\n", config->interactive);
printf("optimization_level = %i\n", config->optimization_level);
- printf("debug = %i\n", config->debug);
+ printf("parser_debug = %i\n", config->parser_debug);
printf("write_bytecode = %i\n", config->write_bytecode);
printf("verbose = %i\n", config->verbose);
ASSERT_EQUAL(config->verbose, Py_VerboseFlag);
printf("quiet = %i\n", config->quiet);
printf("user_site_directory = %i\n", config->user_site_directory);
- printf("unbuffered_stdio = %i\n", config->unbuffered_stdio);
+ printf("buffered_stdio = %i\n", config->buffered_stdio);
/* FIXME: test legacy_windows_fs_encoding */
/* FIXME: test legacy_windows_stdio */
Py_OptimizeFlag = 1;
config.optimization_level = 2;
- /* FIXME: test debug */
+ /* FIXME: test parser_debug */
putenv("PYTHONDONTWRITEBYTECODE=");
Py_DontWriteBytecodeFlag = 0;
putenv("PYTHONUNBUFFERED=");
Py_UnbufferedStdioFlag = 0;
- config.unbuffered_stdio = 1;
+ config.buffered_stdio = 0;
putenv("PYTHONNOUSERSITE=");
Py_NoUserSiteDirectory = 0;