1. 02 Eki, 2016 1 kayıt (commit)
  2. 30 Eyl, 2016 1 kayıt (commit)
  3. 11 Eyl, 2016 2 kayıt (commit)
    • Serhiy Storchaka's avatar
      Issue #27213: Fixed different issues with reworked CALL_FUNCTION* opcodes. · b7281058
      Serhiy Storchaka yazdı
      * BUILD_TUPLE_UNPACK and BUILD_MAP_UNPACK_WITH_CALL no longer generated with
        single tuple or dict.
      * Restored more informative error messages for incorrect var-positional and
        var-keyword arguments.
      * Removed code duplications in _PyEval_EvalCodeWithName().
      * Removed redundant runtime checks and parameters in _PyStack_AsDict().
      * Added a workaround and enabled previously disabled test in test_traceback.
      * Removed dead code from the dis module.
      b7281058
    • Nick Coghlan's avatar
      Issue #23722: Initialize __class__ from type.__new__() · 944368e1
      Nick Coghlan yazdı
      The __class__ cell used by zero-argument super() is now initialized
      from type.__new__ rather than __build_class__, so class methods
      relying on that will now work correctly when called from metaclass
      methods during class creation.
      
      Patch by Martin Teichmann.
      944368e1
  4. 09 Eyl, 2016 3 kayıt (commit)
    • Eric Snow's avatar
      50fd8980
    • Victor Stinner's avatar
      Rework CALL_FUNCTION* opcodes · f9b760f4
      Victor Stinner yazdı
      Issue #27213: Rework CALL_FUNCTION* opcodes to produce shorter and more
      efficient bytecode:
      
      * CALL_FUNCTION now only accepts position arguments
      * CALL_FUNCTION_KW accepts position arguments and keyword arguments, but keys
        of keyword arguments are packed into a constant tuple.
      * CALL_FUNCTION_EX is the most generic, it expects a tuple and a dict for
        positional and keyword arguments.
      
      CALL_FUNCTION_VAR and CALL_FUNCTION_VAR_KW opcodes have been removed.
      
      2 tests of test_traceback are currently broken: skip test, the issue #28050 was
      created to track the issue.
      
      Patch by Demur Rumed, design by Serhiy Storchaka, reviewed by Serhiy Storchaka
      and Victor Stinner.
      f9b760f4
    • Yury Selivanov's avatar
      Issue #27985: Implement PEP 526 -- Syntax for Variable Annotations. · f8cb8a16
      Yury Selivanov yazdı
      Patch by Ivan Levkivskyi.
      f8cb8a16
  5. 08 Eyl, 2016 1 kayıt (commit)
  6. 06 Eyl, 2016 1 kayıt (commit)
  7. 16 Tem, 2016 2 kayıt (commit)
  8. 08 Tem, 2016 1 kayıt (commit)
  9. 12 Haz, 2016 3 kayıt (commit)
  10. 11 Haz, 2016 1 kayıt (commit)
  11. 28 May, 2016 1 kayıt (commit)
  12. 24 May, 2016 1 kayıt (commit)
  13. 17 May, 2016 1 kayıt (commit)
  14. 15 Mar, 2016 1 kayıt (commit)
    • Victor Stinner's avatar
      regrtest: Fix module.__path__ · 82f04e2d
      Victor Stinner yazdı
      Issue #26538: libregrtest: Fix setup_tests() to keep module.__path__ type
      (_NamespacePath), don't convert to a list.
      
      Add _NamespacePath.__setitem__() method to importlib._bootstrap_external.
      82f04e2d
  15. 11 Şub, 2016 1 kayıt (commit)
  16. 20 Ock, 2016 1 kayıt (commit)
    • Victor Stinner's avatar
      co_lnotab supports negative line number delta · f3914eb1
      Victor Stinner yazdı
      Issue #26107: The format of the co_lnotab attribute of code objects changes to
      support negative line number delta.
      
      Changes:
      
      * assemble_lnotab(): if line number delta is less than -128 or greater than
        127, emit multiple (offset_delta, lineno_delta) in co_lnotab
      * update functions decoding co_lnotab to use signed 8-bit integers
      
        - dis.findlinestarts()
        - PyCode_Addr2Line()
        - _PyCode_CheckLineNumber()
        - frame_setlineno()
      
      * update lnotab_notes.txt
      * increase importlib MAGIC_NUMBER to 3361
      * document the change in What's New in Python 3.6
      * cleanup also PyCode_Optimize() to use better variable names
      f3914eb1
  17. 29 Ara, 2015 1 kayıt (commit)
  18. 03 Kas, 2015 1 kayıt (commit)
  19. 01 Eki, 2015 1 kayıt (commit)
  20. 25 Eyl, 2015 1 kayıt (commit)
  21. 11 Eyl, 2015 1 kayıt (commit)
  22. 22 Haz, 2015 1 kayıt (commit)
    • Yury Selivanov's avatar
      Issue #24400: Introduce a distinct type for 'async def' coroutines. · 5376ba96
      Yury Selivanov yazdı
      Summary of changes:
      
      1. Coroutines now have a distinct, separate from generators
         type at the C level: PyGen_Type, and a new typedef PyCoroObject.
         PyCoroObject shares the initial segment of struct layout with
         PyGenObject, making it possible to reuse existing generators
         machinery.  The new type is exposed as 'types.CoroutineType'.
      
         As a consequence of having a new type, CO_GENERATOR flag is
         no longer applied to coroutines.
      
      2. Having a separate type for coroutines made it possible to add
         an __await__ method to the type.  Although it is not used by the
         interpreter (see details on that below), it makes coroutines
         naturally (without using __instancecheck__) conform to
         collections.abc.Coroutine and collections.abc.Awaitable ABCs.
      
         [The __instancecheck__ is still used for generator-based
         coroutines, as we don't want to add __await__ for generators.]
      
      3. Add new opcode: GET_YIELD_FROM_ITER.  The opcode is needed to
         allow passing native coroutines to the YIELD_FROM opcode.
      
         Before this change, 'yield from o' expression was compiled to:
      
            (o)
            GET_ITER
            LOAD_CONST
            YIELD_FROM
      
         Now, we use GET_YIELD_FROM_ITER instead of GET_ITER.
      
         The reason for adding a new opcode is that GET_ITER is used
         in some contexts (such as 'for .. in' loops) where passing
         a coroutine object is invalid.
      
      4. Add two new introspection functions to the inspec module:
         getcoroutinestate(c) and getcoroutinelocals(c).
      
      5. inspect.iscoroutine(o) is updated to test if 'o' is a native
         coroutine object.  Before this commit it used abc.Coroutine,
         and it was requested to update inspect.isgenerator(o) to use
         abc.Generator; it was decided, however, that inspect functions
         should really be tailored for checking for native types.
      
      6. sys.set_coroutine_wrapper(w) API is updated to work with only
         native coroutines.  Since types.coroutine decorator supports
         any type of callables now, it would be confusing that it does
         not work for all types of coroutines.
      
      7. Exceptions logic in generators C implementation was updated
         to raise clearer messages for coroutines:
      
         Before: TypeError("generator raised StopIteration")
         After: TypeError("coroutine raised StopIteration")
      5376ba96
  23. 28 May, 2015 1 kayıt (commit)
  24. 23 May, 2015 1 kayıt (commit)
    • Nick Coghlan's avatar
      PEP 489: Multi-phase extension module initialization · d5cacbb1
      Nick Coghlan yazdı
      Known limitations of the current implementation:
      
      - documentation changes are incomplete
      - there's a reference leak I haven't tracked down yet
      
      The leak is most visible by running:
      
        ./python -m test -R3:3 test_importlib
      
      However, you can also see it by running:
      
        ./python -X showrefcount
      
      Importing the array or _testmultiphase modules, and
      then deleting them from both sys.modules and the local
      namespace shows significant increases in the total
      number of active references each cycle. By contrast,
      with _testcapi (which continues to use single-phase
      initialisation) the global refcounts stabilise after
      a couple of cycles.
      d5cacbb1
  25. 16 May, 2015 1 kayıt (commit)
  26. 12 May, 2015 1 kayıt (commit)
  27. 06 May, 2015 1 kayıt (commit)
  28. 03 May, 2015 1 kayıt (commit)