diff options
author | Christian Heimes <christian@cheimes.de> | 2008-04-12 13:03:03 (GMT) |
---|---|---|
committer | Christian Heimes <christian@cheimes.de> | 2008-04-12 13:03:03 (GMT) |
commit | 7a98d2730c42fc41fd28d622b46dd334e8a2a21d (patch) | |
tree | 311675264c619da17ac7b7c097af9d2a46cb7ead | |
parent | d3ed4921644853d5dd29ed94c848a5cdedef59ef (diff) | |
download | cpython-7a98d2730c42fc41fd28d622b46dd334e8a2a21d.zip cpython-7a98d2730c42fc41fd28d622b46dd334e8a2a21d.tar.gz cpython-7a98d2730c42fc41fd28d622b46dd334e8a2a21d.tar.bz2 |
Applied patch #2617 from Frank Wierzbicki wit some extras from me
-J and -X are now reserved for Jython and non-standard arguments (e.g. IronPython). I've added some extra comments to make sure the reservation don't get missed in the future.
-rw-r--r-- | Misc/NEWS | 3 | ||||
-rw-r--r-- | Modules/main.c | 6 | ||||
-rw-r--r-- | Python/getopt.c | 13 |
3 files changed, 20 insertions, 2 deletions
@@ -12,6 +12,9 @@ What's New in Python 2.6 alpha 3? Core and builtins ----------------- +- Patch #2617: Reserved -J and -X arguments for Jython, IronPython and other + implementations of Python. + Extensions Modules ------------------ diff --git a/Modules/main.c b/Modules/main.c index a919740..8e02fe4 100644 --- a/Modules/main.c +++ b/Modules/main.c @@ -40,7 +40,7 @@ static char **orig_argv; static int orig_argc; /* command line options */ -#define BASE_OPTS "3bBc:dEhim:OQ:StuUvVW:xX?" +#define BASE_OPTS "3bBc:dEhiJm:OQ:StuUvVW:xX?" #ifndef RISCOS #define PROGRAM_OPTS BASE_OPTS @@ -349,6 +349,8 @@ Py_Main(int argc, char **argv) Py_InteractiveFlag++; break; + /* case 'J': reserved for Jython */ + case 'O': Py_OptimizeFlag++; break; @@ -388,6 +390,8 @@ Py_Main(int argc, char **argv) skipfirstline = 1; break; + /* case 'X': reserved for non-standard arguments */ + case 'U': Py_UnicodeFlag++; break; diff --git a/Python/getopt.c b/Python/getopt.c index 659efcf..acdd5d7 100644 --- a/Python/getopt.c +++ b/Python/getopt.c @@ -80,7 +80,18 @@ int _PyOS_GetOpt(int argc, char **argv, char *optstring) if ( (option = *opt_ptr++) == '\0') return -1; - + + if (option == 'J') { + fprintf(stderr, "-J is reserved for Jython\n"); + return '_'; + } + + if (option == 'X') { + fprintf(stderr, + "-X is reserved for non-standard arguments\n"); + return '_'; + } + if ((ptr = strchr(optstring, option)) == NULL) { if (_PyOS_opterr) fprintf(stderr, "Unknown option: -%c\n", option); |