Mercurial > cpython-lru_cache-weakref
diff Mac/Python/macmain.c @ 19641:c9647fa78f05 legacy-trunk
Added preferences/startup options for division warning
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.
| author | Jack Jansen <jack.jansen@cwi.nl> |
|---|---|
| date | Sat, 01 Sep 2001 22:37:54 +0000 |
| parents | d7590122f9a2 |
| children | c93d7d0857a2 |
line wrap: on
line diff
--- a/Mac/Python/macmain.c Sat Sep 01 22:36:29 2001 +0000 +++ b/Mac/Python/macmain.c Sat Sep 01 22:37:54 2001 +0000 @@ -62,9 +62,6 @@ #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 @@ 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 @@ /* 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 @@ 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 @@ 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 @@ 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 @@ 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 */ +
