{"push_id":2560408802,"size":873,"distinct_size":873,"ref":"refs/heads/master","head":"1e2ec8a996daec65d8d5a3d43b66a9909c6d0653","before":"c319eeeb45043ee45384b8064c53ddbfde1673cd","commits":[{"sha":"6a89481680b921e7b317c29877bdda9a6031e5ad","author":{"name":"Nir Soffer","email":"4ee68412d43dfd99f7312a646c41651b1d418857@gmail.com"},"message":"bpo-32186: Release the GIL during lseek and fstat (#4652)\n\nIn _io_FileIO_readall_impl(), lseek() and _Py_fstat_noraise() were called\r\nwithout releasing the GIL. This can cause all threads to hang for\r\nunlimited time when calling FileIO.read() and the NFS server is not\r\naccessible.","distinct":true,"url":"https://api.github.com/repos/jamesemmott/cpython/commits/6a89481680b921e7b317c29877bdda9a6031e5ad"},{"sha":"73a7e9b10b2ec9636e3c6396cf7b3695f8ed1856","author":{"name":"Serhiy Storchaka","email":"a64d48e8bfb27d6f2e109cb89b94605fd5aa7894@gmail.com"},"message":"bpo-10544: Deprecate \"yield\" in comprehensions and generator expressions. (GH-4579)\n\nThe current behaviour of yield expressions inside comprehensions  and\r\ngenerator expressions is essentially an accident of implementation - it\r\narises implicitly from the way the compiler handles yield expressions inside\r\nnested functions and generators.\r\n\r\nSince the current behaviour wasn't deliberately designed, and is inherently\r\nconfusing, we're deprecating it, with no current plans to reintroduce it.\r\nInstead, our advice will be to use a named nested generator definition\r\nfor cases where this behaviour is desired.","distinct":true,"url":"https://api.github.com/repos/jamesemmott/cpython/commits/73a7e9b10b2ec9636e3c6396cf7b3695f8ed1856"},{"sha":"a561862048555d555fa4850eaf832ae5474c7e1f","author":{"name":"Serhiy Storchaka","email":"a64d48e8bfb27d6f2e109cb89b94605fd5aa7894@gmail.com"},"message":"Don't hide unexpected errors in PyErr_WarnExplicitObject(). (#4585)","distinct":true,"url":"https://api.github.com/repos/jamesemmott/cpython/commits/a561862048555d555fa4850eaf832ae5474c7e1f"},{"sha":"bf2b65e413ca5ec705c7e2f463d0d75e947588a4","author":{"name":"xdegaye","email":"b9be9aafb48f5d72d5e8b09d695d8aee3a2401c2@gmail.com"},"message":"bpo-28668: test.support.requires_multiprocessing_queue is removed (GH-4560)\n\nSkip tests with test.support.import_module('multiprocessing.synchronize')\r\ninstead when the semaphore implementation is broken or missing.","distinct":true,"url":"https://api.github.com/repos/jamesemmott/cpython/commits/bf2b65e413ca5ec705c7e2f463d0d75e947588a4"},{"sha":"8f5c28b19374df47ebe3d665e54c1dda5c2d7dca","author":{"name":"John Chen","email":"c10903188ca9fc7ea7f82f558767bf4ddc832af3@gmail.com"},"message":"Fix asyncio.streams.FlowControlMixin docstring typo. (#4578)","distinct":true,"url":"https://api.github.com/repos/jamesemmott/cpython/commits/8f5c28b19374df47ebe3d665e54c1dda5c2d7dca"},{"sha":"b64de46aae148cfab0980e0ad478da7aafc44900","author":{"name":"Victor Stinner","email":"d6cfda50b86b40dc2c770dfffa1034abd075f4a4@gmail.com"},"message":"bpo-32030: Cleanup \"path config\" code (#4663)\n\n* Rename PyPathConfig structure to _PyPathConfig and move it to\r\n  Include/internal/pystate.h\r\n* Rename path_config to _Py_path_config\r\n* _PyPathConfig: Rename program_name field to program_full_path\r\n* Add assert(str != NULL); to _PyMem_RawWcsdup(), _PyMem_RawStrdup()\r\n  and _PyMem_Strdup().\r\n* Rename calculate_path() to pathconfig_global_init(). The function\r\n  now does nothing if it's already initiallized.","distinct":true,"url":"https://api.github.com/repos/jamesemmott/cpython/commits/b64de46aae148cfab0980e0ad478da7aafc44900"},{"sha":"9ac3d8882712c9675c3d2f9f84af6b5729575cde","author":{"name":"Victor Stinner","email":"d6cfda50b86b40dc2c770dfffa1034abd075f4a4@gmail.com"},"message":"bpo-32030: Fix Py_GetPath(): init program_name (#4665)\n\n* _PyMainInterpreterConfig_ReadEnv() now sets program_name from\r\n  environment variables and pymain_parse_envvars() implements the\r\n  falls back on argv[0].\r\n* Remove _PyMain.program_name: use the program_name from\r\n  _PyMainInterpreterConfig\r\n* Move the Py_SetProgramName() call back to pymain_init_python(),\r\n  just before _Py_InitializeCore().\r\n* pathconfig_global_init() now also calls\r\n  _PyMainInterpreterConfig_Read() to set program_name if it isn't set\r\n  yet\r\n* Cleanup PyCalculatePath: pass main_config to subfunctions to get\r\n  directly fields from main_config (home, module_search_path_env and\r\n  program_name)","distinct":true,"url":"https://api.github.com/repos/jamesemmott/cpython/commits/9ac3d8882712c9675c3d2f9f84af6b5729575cde"},{"sha":"ebac19dad6263141d5db0a2c923efe049dba99d2","author":{"name":"Victor Stinner","email":"d6cfda50b86b40dc2c770dfffa1034abd075f4a4@gmail.com"},"message":"bpo-32030: Don't call _PyPathConfig_Fini() in Py_FinalizeEx() (#4667)\n\nChanges:\r\n\r\n* _PyPathConfig_Fini() cannot be called in Py_FinalizeEx().\r\n  Py_Initialize() and Py_Finalize() can be called multiple times, but\r\n  it must not \"forget\" parameters set by Py_SetProgramName(),\r\n  Py_SetPath() or Py_SetPythonHome(), whereas _PyPathConfig_Fini()\r\n  clear all these parameters.\r\n* config_get_program_name() and calculate_program_full_path() now\r\n  also decode paths using Py_DecodeLocale() to use the\r\n  surrogateescape error handler, rather than decoding using\r\n  mbstowcs() which is strict.\r\n* Change _Py_CheckPython3() prototype: () => (void)\r\n* Truncate a few lines which were too long","distinct":true,"url":"https://api.github.com/repos/jamesemmott/cpython/commits/ebac19dad6263141d5db0a2c923efe049dba99d2"},{"sha":"0ea395ae964c9cd0f499e2ef0d0030c971201220","author":{"name":"Victor Stinner","email":"d6cfda50b86b40dc2c770dfffa1034abd075f4a4@gmail.com"},"message":"bpo-32030: Add Python/pathconfig.c (#4668)\n\n* Factorize code from PC/getpathp.c and Modules/getpath.c to remove\r\n  duplicated code\r\n* rename pathconfig_clear() to _PyPathConfig_Clear()\r\n* Inline _PyPathConfig_Fini() in pymain_impl() and then remove it,\r\n  since it's a oneliner","distinct":true,"url":"https://api.github.com/repos/jamesemmott/cpython/commits/0ea395ae964c9cd0f499e2ef0d0030c971201220"},{"sha":"e23c06e2b03452c9aaf0dae52296c85e572f9bcd","author":{"name":"Victor Stinner","email":"d6cfda50b86b40dc2c770dfffa1034abd075f4a4@gmail.com"},"message":"bpo-32030: Fix config_get_program_name() on macOS (#4669)","distinct":true,"url":"https://api.github.com/repos/jamesemmott/cpython/commits/e23c06e2b03452c9aaf0dae52296c85e572f9bcd"},{"sha":"af5a895073c24637c094772b27526b94a12ec897","author":{"name":"Victor Stinner","email":"d6cfda50b86b40dc2c770dfffa1034abd075f4a4@gmail.com"},"message":"bpo-32030: _PyPathConfig_Init() sets home and program_name (#4673)\n\n_PyPathConfig_Init() now also initialize home and program_name:\r\n\r\n* Rename existing _PyPathConfig_Init() to _PyPathConfig_Calculate().\r\n  Add a new _PyPathConfig_Init() function in pathconfig.c which\r\n  handles the _Py_path_config variable and call\r\n  _PyPathConfig_Calculate().\r\n* Add home and program_name fields to _PyPathConfig.home\r\n* _PyPathConfig_Init() now initialize home and program_name\r\n  from main_config\r\n* Py_SetProgramName(), Py_SetPythonHome() and Py_GetPythonHome() now\r\n  calls Py_FatalError() on failure, instead of silently ignoring\r\n  failures.\r\n* config_init_home() now gets directly _Py_path_config.home to only\r\n  get the value set by Py_SetPythonHome(), or NULL if\r\n  Py_SetPythonHome() was not called.\r\n* config_get_program_name() now gets directly\r\n  _Py_path_config.program_name to only get the value set by\r\n  Py_SetProgramName(), or NULL if Py_SetProgramName() was not called.\r\n* pymain_init_python() doesn't call Py_SetProgramName() anymore,\r\n  _PyPathConfig_Init() now always sets the program name\r\n* Call _PyMainInterpreterConfig_Read() in\r\n  pymain_parse_cmdline_envvars_impl() to control the memory allocator\r\n* C API documentation: it's no more safe to call Py_GetProgramName()\r\n  before Py_Initialize().","distinct":true,"url":"https://api.github.com/repos/jamesemmott/cpython/commits/af5a895073c24637c094772b27526b94a12ec897"},{"sha":"13badcbc60cdbfae1dba1683fd2fae9d70717143","author":{"name":"Serhiy Storchaka","email":"a64d48e8bfb27d6f2e109cb89b94605fd5aa7894@gmail.com"},"message":"bpo-32197: Try to fix a compiler error on OS X introduced in bpo-32030. (#4681)\n\n* Revert \"bpo-32030: _PyPathConfig_Init() sets home and program_name (#4673)\"\r\n\r\nThis reverts commit af5a895073c24637c094772b27526b94a12ec897.\r\n\r\n* Revert \"bpo-32030: Fix config_get_program_name() on macOS (#4669)\"\r\n\r\nThis reverts commit e23c06e2b03452c9aaf0dae52296c85e572f9bcd.\r\n\r\n* Revert \"bpo-32030: Add Python/pathconfig.c (#4668)\"\r\n\r\nThis reverts commit 0ea395ae964c9cd0f499e2ef0d0030c971201220.\r\n\r\n* Revert \"bpo-32030: Don't call _PyPathConfig_Fini() in Py_FinalizeEx() (#4667)\"\r\n\r\nThis reverts commit ebac19dad6263141d5db0a2c923efe049dba99d2.\r\n\r\n* Revert \"bpo-32030: Fix Py_GetPath(): init program_name (#4665)\"\r\n\r\nThis reverts commit 9ac3d8882712c9675c3d2f9f84af6b5729575cde.","distinct":true,"url":"https://api.github.com/repos/jamesemmott/cpython/commits/13badcbc60cdbfae1dba1683fd2fae9d70717143"},{"sha":"1eaa1169c522727b1911b798d45c8984992bd179","author":{"name":"Neil Schemenauer","email":"f2fadedb342b72a66ec4ba382f7c8b20f6da1abd@arctrix.com"},"message":"Add a minimal unit test for Python/frozen.c. (#2995)\n\nIf the marshal or bytecode formats get changed, frozen.c needs to\r\nbe updated as well.  It can be easy to miss this step and not doing\r\nso can cause test_importlib to crash in mysterious ways.  Add an\r\nexplict unit test to make it easier to track down the problem.","distinct":true,"url":"https://api.github.com/repos/jamesemmott/cpython/commits/1eaa1169c522727b1911b798d45c8984992bd179"},{"sha":"7324b5ce8e7c031a0a3832a6a8d7c639111ae0ff","author":{"name":"Julien Palard","email":"5c682c2d1ec4073e277f9ba9f4bdf07e5794dabe@palard.fr"},"message":"bpo-31589 : Build PDF using xelatex for better UTF8 support. (#3940)\n\nAlso addresses doc build failures documented in bpo-32200.","distinct":true,"url":"https://api.github.com/repos/jamesemmott/cpython/commits/7324b5ce8e7c031a0a3832a6a8d7c639111ae0ff"},{"sha":"078f1814f1a4413a2a0fdb8cf4490ee0fc98ef34","author":{"name":"Nick Coghlan","email":"14288b0ac68379affaf47e3a9dfd0203938e4467@gmail.com"},"message":"bpo-32176: Set CO_NOFREE in the code object constructor (GH-4675)\n\nPreviously, CO_NOFREE was set in the compiler, which meant\r\nit could end up being set incorrectly when code objects\r\nwere created directly. Setting it in the constructor based\r\non freevars and cellvars ensures it is always accurate,\r\nregardless of how the code object is defined.","distinct":true,"url":"https://api.github.com/repos/jamesemmott/cpython/commits/078f1814f1a4413a2a0fdb8cf4490ee0fc98ef34"},{"sha":"eea3cc1ef0dec0af193eedb4c1164263fbdfd8cc","author":{"name":"Neil Schemenauer","email":"f2fadedb342b72a66ec4ba382f7c8b20f6da1abd@arctrix.com"},"message":"Refactor PyImport_ImportModuleLevelObject(). (#4680)\n\nAdd import_find_and_load() helper function.  The addition of\r\nthe importtime option has made PyImport_ImportModuleLevelObject() large\r\nand so using a helper seems worthwhile.  It also makes it clearer that\r\nabs_name is the only argument needed by _find_and_load().","distinct":true,"url":"https://api.github.com/repos/jamesemmott/cpython/commits/eea3cc1ef0dec0af193eedb4c1164263fbdfd8cc"},{"sha":"1fb72d2ad243c965d4432b4e93884064001a2607","author":{"name":"Serhiy Storchaka","email":"a64d48e8bfb27d6f2e109cb89b94605fd5aa7894@gmail.com"},"message":"bpo-32137: The repr of deeply nested dict now raises a RecursionError (#4570)\n\ninstead of crashing due to a stack overflow.\r\n\r\nThis perhaps will fix similar problems in other extension types.","distinct":true,"url":"https://api.github.com/repos/jamesemmott/cpython/commits/1fb72d2ad243c965d4432b4e93884064001a2607"},{"sha":"29ba688034fc4eef0693b86002cf7bee55d692af","author":{"name":"Serhiy Storchaka","email":"a64d48e8bfb27d6f2e109cb89b94605fd5aa7894@gmail.com"},"message":"bpo-31619: Fixed integer overflow in converting huge strings to int. (#3884)","distinct":true,"url":"https://api.github.com/repos/jamesemmott/cpython/commits/29ba688034fc4eef0693b86002cf7bee55d692af"},{"sha":"85d5c18c9d83a1d54eecc4c2ad4dce63194107c6","author":{"name":"R. David Murray","email":"98680b4bbf1747c898232b7e1220cfeecedea6af@bitdance.com"},"message":"bpo-27240 Rewrite the email header folding algorithm. (#3488)\n\nThe original algorithm tried to delegate the folding to the tokens so\r\nthat those tokens whose folding rules differed could specify the\r\ndifferences.  However, this resulted in a lot of duplicated code because\r\nmost of the rules were the same.\r\n\r\nThe new algorithm moves all folding logic into a set of functions\r\nexternal to the token classes, but puts the information about which\r\ntokens can be folded in which ways on the tokens...with the exception of\r\nmime-parameters, which are a special case (which was not even\r\nimplemented in the old folder).\r\n\r\nThis algorithm can still probably be improved and hopefully simplified\r\nsomewhat.\r\n\r\nNote that some of the test expectations are changed.  I believe the\r\nchanges are toward more desirable and consistent behavior: in general\r\nwhen (re) folding a line the canonical version of the tokens is\r\ngenerated, rather than preserving errors or extra whitespace.","distinct":true,"url":"https://api.github.com/repos/jamesemmott/cpython/commits/85d5c18c9d83a1d54eecc4c2ad4dce63194107c6"},{"sha":"e69fbb6a560a02d0587b9075afd338a1e9073af0","author":{"name":"Serhiy Storchaka","email":"a64d48e8bfb27d6f2e109cb89b94605fd5aa7894@gmail.com"},"message":"Fix a regression in uuid added in bpo-32107. (#4677)\n\nuuid.get_node() always must return a stable result.\r\nAlso added a test for non-reproducibility of _random_getnode().\r\nOriginal patch by Xavier de Gaye.","distinct":true,"url":"https://api.github.com/repos/jamesemmott/cpython/commits/e69fbb6a560a02d0587b9075afd338a1e9073af0"}]}
{"actor":{"display_login":"jamesemmott"}}