]> granicus.if.org Git - python/commitdiff
Add -O option which sets Py_OptimizeFlag to avoid emitting SET_LINENO.
authorGuido van Rossum <guido@python.org>
Mon, 3 Mar 1997 19:14:45 +0000 (19:14 +0000)
committerGuido van Rossum <guido@python.org>
Mon, 3 Mar 1997 19:14:45 +0000 (19:14 +0000)
Fred: sorry, I hadn't checked these changes in.  This should fix your
tracebacks!

Modules/main.c

index 427b19b61f18ee133ce40ac457bad746946d2e40..0cab825157568574c34615a1448f198a0da56046 100644 (file)
@@ -61,7 +61,7 @@ static int  orig_argc;
 
 /* Short usage message (with %s for argv0) */
 static char *usage_line =
-"usage: %s [-d] [-i] [-s] [-u] [-v] [-c cmd | file | -] [arg] ...\n";
+"usage: %s [-d] [-i] [-O] [-s] [-u] [-v] [-c cmd | file | -] [arg] ...\n";
 
 /* Long usage message, split into parts < 512 bytes */
 static char *usage_top = "\n\
@@ -69,6 +69,7 @@ Options and arguments (and corresponding environment variables):\n\
 -d     : debug output from parser (also PYTHONDEBUG=x)\n\
 -i     : inspect interactively after running script, (also PYTHONINSPECT=x)\n\
          and force prompts, even if stdin does not appear to be a terminal.\n\
+-O     : optimize generated bytecode (a tad).\n\
 -s     : suppress printing of top level expressions (also PYTHONSUPPRESS=x)\n\
 -u     : unbuffered stdout and stderr (also PYTHONUNBUFFERED=x)\n\
 -v     : verbose (trace import statements) (also PYTHONVERBOSE=x)\n\
@@ -118,7 +119,7 @@ main(argc, argv)
        if ((p = getenv("PYTHONUNBUFFERED")) && *p != '\0')
                unbuffered = 1;
 
-       while ((c = getopt(argc, argv, "c:disuv")) != EOF) {
+       while ((c = getopt(argc, argv, "c:diOsuv")) != EOF) {
                if (c == 'c') {
                        /* -c is the last option; following arguments
                           that look like options are left for the
@@ -143,6 +144,10 @@ main(argc, argv)
                        Py_InteractiveFlag++;
                        break;
 
+               case 'O':
+                       Py_OptimizeFlag++;
+                       break;
+
                case 's':
                        Py_SuppressPrintingFlag++;
                        break;