]> granicus.if.org Git - python/commitdiff
Added preferences/startup options for division warning
authorJack Jansen <jack.jansen@cwi.nl>
Sat, 1 Sep 2001 22:37:54 +0000 (22:37 +0000)
committerJack Jansen <jack.jansen@cwi.nl>
Sat, 1 Sep 2001 22:37:54 +0000 (22:37 +0000)
and accepting unix-style newlines on input.

Also (finally) added a startup option to get -vv behaviour.

Moved __convert_to_newlines to main.c because that's easier with the newline option.

Mac/Python/macglue.c
Mac/Python/macmain.c

index d42484bfbebc0796d453b7d77de7715e915faed3..9c01fd74b807ed48c0bb102042989f9a2dd72265 100644 (file)
@@ -179,23 +179,6 @@ static PyObject *python_event_handler;
 */
 int PyMac_AppearanceCompliant;
 
-#ifndef WITHOUT_UNIX_NEWLINES
-/*
-** Experimental feature (for 2.2a2): allow unix newlines
-** as well as Mac newlines on input. We replace a lowlevel
-** MSL routine to accomplish this
-*/
-void
-__convert_to_newlines(unsigned char * buf, size_t * n_ptr)
-{
-       unsigned char *p;
-       size_t n = *n_ptr;
-       
-       for(p=buf; n > 0; p++, n--)
-               if ( *p == '\r' ) *p = '\n';
-}
-#endif /* WITHOUT_UNIX_NEWLINES */
-
 /* Given an FSSpec, return the FSSpec of the parent folder */
 
 static OSErr
index b82395c9f439df54544bea7ed745cfe12ce5377b..c72bc33774e07a4d600b638029b75d397cdbc69f 100644 (file)
@@ -62,9 +62,6 @@ extern PyMac_AddLibResources(void);
 #define COPYRIGHT \
     "Type \"copyright\", \"credits\" or \"license\" for more information."
 
-
-extern int Py_DebugFlag; /* For parser.c, declared in pythonrun.c */
-extern int Py_VerboseFlag; /* For import.c, declared in pythonrun.c */
 short PyMac_AppRefNum; /* RefNum of application resource fork */
 
 /* For Py_GetArgcArgv(); set by main() */
@@ -159,6 +156,7 @@ PyMac_InteractiveOptions(PyMac_PrefRecord *p, int *argcp, char ***argvp)
 
        SET_OPT_ITEM(OPT_INSPECT, inspect);
        SET_OPT_ITEM(OPT_VERBOSE, verbose);
+       /* OPT_VERBOSEVERBOSE is default off */
        SET_OPT_ITEM(OPT_OPTIMIZE, optimize);
        SET_OPT_ITEM(OPT_UNBUFFERED, unbuffered);
        SET_OPT_ITEM(OPT_DEBUGGING, debugging);
@@ -173,7 +171,8 @@ PyMac_InteractiveOptions(PyMac_PrefRecord *p, int *argcp, char ***argvp)
 /*     SET_OPT_ITEM(OPT_KEEPCONSOLE, keep_console); */
        SET_OPT_ITEM(OPT_TABWARN, tabwarn);
        SET_OPT_ITEM(OPT_NOSITE, nosite);
-       SET_OPT_ITEM(OPT_NONAVSERV, nonavservice);
+       SET_OPT_ITEM(OPT_DIVISIONWARN, divisionwarn);
+       SET_OPT_ITEM(OPT_UNIXNEWLINES, unixnewlines);
        /* The rest are not settable interactively */
 
 #undef SET_OPT_ITEM
@@ -219,6 +218,16 @@ PyMac_InteractiveOptions(PyMac_PrefRecord *p, int *argcp, char ***argvp)
                
                OPT_ITEM(OPT_INSPECT, inspect);
                OPT_ITEM(OPT_VERBOSE, verbose);
+               if ( item == OPT_VERBOSEVERBOSE ) {
+                       if ( p->verbose == 2 )
+                               p->verbose = 1;
+                       else
+                               p->verbose = 2;
+                       GetDialogItem(dialog, OPT_VERBOSE, &type, (Handle *)&handle, &rect);
+                       SetControlValue(handle, 1);
+               }
+               GetDialogItem(dialog, OPT_VERBOSEVERBOSE, &type, (Handle *)&handle, &rect);
+               SetControlValue(handle, p->verbose == 2);
                OPT_ITEM(OPT_OPTIMIZE, optimize);
                OPT_ITEM(OPT_UNBUFFERED, unbuffered);
                OPT_ITEM(OPT_DEBUGGING, debugging);
@@ -236,7 +245,8 @@ PyMac_InteractiveOptions(PyMac_PrefRecord *p, int *argcp, char ***argvp)
                SetControlValue(handle, (short)(p->keep_console == POPT_KEEPCONSOLE_NEVER));
                OPT_ITEM(OPT_TABWARN, tabwarn);
                OPT_ITEM(OPT_NOSITE, nosite);
-               OPT_ITEM(OPT_NONAVSERV, nonavservice);
+               OPT_ITEM(OPT_DIVISIONWARN, divisionwarn);
+               OPT_ITEM(OPT_UNIXNEWLINES, unixnewlines);
                
 #undef OPT_ITEM
        }
@@ -315,6 +325,7 @@ init_common(int *argcp, char ***argvp, int embedded)
        Py_DebugFlag = PyMac_options.debugging;
        Py_NoSiteFlag = PyMac_options.nosite;
        Py_TabcheckFlag = PyMac_options.tabwarn;
+       Py_DivisionWarningFlag = PyMac_options.divisionwarn;
        if ( PyMac_options.noargs ) {
                /* don't process events at all without the scripts permission */
                PyMacSchedParams scp;
@@ -674,4 +685,24 @@ int
 PyMac_GetDelayConsoleFlag()
 {
        return (int)PyMac_options.delayconsole;
-}
\ No newline at end of file
+}
+
+#ifndef WITHOUT_UNIX_NEWLINES
+/*
+** Experimental feature (for 2.2a2): optionally allow unix newlines
+** as well as Mac newlines on input. We replace a lowlevel
+** MSL routine to accomplish this.
+*/
+void
+__convert_to_newlines(unsigned char * buf, size_t * n_ptr)
+{
+       unsigned char *p;
+       size_t n = *n_ptr;
+       
+       for(p=buf; n > 0; p++, n--)
+               if ( *p == '\r' ) *p = '\n';
+               else if ( *p == '\n' && !PyMac_options.unixnewlines )
+                       *p = '\r';
+}
+#endif /* WITHOUT_UNIX_NEWLINES */
+