• Victor Stinner's avatar
    bpo-32030: Split Py_Main() into subfunctions (#4399) · f7e5b56c
    Victor Stinner yazdı
    * Don't use "Python runtime" anymore to parse command line options or
      to get environment variables: pymain_init() is now a strict
      separation.
    * Use an error message rather than "crashing" directly with
      Py_FatalError(). Limit the number of calls to Py_FatalError(). It
      prepares the code to handle errors more nicely later.
    * Warnings options (-W, PYTHONWARNINGS) and "XOptions" (-X) are now
      only added to the sys module once Python core is properly
      initialized.
    * _PyMain is now the well identified owner of some important strings
      like: warnings options, XOptions, and the "program name". The
      program name string is now properly freed at exit.
      pymain_free() is now responsible to free the "command" string.
    * Rename most methods in Modules/main.c to use a "pymain_" prefix to
      avoid conflits and ease debug.
    * Replace _Py_CommandLineDetails_INIT with memset(0)
    * Reorder a lot of code to fix the initialization ordering. For
      example, initializing standard streams now comes before parsing
      PYTHONWARNINGS.
    * Py_Main() now handles errors when adding warnings options and
      XOptions.
    * Add _PyMem_GetDefaultRawAllocator() private function.
    * Cleanup _PyMem_Initialize(): remove useless global constants: move
      them into _PyMem_Initialize().
    * Call _PyRuntime_Initialize() as soon as possible:
      _PyRuntime_Initialize() now returns an error message on failure.
    * Add _PyInitError structure and following macros:
    
      * _Py_INIT_OK()
      * _Py_INIT_ERR(msg)
      * _Py_INIT_USER_ERR(msg): "user" error, don't abort() in that case
      * _Py_INIT_FAILED(err)
    f7e5b56c
Adı
Son kayıt (commit)
Son güncelleme
..
Python.asdl Loading commit data...
acceler.c Loading commit data...
asdl.py Loading commit data...
asdl_c.py Loading commit data...
bitset.c Loading commit data...
firstsets.c Loading commit data...
grammar.c Loading commit data...
grammar1.c Loading commit data...
listnode.c Loading commit data...
metagrammar.c Loading commit data...
myreadline.c Loading commit data...
node.c Loading commit data...
parser.c Loading commit data...
parser.h Loading commit data...
parsetok.c Loading commit data...
parsetok_pgen.c Loading commit data...
pgen.c Loading commit data...
pgenmain.c Loading commit data...
printgrammar.c Loading commit data...
tokenizer.c Loading commit data...
tokenizer.h Loading commit data...
tokenizer_pgen.c Loading commit data...