• Tim Peters's avatar
    Change the semantics of "return" in generators, as discussed on the · ad1a18b7
    Tim Peters yazdı
    Iterators list and Python-Dev; e.g., these all pass now:
    
    def g1():
        try:
            return
        except:
            yield 1
    assert list(g1()) == []
    
    def g2():
        try:
            return
        finally:
            yield 1
    assert list(g2()) == [1]
    
    def g3():
        for i in range(3):
            yield None
        yield None
    assert list(g3()) == [None] * 4
    
    compile.c:  compile_funcdef and com_return_stmt:  Just van Rossum's patch
    to compile the same code for "return" regardless of function type (this
    goes back to the previous scheme of returning Py_None).
    
    ceval.c:  gen_iternext:  take a return (but not a yield) of Py_None as
    meaning the generator is exhausted.
    ad1a18b7
Adı
Son kayıt (commit)
Son güncelleme
..
.cvsignore Loading commit data...
atof.c Loading commit data...
bltinmodule.c Loading commit data...
ceval.c Loading commit data...
codecs.c Loading commit data...
compile.c Loading commit data...
dup2.c Loading commit data...
dynload_aix.c Loading commit data...
dynload_beos.c Loading commit data...
dynload_dl.c Loading commit data...
dynload_hpux.c Loading commit data...
dynload_mac.c Loading commit data...
dynload_next.c Loading commit data...
dynload_os2.c Loading commit data...
dynload_shlib.c Loading commit data...
dynload_stub.c Loading commit data...
dynload_win.c Loading commit data...
errors.c Loading commit data...
exceptions.c Loading commit data...
fmod.c Loading commit data...
frozen.c Loading commit data...
frozenmain.c Loading commit data...
future.c Loading commit data...
getargs.c Loading commit data...
getcompiler.c Loading commit data...
getcopyright.c Loading commit data...
getcwd.c Loading commit data...
getmtime.c Loading commit data...
getopt.c Loading commit data...
getplatform.c Loading commit data...
getversion.c Loading commit data...
graminit.c Loading commit data...
hypot.c Loading commit data...
import.c Loading commit data...
importdl.c Loading commit data...
importdl.h Loading commit data...
marshal.c Loading commit data...
memmove.c Loading commit data...
modsupport.c Loading commit data...
mystrtoul.c Loading commit data...
pyfpe.c Loading commit data...
pystate.c Loading commit data...
pythonmain.c Loading commit data...
pythonrun.c Loading commit data...
sigcheck.c Loading commit data...
strdup.c Loading commit data...
strerror.c Loading commit data...
strtod.c Loading commit data...
structmember.c Loading commit data...
symtable.c Loading commit data...
sysmodule.c Loading commit data...
thread.c Loading commit data...
thread_beos.h Loading commit data...
thread_cthread.h Loading commit data...
thread_foobar.h Loading commit data...
thread_lwp.h Loading commit data...
thread_nt.h Loading commit data...
thread_os2.h Loading commit data...
thread_pth.h Loading commit data...
thread_pthread.h Loading commit data...
thread_sgi.h Loading commit data...
thread_solaris.h Loading commit data...
thread_wince.h Loading commit data...
traceback.c Loading commit data...