Mercurial > cpython-lru_cache-weakref
view Mac/Python/gusiconfig.cpp @ 23029:8291473fde3e legacy-trunk
Mass checkin of universal newline support.
Highlights: import and friends will understand any of \r, \n and \r\n
as end of line. Python file input will do the same if you use mode 'U'.
Everything can be disabled by configuring with --without-universal-newlines.
See PEP278 for details.
| author | Jack Jansen <jack.jansen@cwi.nl> |
|---|---|
| date | Sun, 14 Apr 2002 20:12:41 +0000 |
| parents | f29c766864cb |
| children |
line wrap: on
line source
/* * Generated with the GUSIConfig application and then hand-modified by jack. */ #define GUSI_SOURCE #include <GUSIConfig.h> #include <sys/cdefs.h> #include <Resources.h> #include "Python.h" #include "macglue.h" #include "pythonresources.h" static void PyMac_GUSISpin(bool wait) { static Boolean inForeground = true; int maxsleep = 6; /* 6 ticks is "normal" sleeptime */ if (PyMac_ConsoleIsDead) return; if ( !wait ) maxsleep = 0; PyMac_DoYield(maxsleep, 0); /* XXXX or is it safe to call python here? */ } /* Declarations of Socket Factories */ __BEGIN_DECLS void GUSIwithInetSockets(); void GUSIwithLocalSockets(); void GUSIwithMTInetSockets(); void GUSIwithMTTcpSockets(); void GUSIwithMTUdpSockets(); void GUSIwithOTInetSockets(); void GUSIwithOTTcpSockets(); void GUSIwithOTUdpSockets(); void GUSIwithPPCSockets(); void GUSISetupFactories(); __END_DECLS /* Configure Socket Factories */ void GUSISetupFactories() { #ifdef GUSISetupFactories_BeginHook GUSISetupFactories_BeginHook #endif GUSIwithInetSockets(); #ifdef GUSISetupFactories_EndHook GUSISetupFactories_EndHook #endif } /* Declarations of File Devices */ __BEGIN_DECLS void GUSIwithDConSockets(); void GUSIwithNullSockets(); void GUSISetupDevices(); __END_DECLS /* Configure File Devices */ void GUSISetupDevices() { #ifdef GUSISetupDevices_BeginHook GUSISetupDevices_BeginHook #endif #ifdef GUSISetupDevices_EndHook GUSISetupDevices_EndHook #endif } #ifndef __cplusplus #error GUSISetupConfig() needs to be written in C++ #endif GUSIConfiguration::FileSuffix sSuffices[] = { "", '????', '????' }; extern "C" void GUSISetupConfig() { Handle h; short oldrh, prefrh = -1; short resource_id = GUSIConfiguration::kNoResource; oldrh = CurResFile(); /* Try override from the application resource fork */ UseResFile(PyMac_AppRefNum); h = Get1Resource('GU\267I', GUSIOPTIONSOVERRIDE_ID); if ( h ) { resource_id = GUSIOPTIONSOVERRIDE_ID; } else { /* Next try normal resource from preference file */ UseResFile(oldrh); prefrh = PyMac_OpenPrefFile(); h = Get1Resource('GU\267I', GUSIOPTIONS_ID); if ( h ) { resource_id = GUSIOPTIONS_ID; } else { /* Finally try normal resource from application */ if ( prefrh != -1 ) { CloseResFile(prefrh); prefrh = -1; } resource_id = GUSIOPTIONS_ID; } } /* Now we have the right resource file topmost and the id. Init GUSI. */ GUSIConfiguration * config = GUSIConfiguration::CreateInstance(resource_id); /* Finally restore the old resource file */ if ( prefrh != -1) CloseResFile(prefrh); UseResFile(oldrh); config->ConfigureDefaultTypeCreator('TEXT', 'R*ch'); #if 0 config->ConfigureSuffices( sizeof(sSuffices)/sizeof(GUSIConfiguration::FileSuffix)-1, sSuffices); #endif config->ConfigureAutoInitGraf(false); config->ConfigureAutoSpin(false); config->ConfigureHandleAppleEvents(false); config->ConfigureSigInt(false); config->ConfigureSigPipe(true); GUSISetHook(GUSI_SpinHook, (GUSIHook)PyMac_GUSISpin); } /**************** END GUSI CONFIGURATION *************************/
