1. 27 Ock, 2018 1 kayıt (commit)
  2. 26 Ock, 2018 1 kayıt (commit)
    • Guido van Rossum's avatar
      String annotations [PEP 563] (#4390) · 95e4d589
      Guido van Rossum yazdı
      * Document `from __future__ import annotations`
      * Provide plumbing and tests for `from __future__ import annotations`
      * Implement unparsing the AST back to string form
      
      This is required for PEP 563 and as such only implements a part of the
      unparsing process that covers expressions.
      95e4d589
  3. 25 Ock, 2018 1 kayıt (commit)
  4. 24 Ock, 2018 2 kayıt (commit)
    • Paul Ganssle's avatar
      bpo-10381: Add timezone to datetime C API (#5032) · 04af5b1b
      Paul Ganssle yazdı
      * Add timezone to datetime C API
      
      * Add documentation for timezone C API macros
      
      * Add dedicated tests for datetime type check macros
      
      * Remove superfluous C API test
      
      * Drop support for TimeZoneType in datetime C API
      
      * Expose UTC singleton to the datetime C API
      
      * Update datetime C-API documentation to include links
      
      * Add reference count information for timezone constructors
      04af5b1b
    • Victor Stinner's avatar
      bpo-32030: Add _PyCoreConfig.module_search_paths (#4954) · 8ded5b80
      Victor Stinner yazdı
      _PyCoreConfig_Read() is now responsible to compute sys.path.
      So sys.path is now computed before calling _Py_InitializeCore().
      
      Changes:
      
      * Add module_search_path, module_search_paths, executable, prefix,
        base_prefix, exec_prefix and base_exec_prefix to _PyCoreConfig.
      * _PyMainInterpreterConfig_Read() now only converts wchar_t** lists
        into a Python list, it doesn't compute sys.path anymore.
      8ded5b80
  5. 23 Ock, 2018 2 kayıt (commit)
  6. 22 Ock, 2018 1 kayıt (commit)
  7. 21 Ock, 2018 1 kayıt (commit)
    • Nathaniel J. Smith's avatar
      bpo-32591: Add native coroutine origin tracking (#5250) · fc2f4078
      Nathaniel J. Smith yazdı
      * Add coro.cr_origin and sys.set_coroutine_origin_tracking_depth
      * Use coroutine origin information in the unawaited coroutine warning
      * Stop using set_coroutine_wrapper in asyncio debug mode
      * In BaseEventLoop.set_debug, enable debugging in the correct thread
      fc2f4078
  8. 16 Ock, 2018 1 kayıt (commit)
    • INADA Naoki's avatar
      bpo-32544: Speed up hasattr() and getattr() (GH-5173) · 378edee0
      INADA Naoki yazdı
      AttributeError was raised always when attribute is not found.
      This commit skip raising AttributeError when `tp_getattro` is `PyObject_GenericGetAttr`.
      It makes hasattr() and getattr() about 4x faster when attribute is not found.
      378edee0
  9. 15 Ock, 2018 2 kayıt (commit)
    • Victor Stinner's avatar
      bpo-31900: Fix localeconv() encoding for LC_NUMERIC (#4174) · cb064fc2
      Victor Stinner yazdı
      * Add _Py_GetLocaleconvNumeric() function: decode decimal_point and
        thousands_sep fields of localeconv() from the LC_NUMERIC encoding,
        rather than decoding from the LC_CTYPE encoding.
      * Modify locale.localeconv() and "n" formatter of str.format() (for
        int, float and complex to use _Py_GetLocaleconvNumeric()
        internally.
      cb064fc2
    • Victor Stinner's avatar
      bpo-29240: Fix locale encodings in UTF-8 Mode (#5170) · 7ed7aead
      Victor Stinner yazdı
      Modify locale.localeconv(), time.tzname, os.strerror() and other
      functions to ignore the UTF-8 Mode: always use the current locale
      encoding.
      
      Changes:
      
      * Add _Py_DecodeLocaleEx() and _Py_EncodeLocaleEx(). On decoding or
        encoding error, they return the position of the error and an error
        message which are used to raise Unicode errors in
        PyUnicode_DecodeLocale() and PyUnicode_EncodeLocale().
      * Replace _Py_DecodeCurrentLocale() with _Py_DecodeLocaleEx().
      * PyUnicode_DecodeLocale() now uses _Py_DecodeLocaleEx() for all
        cases, especially for the strict error handler.
      * Add _Py_DecodeUTF8Ex(): return more information on decoding error
        and supports the strict error handler.
      * Rename _Py_EncodeUTF8_surrogateescape() to _Py_EncodeUTF8Ex().
      * Replace _Py_EncodeCurrentLocale() with _Py_EncodeLocaleEx().
      * Ignore the UTF-8 mode to encode/decode localeconv(), strerror()
        and time zone name.
      * Remove PyUnicode_DecodeLocale(), PyUnicode_DecodeLocaleAndSize()
        and PyUnicode_EncodeLocale() now ignore the UTF-8 mode: always use
        the "current" locale.
      * Remove _PyUnicode_DecodeCurrentLocale(),
        _PyUnicode_DecodeCurrentLocaleAndSize() and
        _PyUnicode_EncodeCurrentLocale().
      7ed7aead
  10. 11 Ock, 2018 1 kayıt (commit)
  11. 10 Ock, 2018 1 kayıt (commit)
    • Victor Stinner's avatar
      bpo-29240: readline now ignores the UTF-8 Mode (#5145) · 2cba6b85
      Victor Stinner yazdı
      Add new fuctions ignoring the UTF-8 mode:
      
      * _Py_DecodeCurrentLocale()
      * _Py_EncodeCurrentLocale()
      * _PyUnicode_DecodeCurrentLocaleAndSize()
      * _PyUnicode_EncodeCurrentLocale()
      
      Modify the readline module to use these functions.
      
      Re-enable test_readline.test_nonascii().
      2cba6b85
  12. 09 Ock, 2018 2 kayıt (commit)
  13. 06 Ock, 2018 1 kayıt (commit)
  14. 25 Ara, 2017 2 kayıt (commit)
  15. 21 Ara, 2017 2 kayıt (commit)
    • Victor Stinner's avatar
      bpo-32030: Add _Py_FindEnvConfigValue() (#4963) · 9bee3291
      Victor Stinner yazdı
      Add a new _Py_FindEnvConfigValue() function: code shared between
      Windows and Unix implementations of _PyPathConfig_Calculate() to read
      the pyenv.cfg file.
      
      _Py_FindEnvConfigValue() now uses _Py_DecodeUTF8_surrogateescape()
      instead of using a Python Unicode string, the Python API must not be
      used early during Python initialization. Same change in Unix
      search_for_exec_prefix(): use _Py_DecodeUTF8_surrogateescape().
      
      Cleanup also encode_current_locale(): PyMem_RawFree/PyMem_Free can be
      called with NULL.
      
      Fix also "NUL byte" => "NULL byte" typo.
      9bee3291
    • Victor Stinner's avatar
      bpo-32030: Add _Py_EncodeLocaleRaw() (#4961) · 9dd76201
      Victor Stinner yazdı
      Replace Py_EncodeLocale() with _Py_EncodeLocaleRaw() in:
      
      * _Py_wfopen()
      * _Py_wreadlink()
      * _Py_wrealpath()
      * _Py_wstat()
      * pymain_open_filename()
      
      These functions are called early during Python intialization, only
      the RAW memory allocator must be used.
      9dd76201
  16. 20 Ara, 2017 3 kayıt (commit)
    • Victor Stinner's avatar
      bpo-32030: Complete _PyCoreConfig_Read() (#4946) · 9cfc0026
      Victor Stinner yazdı
      * Add _PyCoreConfig.install_signal_handlers
      * Remove _PyMain.config: _PyMainInterpreterConfig usage is now
        restricted to pymain_init_python_main().
      * Rename _PyMain.core_config to _PyMain.config
      * _PyMainInterpreterConfig_Read() now creates the xoptions dictionary
         from the core config
      * Fix _PyMainInterpreterConfig_Read(): don't replace xoptions and
        argv if they are already set.
      9cfc0026
    • Victor Stinner's avatar
      bpo-32030: Add _PyCoreConfig.warnoptions (#4936) · ca719ac4
      Victor Stinner yazdı
      Merge _PyCoreConfig_ReadEnv() into _PyCoreConfig_Read(), and
      _Py_CommandLineDetails usage is now restricted to pymain_cmdline().
      
      Changes:
      
      * _PyCoreConfig: Add nxoption, xoptions, nwarnoption and warnoptions
      * Add _PyCoreConfig.program: argv[0] or ""
      * Move filename, command, module and xoptions from
        _Py_CommandLineDetails to _PyMain. xoptions _Py_OptList becomes
        (int, wchar_t**) list.
      * Add pymain_cmdline() function
      * Rename copy_argv() to copy_wstrlist(). Rename clear_argv() to
        clear_wstrlist(). Remove _Py_OptList structure: use (int,
        wchar_t**) list instead.
      * Rename pymain_set_flag_from_env() to pymain_get_env_flag()
      * Rename pymain_set_flags_from_env() to pymain_get_env_flags()
      * _PyMainInterpreterConfig_Read() now creates the warnoptions from
        _PyCoreConfig.warnoptions
      * Inline pymain_add_warning_dev_mode() and
        pymain_add_warning_bytes_flag() into config_init_warnoptions()
      * Inline pymain_get_program_name() into _PyCoreConfig_Read()
      * _Py_CommandLineDetails: Replace warning_options with nwarnoption
        and warnoptions. Replace env_warning_options with nenv_warnoption
        and env_warnoptions.
      * pymain_warnings_envvar() now has a single implementation for
        Windows and Unix: use config_get_env_var_dup() to also get the
        variable as wchar_t* on Unix.
      ca719ac4
    • Marcel Plch's avatar
      bpo-31901: atexit callbacks should be run at subinterpreter shutdown (#4611) · 776407fe
      Marcel Plch yazdı
      Change atexit behavior and PEP-489 multiphase init support.
      776407fe
  17. 19 Ara, 2017 2 kayıt (commit)
    • Victor Stinner's avatar
      bpo-32030: Add _PyCoreConfig.argv (#4934) · c4bca951
      Victor Stinner yazdı
      * Add argc and argv to _PyCoreConfig
      * _PyMainInterpreterConfig_Read() now builds its argv from
        _PyCoreConfig.arg
      * Move _PyMain.env_warning_options into _Py_CommandLineDetails
      * Reorder pymain_free()
      c4bca951
    • Victor Stinner's avatar
      bpo-32030: Fix compiler warnings (#4921) · 5d862464
      Victor Stinner yazdı
      Fix compiler warnings in Py_FinalizeEx(): only define variables if
      they are needed, add #ifdef.
      
      Other cleanup changes:
      
      * _PyWarnings_InitWithConfig() is no more needed: call
        _PyWarnings_Init() instead.
      * Inline pymain_init_main_interpreter() in its caller. This
        subfunction is no more justifed.
      5d862464
  18. 17 Ara, 2017 1 kayıt (commit)
  19. 16 Ara, 2017 2 kayıt (commit)
    • Andrew Svetlov's avatar
      95084026
    • Victor Stinner's avatar
      bpo-29240, bpo-32030: Py_Main() re-reads config if encoding changes (#4899) · 9454060e
      Victor Stinner yazdı
      bpo-29240, bpo-32030: If the encoding change (C locale coerced or
      UTF-8 Mode changed), Py_Main() now reads again the configuration with
      the new encoding.
      
      Changes:
      
      * Add _Py_UnixMain() called by main().
      * Rename pymain_free_pymain() to pymain_clear_pymain(), it can now be
        called multipled times.
      * Rename pymain_parse_cmdline_envvars() to pymain_read_conf().
      * Py_Main() now clears orig_argc and orig_argv at exit.
      * Remove argv_copy2, Py_Main() doesn't modify argv anymore. There is
        no need anymore to get two copies of the wchar_t** argv.
      * _PyCoreConfig: add coerce_c_locale and coerce_c_locale_warn.
      * Py_UTF8Mode is now initialized to -1.
      * Locale coercion (PEP 538) now respects -I and -E options.
      9454060e
  20. 15 Ara, 2017 4 kayıt (commit)
  21. 14 Ara, 2017 4 kayıt (commit)
    • Victor Stinner's avatar
      bpo-32329: Fix -R option for hash randomization (#4873) · 358e5e17
      Victor Stinner yazdı
      bpo-32329, bpo-32030:
      
      * The -R option now turns on hash randomization when the
        PYTHONHASHSEED environment variable is set to 0 Previously, the
        option was ignored.
      * sys.flags.hash_randomization is now properly set to 0 when hash
        randomization is turned off by PYTHONHASHSEED=0.
      * _PyCoreConfig_ReadEnv() now reads the PYTHONHASHSEED environment
        variable. _Py_HashRandomization_Init() now only apply the
        configuration, it doesn't read PYTHONHASHSEED anymore.
      358e5e17
    • Victor Stinner's avatar
      bpo-32030: Add _PyMainInterpreterConfig.warnoptions (#4855) · 374c6e17
      Victor Stinner yazdı
      Add warnoptions and xoptions fields to _PyMainInterpreterConfig.
      374c6e17
    • INADA Naoki's avatar
    • Victor Stinner's avatar
      bpo-32030: Rewrite _PyMainInterpreterConfig (#4854) · b5fd9ad0
      Victor Stinner yazdı
      _PyMainInterpreterConfig now contains Python objects, whereas
      _PyCoreConfig contains wchar_t* strings.
      
      Core config:
      
      * Rename _PyMainInterpreterConfig_ReadEnv() to _PyCoreConfig_ReadEnv()
      * Move 3 strings from _PyMainInterpreterConfig to _PyCoreConfig:
        module_search_path_env, home, program_name.
      * Add _PyCoreConfig_Clear()
      * _PyPathConfig_Calculate() now takes core config rather than main
        config
      * _PyMainInterpreterConfig_Read() now requires also a core config
      
      Main config:
      
      * Add _PyMainInterpreterConfig.module_search_path: sys.path list
      * Add _PyMainInterpreterConfig.argv: sys.argv list
      * _PyMainInterpreterConfig_Read() now computes module_search_path
      b5fd9ad0
  22. 13 Ara, 2017 3 kayıt (commit)
    • Victor Stinner's avatar
      bpo-32030: Add _PyPathConfig_ComputeArgv0() (#4845) · 11a247df
      Victor Stinner yazdı
      Changes:
      
      * Split _PySys_SetArgvWithError() into subfunctions for Py_Main():
      
        * Create the Python list object
        * Set sys.argv to the list
        * Compute argv0
        * Prepend argv0 to sys.path
      
      * Add _PyPathConfig_ComputeArgv0()
      * Remove _PySys_SetArgvWithError()
      * Py_Main() now splits the code to compute sys.argv/path0 and the
        code to update the sys module: add pymain_compute_argv()
        subfunction.
      11a247df
    • Victor Stinner's avatar
      pymain_set_sys_argv() now copies argv (#4838) · d5dda98f
      Victor Stinner yazdı
      bpo-29240, bpo-32030:
      
      * Rename pymain_set_argv() to pymain_set_sys_argv()
      * pymain_set_sys_argv() now creates of copy of argv and modify the
        copy, rather than modifying pymain->argv
      * Call pymain_set_sys_argv() earlier: before pymain_run_python(), but
        after pymain_get_importer().
      * Add _PySys_SetArgvWithError() to handle errors
      d5dda98f
    • Victor Stinner's avatar
      bpo-29240: PEP 540: Add a new UTF-8 Mode (#855) · 91106cd9
      Victor Stinner yazdı
      * Add -X utf8 command line option, PYTHONUTF8 environment variable
        and a new sys.flags.utf8_mode flag.
      * If the LC_CTYPE locale is "C" at startup: enable automatically the
        UTF-8 mode.
      * Add _winapi.GetACP(). encodings._alias_mbcs() now calls
        _winapi.GetACP() to get the ANSI code page
      * locale.getpreferredencoding() now returns 'UTF-8' in the UTF-8
        mode. As a side effect, open() now uses the UTF-8 encoding by
        default in this mode.
      * Py_DecodeLocale() and Py_EncodeLocale() now use the UTF-8 encoding
        in the UTF-8 Mode.
      * Update subprocess._args_from_interpreter_flags() to handle -X utf8
      * Skip some tests relying on the current locale if the UTF-8 mode is
        enabled.
      * Add test_utf8mode.py.
      * _Py_DecodeUTF8_surrogateescape() gets a new optional parameter to
        return also the length (number of wide characters).
      * pymain_get_global_config() and pymain_set_global_config() now
        always copy flag values, rather than only copying if the new value
        is greater than the old value.
      91106cd9