[pypy-commit] pypy py3.5: redo the commit made for setstate, though it is not called by pickling (state is already set by load_reduce), this makes the api more compliant (we could of course invoke loa
Author: Richard Plangger
Branch: py3.5
Changeset: r87686:05ed492ccc60
Date: 2016-10-10 10:07 +0200
http://bitbucket.org/pypy/pypy/changeset/05ed492ccc60/
Log:redo the commit made for setstate, though it is not called by
pickling (state is already set by load_reduce), this makes the api
more compliant (we could of course invoke load_build now, but there
is no point in doing so)
diff --git a/lib-python/3/test/test_iter.py b/lib-python/3/test/test_iter.py
--- a/lib-python/3/test/test_iter.py
+++ b/lib-python/3/test/test_iter.py
@@ -938,7 +938,6 @@
with self.assertRaises(OverflowError):
next(it)
-@cpython_only
def test_iter_neg_setstate(self):
it = iter(UnlimitedSequenceClass())
it.__setstate__(-42)
diff --git a/pypy/objspace/std/iterobject.py b/pypy/objspace/std/iterobject.py
--- a/pypy/objspace/std/iterobject.py
+++ b/pypy/objspace/std/iterobject.py
@@ -35,8 +35,16 @@
mod = space.interp_w(MixedModule, w_mod)
new_inst = mod.get('seqiter_new')
tup = [self.w_seq, space.wrap(self.index)]
+# note that setstate is not called, because this setup already sets
the index
return space.newtuple([new_inst, space.newtuple(tup)])
+def descr_setstate(self, space, w_state):
+index = space.int_w(w_state)
+if self.w_seq is not space.w_None:
+if index < 0:
+index = 0
+self.index = index
+
def descr_length_hint(self, space):
return self.getlength(space)
@@ -52,6 +60,7 @@
__next__ = interpindirect2app(W_AbstractSeqIterObject.descr_next),
__reduce__ = interp2app(W_AbstractSeqIterObject.descr_reduce),
__length_hint__ = interp2app(W_AbstractSeqIterObject.descr_length_hint),
+__setstate__ = interp2app(W_AbstractSeqIterObject.descr_setstate),
)
W_AbstractSeqIterObject.typedef.acceptable_as_base_class = False
@@ -151,8 +160,17 @@
mod = space.interp_w(MixedModule, w_mod)
new_inst = mod.get('reverseseqiter_new')
tup = [self.w_seq, space.wrap(self.index)]
+# note that setstate is not called, because this setup already sets
the index
return space.newtuple([new_inst, space.newtuple(tup)])
+def descr_setstate(self, space, w_state):
+index = space.int_w(w_state)
+if self.w_seq is not space.w_None:
+length = space.int_w(space.len(self.w_seq))
+if index < 0: index = 0
+if index >= length: index = length-1
+self.index = index
+
def descr_length_hint(self, space):
if space.is_none(self.w_seq):
return space.wrap(0)
@@ -189,6 +207,7 @@
__iter__ = interp2app(W_ReverseSeqIterObject.descr_iter),
__next__ = interp2app(W_ReverseSeqIterObject.descr_next),
__reduce__ = interp2app(W_ReverseSeqIterObject.descr_reduce),
+__setstate__ = interp2app(W_ReverseSeqIterObject.descr_setstate),
__length_hint__ = interp2app(W_ReverseSeqIterObject.descr_length_hint),
)
W_ReverseSeqIterObject.typedef.acceptable_as_base_class = False
diff --git a/pypy/objspace/std/test/test_iterobject.py
b/pypy/objspace/std/test/test_iterobject.py
--- a/pypy/objspace/std/test/test_iterobject.py
+++ b/pypy/objspace/std/test/test_iterobject.py
@@ -72,6 +72,16 @@
assert next(iterable) == 1
raises(TypeError, iterable.__setstate__, '0')
+def test_reversed_iter_setstate(self):
+iterable = reversed([1,2,3,4])
+assert next(iterable) == 4
+iterable.__setstate__(0)
+assert next(iterable) == 1
+iterable.__setstate__(2)
+next(iterable); next(iterable)
+assert next(iterable) == 1
+iterable.__setstate__(3)
+assert next(iterable) == 4
def test_no_len_on_tuple_iter(self):
iterable = (1,2,3,4)
___
pypy-commit mailing list
[email protected]
https://mail.python.org/mailman/listinfo/pypy-commit
[pypy-commit] pypy redirect-assembler-jitlog: merge default
Author: Richard Plangger Branch: redirect-assembler-jitlog Changeset: r87687:f68149db5431 Date: 2016-10-10 10:20 +0200 http://bitbucket.org/pypy/pypy/changeset/f68149db5431/ Log:merge default diff too long, truncating to 2000 out of 54103 lines diff --git a/.hgtags b/.hgtags --- a/.hgtags +++ b/.hgtags @@ -30,3 +30,6 @@ 68bb3510d8212ae9efb687e12e58c09d29e74f87 release-pypy2.7-v5.4.0 68bb3510d8212ae9efb687e12e58c09d29e74f87 release-pypy2.7-v5.4.0 77392ad263504df011ccfcabf6a62e21d04086d0 release-pypy2.7-v5.4.0 +050d84dd78997f021acf0e133934275d63547cc0 release-pypy2.7-v5.4.1 +050d84dd78997f021acf0e133934275d63547cc0 release-pypy2.7-v5.4.1 +0e2d9a73f5a1818d0245d75daccdbe21b2d5c3ef release-pypy2.7-v5.4.1 diff --git a/LICENSE b/LICENSE --- a/LICENSE +++ b/LICENSE @@ -369,3 +369,109 @@ Roman Podoliaka Dan Loewenherz werat + + Heinrich-Heine University, Germany + Open End AB (formerly AB Strakt), Sweden + merlinux GmbH, Germany + tismerysoft GmbH, Germany + Logilab Paris, France + DFKI GmbH, Germany + Impara, Germany + Change Maker, Sweden + University of California Berkeley, USA + Google Inc. + King's College London + +The PyPy Logo as used by http://speed.pypy.org and others was created +by Samuel Reis and is distributed on terms of Creative Commons Share Alike +License. + +License for 'lib-python/2.7' + + +Except when otherwise stated (look for LICENSE files or copyright/license +information at the beginning of each file) the files in the 'lib-python/2.7' +directory are all copyrighted by the Python Software Foundation and licensed +under the terms that you can find here: https://docs.python.org/2/license.html + +License for 'pypy/module/unicodedata/' +== + +The following files are from the website of The Unicode Consortium +at http://www.unicode.org/. For the terms of use of these files, see +http://www.unicode.org/terms_of_use.html . Or they are derived from +files from the above website, and the same terms of use apply. + +CompositionExclusions-*.txt +EastAsianWidth-*.txt +LineBreak-*.txt +UnicodeData-*.txt +UnihanNumeric-*.txt + +License for 'dotviewer/font/' += + +Copyright (C) 2008 The Android Open Source Project + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. + +Detailed license information is contained in the NOTICE file in the +directory. + + +Licenses and Acknowledgements for Incorporated Software +=== + +This section is an incomplete, but growing list of licenses and +acknowledgements for third-party software incorporated in the PyPy +distribution. + +License for 'Tcl/Tk' + + +This copy of PyPy contains library code that may, when used, result in +the Tcl/Tk library to be loaded. PyPy also includes code that may be +regarded as being a copy of some parts of the Tcl/Tk header files. +You may see a copy of the License for Tcl/Tk in the file +`lib_pypy/_tkinter/license.terms` included here. + +License for 'bzip2' +--- + +This copy of PyPy may be linked (dynamically or statically) with the +bzip2 library. You may see a copy of the License for bzip2/libbzip2 at + +http://www.bzip.org/1.0.5/bzip2-manual-1.0.5.html + +License for 'openssl' +- + +This copy of PyPy may be linked (dynamically or statically) with the +openssl library. You may see a copy of the License for OpenSSL at + +https://www.openssl.org/source/license.html + +License for 'gdbm' +-- + +The gdbm module includes code from gdbm.h, which is distributed under +the terms of the GPL license version 2 or any later version. Thus the +gdbm module, provided in the file lib_pypy/gdbm.py, is redistributed +under the terms of the GPL license as well. + +License for 'rpython/rlib/rvmprof/src' +-- + +The code is based on gperftools. You may see a copy of the License for it at + +https://github.com/gperftools/gperftools/blob/master/COPYING diff --git a/Makefile b/Makefile --- a/Makefile +++ b/Makefile @@ -40,4 +40,4 @@ # http://lists.gnu.org/archive/html/help-make/2010-08/msg00106.html cffi_imports: pypy-c - PYTHONPATH=. ./pypy-c pypy/tool/build_cffi_imports.py + PYTHONPATH=. ./pypy-c pypy/tool/build_cffi_imports.py || /bin/true diff --git a/lib-python/2.7/BaseHTTPServer.py b/lib-python/2.7/BaseHTTPServer.py --- a/lib-python/2.7/BaseH
[pypy-commit] pypy redirect-assembler-jitlog: target address could be some bytes off, one reason why so many redirect assembler instr. are not found
Author: Richard Plangger Branch: redirect-assembler-jitlog Changeset: r87688:4026f1af404d Date: 2016-10-10 10:51 +0200 http://bitbucket.org/pypy/pypy/changeset/4026f1af404d/ Log:target address could be some bytes off, one reason why so many redirect assembler instr. are not found diff --git a/rpython/jit/backend/x86/assembler.py b/rpython/jit/backend/x86/assembler.py --- a/rpython/jit/backend/x86/assembler.py +++ b/rpython/jit/backend/x86/assembler.py @@ -466,6 +466,7 @@ operations, looptoken, log): '''adds the following attributes to looptoken: _ll_function_addr(address of the generated func, as an int) + _ll_raw_start(jitlog: address of the first byte to asm memory) _ll_loop_code (debug: addr of the start of the ResOps) _x86_fullsize(debug: full size including failure) ''' @@ -539,6 +540,7 @@ looptoken._x86_fullsize = full_size looptoken._x86_ops_offset = ops_offset looptoken._ll_function_addr = rawstart + functionpos +looptoken._ll_raw_start = rawstart if log and logger: l = logger.log_trace(jl.MARK_TRACE_ASM, None, self.mc) @@ -594,6 +596,7 @@ fullsize = self.mc.get_relative_pos() # rawstart = self.materialize_loop(original_loop_token) +original_loop_token._ll_raw_start = rawstart self.patch_gcref_table(original_loop_token, rawstart) self.patch_stack_checks(frame_depth_no_fixed_size + JITFRAME_FIXED_SIZE, rawstart) @@ -1065,7 +1068,8 @@ assert mc.get_relative_pos() <= 13 mc.copy_to_raw_memory(oldadr) # log the redirection of the call_assembler_* operation -jl.redirect_assembler(oldlooptoken, newlooptoken, newlooptoken.number) +asm_adr = newlooptoken._ll_raw_start +jl.redirect_assembler(oldlooptoken, newlooptoken, asm_adr) def dump(self, text): if not self.verbose: diff --git a/rpython/jit/metainterp/compile.py b/rpython/jit/metainterp/compile.py --- a/rpython/jit/metainterp/compile.py +++ b/rpython/jit/metainterp/compile.py @@ -1123,8 +1123,7 @@ """ jitcell_token = make_jitcell_token(jitdriver_sd) # -#logger = jitdriver_sd.metainterp_sd.jitlog -#jitcell_token.number = logger.next_id() +# record the target of a temporary callback to the interpreter jl.tmp_callback(jitcell_token) # nb_red_args = jitdriver_sd.num_red_args diff --git a/rpython/rlib/rjitlog/rjitlog.py b/rpython/rlib/rjitlog/rjitlog.py --- a/rpython/rlib/rjitlog/rjitlog.py +++ b/rpython/rlib/rjitlog/rjitlog.py @@ -312,13 +312,13 @@ content = ''.join(list) jitlog_write_marked(content, len(content)) -def redirect_assembler(oldtoken, newtoken, target): +def redirect_assembler(oldtoken, newtoken, asm_adr): if not jitlog_enabled(): return descr_nmr = compute_unique_id(oldtoken) new_descr_nmr = compute_unique_id(newtoken) list = [MARK_REDIRECT_ASSEMBLER, encode_le_addr(descr_nmr), -encode_le_addr(new_descr_nmr), encode_le_addr(target)] +encode_le_addr(new_descr_nmr), encode_le_addr(asm_adr)] content = ''.join(list) jitlog_write_marked(content, len(content)) ___ pypy-commit mailing list [email protected] https://mail.python.org/mailman/listinfo/pypy-commit
[pypy-commit] pypy py3.5: turn string format into argument of oefmt (translation issue)
Author: Richard Plangger Branch: py3.5 Changeset: r87689:4c664c7fdba2 Date: 2016-10-10 11:54 +0200 http://bitbucket.org/pypy/pypy/changeset/4c664c7fdba2/ Log:turn string format into argument of oefmt (translation issue) diff --git a/pypy/module/_collections/interp_deque.py b/pypy/module/_collections/interp_deque.py --- a/pypy/module/_collections/interp_deque.py +++ b/pypy/module/_collections/interp_deque.py @@ -378,7 +378,7 @@ return space.wrap(i) x = space.repr(w_x) -raise oefmt(self.space.w_ValueError, "%s is not in deque" % x) +raise oefmt(self.space.w_ValueError, "%s is not in deque", x) def reviter(self): "Return a reverse iterator over the deque." ___ pypy-commit mailing list [email protected] https://mail.python.org/mailman/listinfo/pypy-commit
[pypy-commit] pypy redirect-assembler-jitlog: close branch
Author: Richard Plangger Branch: redirect-assembler-jitlog Changeset: r87691:4e71c0d2e82d Date: 2016-10-10 12:14 +0200 http://bitbucket.org/pypy/pypy/changeset/4e71c0d2e82d/ Log:close branch ___ pypy-commit mailing list [email protected] https://mail.python.org/mailman/listinfo/pypy-commit
[pypy-commit] pypy default: merge redirect assembler
Author: Richard Plangger
Branch:
Changeset: r87690:37093b51ec75
Date: 2016-10-10 12:14 +0200
http://bitbucket.org/pypy/pypy/changeset/37093b51ec75/
Log:merge redirect assembler
diff --git a/rpython/jit/backend/arm/opassembler.py
b/rpython/jit/backend/arm/opassembler.py
--- a/rpython/jit/backend/arm/opassembler.py
+++ b/rpython/jit/backend/arm/opassembler.py
@@ -31,6 +31,7 @@
from rpython.rtyper import rclass
from rpython.jit.backend.arm import callbuilder
from rpython.rlib.rarithmetic import r_uint
+from rpython.rlib.rjitlog import rjitlog as jl
class ArmGuardToken(GuardToken):
@@ -1012,6 +1013,8 @@
mc = InstrBuilder(self.cpu.cpuinfo.arch_version)
mc.B(target)
mc.copy_to_raw_memory(oldadr)
+#
+jl.redirect_assembler(oldlooptoken, newlooptoken, newlooptoken.number)
def emit_op_guard_not_forced(self, op, arglocs, regalloc, fcond):
ofs = self.cpu.get_ofs_of_frame_field('jf_descr')
diff --git a/rpython/jit/backend/ppc/opassembler.py
b/rpython/jit/backend/ppc/opassembler.py
--- a/rpython/jit/backend/ppc/opassembler.py
+++ b/rpython/jit/backend/ppc/opassembler.py
@@ -29,6 +29,7 @@
from rpython.jit.codewriter.effectinfo import EffectInfo
from rpython.jit.backend.ppc import callbuilder
from rpython.rlib.rarithmetic import r_uint
+from rpython.rlib.rjitlog import rjitlog as jl
class IntOpAssembler(object):
@@ -1321,6 +1322,7 @@
mc = PPCBuilder()
mc.b_abs(target)
mc.copy_to_raw_memory(oldadr)
+jl.redirect_assembler(oldlooptoken, newlooptoken, newlooptoken.number)
class OpAssembler(IntOpAssembler, GuardOpAssembler,
diff --git a/rpython/jit/backend/x86/assembler.py
b/rpython/jit/backend/x86/assembler.py
--- a/rpython/jit/backend/x86/assembler.py
+++ b/rpython/jit/backend/x86/assembler.py
@@ -466,6 +466,7 @@
operations, looptoken, log):
'''adds the following attributes to looptoken:
_ll_function_addr(address of the generated func, as an int)
+ _ll_raw_start(jitlog: address of the first byte to asm
memory)
_ll_loop_code (debug: addr of the start of the ResOps)
_x86_fullsize(debug: full size including failure)
'''
@@ -539,10 +540,11 @@
looptoken._x86_fullsize = full_size
looptoken._x86_ops_offset = ops_offset
looptoken._ll_function_addr = rawstart + functionpos
+looptoken._ll_raw_start = rawstart
-if logger:
-log = logger.log_trace(jl.MARK_TRACE_ASM, None, self.mc)
-log.write(inputargs, operations, ops_offset=ops_offset)
+if log and logger:
+l = logger.log_trace(jl.MARK_TRACE_ASM, None, self.mc)
+l.write(inputargs, operations, ops_offset=ops_offset)
# legacy
if logger.logger_ops:
@@ -594,6 +596,7 @@
fullsize = self.mc.get_relative_pos()
#
rawstart = self.materialize_loop(original_loop_token)
+original_loop_token._ll_raw_start = rawstart
self.patch_gcref_table(original_loop_token, rawstart)
self.patch_stack_checks(frame_depth_no_fixed_size +
JITFRAME_FIXED_SIZE,
rawstart)
@@ -1065,7 +1068,8 @@
assert mc.get_relative_pos() <= 13
mc.copy_to_raw_memory(oldadr)
# log the redirection of the call_assembler_* operation
-jl.redirect_assembler(oldlooptoken, newlooptoken, target)
+asm_adr = newlooptoken._ll_raw_start
+jl.redirect_assembler(oldlooptoken, newlooptoken, asm_adr)
def dump(self, text):
if not self.verbose:
diff --git a/rpython/jit/backend/zarch/opassembler.py
b/rpython/jit/backend/zarch/opassembler.py
--- a/rpython/jit/backend/zarch/opassembler.py
+++ b/rpython/jit/backend/zarch/opassembler.py
@@ -9,6 +9,7 @@
from rpython.jit.metainterp.history import (ConstInt)
from rpython.jit.backend.zarch.codebuilder import ZARCHGuardToken, InstrBuilder
from rpython.jit.backend.llsupport import symbolic, jitframe
+from rpython.rlib.rjitlog import rjitlog as jl
import rpython.jit.backend.zarch.conditions as c
import rpython.jit.backend.zarch.registers as r
import rpython.jit.backend.zarch.locations as l
@@ -1155,6 +1156,8 @@
mc.load_imm(r.SCRATCH, target)
mc.BCR(c.ANY, r.SCRATCH)
mc.copy_to_raw_memory(oldadr)
+#
+jl.redirect_assembler(oldlooptoken, newlooptoken, newlooptoken.number)
class MiscOpAssembler(object):
diff --git a/rpython/jit/metainterp/compile.py
b/rpython/jit/metainterp/compile.py
--- a/rpython/jit/metainterp/compile.py
+++ b/rpython/jit/metainterp/compile.py
@@ -7,6 +7,7 @@
from rpython.rlib import rstack
from rpython.rlib.jit import JitDebugInfo, Counters, dont_look_inside
from rpython.rlib.rjitlog import rjitlog as jl
+from rpython.rlib.objectmodel import compute_unique_id
from rpython.conftest import option
[pypy-commit] cffi default: CPython should ignore the .abi3.so extension in a debugging version,
Author: Armin Rigo
Branch:
Changeset: r2782:62955ef671d7
Date: 2016-10-10 14:38 +0200
http://bitbucket.org/cffi/cffi/changeset/62955ef671d7/
Log:CPython should ignore the .abi3.so extension in a debugging version,
but it doesn't so far, creating troubles.
diff --git a/cffi/setuptools_ext.py b/cffi/setuptools_ext.py
--- a/cffi/setuptools_ext.py
+++ b/cffi/setuptools_ext.py
@@ -74,8 +74,13 @@
Add py_limited_api to kwds if setuptools >= 26 is in use.
Do not alter the setting if it already exists.
Setuptools takes care of ignoring the flag on Python 2 and PyPy.
+
+CPython itself should ignore the flag in a debugging version
+(by not listing .abi3.so in the extensions it supports), but
+it doesn't so far, creating troubles. That's why we check
+for "not sys.flags.debug". (http://bugs.python.org/issue28401)
"""
-if 'py_limited_api' not in kwds:
+if 'py_limited_api' not in kwds and not sys.flags.debug:
import setuptools
try:
setuptools_major_version =
int(setuptools.__version__.partition('.')[0])
___
pypy-commit mailing list
[email protected]
https://mail.python.org/mailman/listinfo/pypy-commit
[pypy-commit] pypy py3.5: cant use deque.copy within deque.add or deque.imul, translation fixes
Author: Richard Plangger Branch: py3.5 Changeset: r87692:d973c433c52b Date: 2016-10-10 16:05 +0200 http://bitbucket.org/pypy/pypy/changeset/d973c433c52b/ Log:cant use deque.copy within deque.add or deque.imul, translation fixes diff --git a/pypy/module/_collections/interp_deque.py b/pypy/module/_collections/interp_deque.py --- a/pypy/module/_collections/interp_deque.py +++ b/pypy/module/_collections/interp_deque.py @@ -176,9 +176,10 @@ self.append(w_obj) def add(self, w_iterable): -copied = self.copy() -copied.extend(w_iterable) -return self.space.wrap(copied) +copy = W_Deque(self.space) +copy.extend(self.iter()) +copy.extend(w_iterable) +return self.space.wrap(copy) def iadd(self, w_iterable): self.extend(w_iterable) @@ -196,29 +197,15 @@ def imul(self, w_int): space = self.space -copied = self.copy() +copy = W_Deque(space) +copy.extend(self.iter()) num = space.int_w(w_int) for _ in range(num - 1): -self.extend(copied) +self.extend(copy) return space.wrap(self) -def copy(self): -""" A shallow copy """ -space = self.space -w_iter = space.iter(w_iterable) -copy = W_Deque(self.space) -while True: -try: -w_obj = space.next(w_iter) -except OperationError as e: -if e.match(space, space.w_StopIteration): -break -raise -copy.appendleft(w_obj) -return copy - def extendleft(self, w_iterable): "Extend the left side of the deque with elements from the iterable" # Handle case where id(deque) == id(iterable) @@ -350,10 +337,8 @@ if w_start is not None: start = space.int_w(w_start) - if start < 0: start += _len - if start < 0: start = 0 elif start > _len: @@ -361,24 +346,22 @@ if w_stop is not None: stop = space.int_w(w_stop) - if stop < 0: stop += _len - if 0 <= stop > _len: stop = _len for i in range(0, stop): -value = space.next(w_iter) - -if i < start: -continue - -if space.eq_w(value, w_x): -return space.wrap(i) - -x = space.repr(w_x) -raise oefmt(self.space.w_ValueError, "%s is not in deque", x) +try: +w_obj = space.next(w_iter) +if i < start: +continue +if space.eq_w(w_obj, w_x): +return space.wrap(i) +except OperationError as e: +if not e.match(space, space.w_StopIteration): +raise +raise oefmt(space.w_ValueError, "%R is not in deque", w_x) def reviter(self): "Return a reverse iterator over the deque." ___ pypy-commit mailing list [email protected] https://mail.python.org/mailman/listinfo/pypy-commit
[pypy-commit] pypy py3.5: test + impl deque.insert
Author: Richard Plangger
Branch: py3.5
Changeset: r87693:3458326c0cc4
Date: 2016-10-10 16:54 +0200
http://bitbucket.org/pypy/pypy/changeset/3458326c0cc4/
Log:test + impl deque.insert
diff --git a/pypy/module/_collections/interp_deque.py
b/pypy/module/_collections/interp_deque.py
--- a/pypy/module/_collections/interp_deque.py
+++ b/pypy/module/_collections/interp_deque.py
@@ -363,6 +363,25 @@
raise
raise oefmt(space.w_ValueError, "%R is not in deque", w_x)
+@unwrap_spec(index=int)
+def insert(self, index, w_value):
+space = self.space
+n = space.len_w(self)
+if n == self.maxlen:
+raise oefmt(space.w_IndexError, "deque already at its maximum
size")
+
+if index >= n:
+self.append(w_value)
+if index <= -n or index == 0:
+self.appendleft(w_value)
+
+self.rotate(-index)
+if index < 0:
+self.append(w_value)
+else:
+self.appendleft(w_value)
+self.rotate(index)
+
def reviter(self):
"Return a reverse iterator over the deque."
return W_DequeRevIter(self)
@@ -529,6 +548,7 @@
extend = interp2app(W_Deque.extend),
extendleft = interp2app(W_Deque.extendleft),
index = interp2app(W_Deque.index),
+insert = interp2app(W_Deque.insert),
pop= interp2app(W_Deque.pop),
popleft= interp2app(W_Deque.popleft),
remove = interp2app(W_Deque.remove),
diff --git a/pypy/module/_collections/test/test_deque.py
b/pypy/module/_collections/test/test_deque.py
--- a/pypy/module/_collections/test/test_deque.py
+++ b/pypy/module/_collections/test/test_deque.py
@@ -339,14 +339,26 @@
copy = pickle.loads(pickle.dumps(iterator))
assert list(iterator) == list(copy)
-def test_queue_mul(self):
+def test_deque_mul(self):
from _collections import deque
d = deque([1,2,3])
assert d*3 == deque([1,2,3]*3)
-def test_queue_imul(self):
+def test_deque_imul(self):
from _collections import deque
d = deque([1,2,3])
d *= 3
assert d == deque([1,2,3]*3)
assert d is not deque([1,2,3]*3)
+
+def test_deque_insert(self):
+from _collections import deque
+for i in range(0,11):
+d = deque(range(10))
+d.insert(i, 'a')
+assert 'a' in d
+assert 'b' not in d
+assert d.index('a') == i
+d = deque(range(10))
+d.insert(-1, 500)
+assert d.index(500) == 9
___
pypy-commit mailing list
[email protected]
https://mail.python.org/mailman/listinfo/pypy-commit
[pypy-commit] pypy.org extradoc: update checksums for the new pypy3.3 release
Author: Richard Plangger Branch: extradoc Changeset: r806:587fe56a7e72 Date: 2016-10-09 15:28 +0200 http://bitbucket.org/pypy/pypy.org/changeset/587fe56a7e72/ Log:update checksums for the new pypy3.3 release diff --git a/download.html b/download.html --- a/download.html +++ b/download.html @@ -421,17 +421,17 @@ 1aab9fe6e7c03e959cde466819034bab pypy2-v5.4.1-src.zip b04aad943aac92862a73b1fd90157a00 pypy2-v5.4.1-win32.zip -pypy3.3-v5.2-alpha md5: +pypy3.3-v5.5.0-alpha md5: -1176464541dff42e685bf8a9bb393796 pypy3.3-v5.2.0-alpha1-linux32.tar.bz2 -dc893175a5cae269017bb89637c3f260 pypy3.3-v5.2.0-alpha1-linux64.tar.bz2 -dd741fd946c4d80486a333b89a6fe555 pypy3.3-v5.2.0-alpha1-linux-armel.tar.bz2 -c2ff2f04a88415ea10e51e47a3ed19e6 pypy3.3-v5.2.0-alpha1-linux-armhf-raring.tar.bz2 -fede8d6612f921967cd91bfbfaa448ea pypy3.3-v5.2.0-alpha1-linux-armhf-raspbian.tar.bz2 -e1cfcd84dab5ded374802231c3e6f9f2 pypy3.3-v5.2.0-alpha1-osx64.tar.bz2 -08b9b4dc0ab11fa22f0fc57ba9a62d2b pypy3.3-v5.2.0-alpha1-s390x.tar.bz2 -e4bbd6fe42481a17f705611d76914eda pypy3.3-v5.2.0-alpha1-src.tar.bz2 -49402ad4c853e15e749514649b59220d pypy3.3-v5.2.0-alpha1-src.zip +e9bdfb330a30765eaf76ddd4e826a45e pypy3.3-v5.5.0-alpha-linux32.tar.bz2 +b04022a5a549bba719c9a184c783805c pypy3.3-v5.5.0-alpha-linux64.tar.bz2 +84424f01b2746c71f64e27cb4c7069a1 pypy3.3-v5.5.0-alpha-linux-armel.tar.bz2 +c616cffee0f344c37fd4e045a7a87054 pypy3.3-v5.5.0-alpha-linux-armhf-raring.tar.bz2 +9d18b171a7249227f3a3b74af8070c82 pypy3.3-v5.5.0-alpha-linux-armhf-raspbian.tar.bz2 +d2424a9e3ff31e26e5b1f0ceade5e9f7 pypy3.3-v5.5.0-alpha-osx64.tar.bz2 +c32728185d89f9c0fda9481f2f9ae61d pypy3.3-v5.5.0-alpha-s390x.tar.bz2 +536008fd7b17af8878915393fc1ecfc3 pypy3.3-v5.5.0-alpha-src.tar.bz2 +4fc66068848dbfc09b210d3115380b0a pypy3.3-v5.5.0-alpha-src.zip pypy-1.8 sandbox md5: @@ -453,17 +453,17 @@ a6a9ce0defb401d8777d8af5949d23393416a390 pypy2-v5.4.1-src.zip 49c2ad75f1531730f7ee466d833d318333915ce0 pypy2-v5.4.1-win32.zip -pypy3.3-v5.2-alpha sha1: +pypy3.3-v5.5.0-alpha sha1: -03c1181f3866b977598e56b4263c8373d3f3a712 pypy3.3-v5.2.0-alpha1-linux32.tar.bz2 -ae62d0df060e245b30eb07f12c5bc2260695ac36 pypy3.3-v5.2.0-alpha1-linux64.tar.bz2 -cf09edf1232a7bbb475fb19c8e6080d590774c4e pypy3.3-v5.2.0-alpha1-linux-armel.tar.bz2 -3bec09a599371d0aca5408022a9ff4600f801e78 pypy3.3-v5.2.0-alpha1-linux-armhf-raring.tar.bz2 -addfd4466e4dead5a4e620214a015a314bfee83e pypy3.3-v5.2.0-alpha1-linux-armhf-raspbian.tar.bz2 -f4a3badfe4c70465e9a2a43fde19e7a92975bc20 pypy3.3-v5.2.0-alpha1-osx64.tar.bz2 -eb630112d27063ba336b1d11d083edcda98c3a1f pypy3.3-v5.2.0-alpha1-s390x.tar.bz2 -4b31ab492716ea375dd090bbacdf3d7c2d483059 pypy3.3-v5.2.0-alpha1-src.tar.bz2 -d9f5b64f144ebec1a200156809fbbe04fdf7eb7e pypy3.3-v5.2.0-alpha1-src.zip +1de17b61b8d21e408a46114961659b4c0f15cb54 pypy3.3-v5.5.0-alpha-linux32.tar.bz2 +995ae3b983d9975006b898f098b27408949d2fdf pypy3.3-v5.5.0-alpha-linux64.tar.bz2 +2487f726d7b50aef041beba2bb0f39fe4d7392da pypy3.3-v5.5.0-alpha-linux-armel.tar.bz2 +8de2a247e26872790090b7a7bc9128d263456ada pypy3.3-v5.5.0-alpha-linux-armhf-raring.tar.bz2 +ed104a504664a7ccd971da202abe14302246175a pypy3.3-v5.5.0-alpha-linux-armhf-raspbian.tar.bz2 +0f6456672b02e4856421021d2ff71ffaca2e2c3e pypy3.3-v5.5.0-alpha-osx64.tar.bz2 +018e9e9e4c54fcef3959bc316f3e684f88231ab4 pypy3.3-v5.5.0-alpha-s390x.tar.bz2 +9eb6aad2d41f7db16c19ae6e438c8f195b0d44fc pypy3.3-v5.5.0-alpha-src.tar.bz2 +b670cdc685c323b11bfdca2a15f12c5953e6d8b4 pypy3.3-v5.5.0-alpha-src.zip pypy2.7-5.4.1 sha256: @@ -480,17 +480,17 @@ 54b23c11a92dd6328a58787c3d719189f0aa24c872b479acf50094dfb4be0a46 pypy2-v5.4.1-src.zip ec729218a820bc2aa2cf1fcacf9de0fee9e04144fe138596198a6b4615505e03 pypy2-v5.4.1-win32.zip -pypy3.3-v5.2-alpha sha256: +pypy3.3-v5.5.0-alpha sha256: -351aec101bdedddae7ea1b63845a5654b1a95fc9393894ef84a66749f6945f17 pypy3.3-v5.2.0-alpha1-linux32.tar.bz2 -f5e66ab24267d6ddf662d07c512d06c10ebc732ae62093dabbd775ac63b9060a pypy3.3-v5.2.0-alpha1-linux64.tar.bz2 -ac83e632213f078ab60045e6ad0564b146d65dcd9a52c130026fab6dd85bf2dc pypy3.3-v5.2.0-alpha1-linux-armel.tar.bz2 -b4d847d33c1bf9b3956d1d17b9e37505eb32f68e341c9333a74a82010a63e799 pypy3.3-v5.2.0-alpha1-linux-armhf-raring.tar.bz2 -ba9a5d0cbac1c622363315b30df288ab2cf8fcccf7e2882bf5946115dbfa657e pypy3.3-v5.2.0-alpha1-linux-armhf-raspbian.tar.bz2 -abaceab5d2790f49e04e0d80669283da41f94b77cf483b30ac0de48d3c19f304 pypy3.3-v5.2.0-alpha1-osx64.tar.bz2 -b0422f4122c214d37d5a2f0f2cc95e3f823bf653e39d742e7de3c8c406c11399 pypy3.3-v5.2.0-alpha1-s390x.tar.bz2 -344c2f088c82ea1274964bb0505ab80d3f9e538cc03f91aa109325ddbaa61426 pypy3.3-v5.2.0-alpha1-src.tar.bz2 -d31eafa86fa57f70a89ae670e19be08765c0678443a076076eff206160d0594c pypy3.3-v5.2.0-alpha1-src.zip +966ee7951ad497ac907e01554fe48da77cc64a5e35a1307477c2f78652eba622 pypy3.3-v5.5.0-alpha-linux32.tar.bz2 +41ef7c25fd04eeb20deaa83c5d88c10aef2bbc8bcfd9e53e7cc61136220861cc pypy3.3-v5.5.0-alpha-linux64.t
[pypy-commit] pypy.org extradoc: update download page
Author: Richard Plangger Branch: extradoc Changeset: r805:114d44c8df9c Date: 2016-10-09 15:15 +0200 http://bitbucket.org/pypy/pypy.org/changeset/114d44c8df9c/ Log:update download page diff --git a/source/download.txt b/source/download.txt --- a/source/download.txt +++ b/source/download.txt @@ -468,24 +468,23 @@ 1aab9fe6e7c03e959cde466819034bab pypy2-v5.4.1-src.zip b04aad943aac92862a73b1fd90157a00 pypy2-v5.4.1-win32.zip -pypy3.3-v5.2-alpha md5:: +pypy3.3-v5.5.0-alpha md5:: -1176464541dff42e685bf8a9bb393796 pypy3.3-v5.2.0-alpha1-linux32.tar.bz2 -dc893175a5cae269017bb89637c3f260 pypy3.3-v5.2.0-alpha1-linux64.tar.bz2 -dd741fd946c4d80486a333b89a6fe555 pypy3.3-v5.2.0-alpha1-linux-armel.tar.bz2 -c2ff2f04a88415ea10e51e47a3ed19e6 pypy3.3-v5.2.0-alpha1-linux-armhf-raring.tar.bz2 -fede8d6612f921967cd91bfbfaa448ea pypy3.3-v5.2.0-alpha1-linux-armhf-raspbian.tar.bz2 -e1cfcd84dab5ded374802231c3e6f9f2 pypy3.3-v5.2.0-alpha1-osx64.tar.bz2 -08b9b4dc0ab11fa22f0fc57ba9a62d2b pypy3.3-v5.2.0-alpha1-s390x.tar.bz2 -e4bbd6fe42481a17f705611d76914eda pypy3.3-v5.2.0-alpha1-src.tar.bz2 -49402ad4c853e15e749514649b59220d pypy3.3-v5.2.0-alpha1-src.zip +e9bdfb330a30765eaf76ddd4e826a45e pypy3.3-v5.5.0-alpha-linux32.tar.bz2 +b04022a5a549bba719c9a184c783805c pypy3.3-v5.5.0-alpha-linux64.tar.bz2 +84424f01b2746c71f64e27cb4c7069a1 pypy3.3-v5.5.0-alpha-linux-armel.tar.bz2 +c616cffee0f344c37fd4e045a7a87054 pypy3.3-v5.5.0-alpha-linux-armhf-raring.tar.bz2 +9d18b171a7249227f3a3b74af8070c82 pypy3.3-v5.5.0-alpha-linux-armhf-raspbian.tar.bz2 +d2424a9e3ff31e26e5b1f0ceade5e9f7 pypy3.3-v5.5.0-alpha-osx64.tar.bz2 +c32728185d89f9c0fda9481f2f9ae61d pypy3.3-v5.5.0-alpha-s390x.tar.bz2 +536008fd7b17af8878915393fc1ecfc3 pypy3.3-v5.5.0-alpha-src.tar.bz2 +4fc66068848dbfc09b210d3115380b0a pypy3.3-v5.5.0-alpha-src.zip pypy-1.8 sandbox md5:: 2c9f0054f3b93a6473f10be35277825a pypy-1.8-sandbox-linux64.tar.bz2 009c970b5fa75754ae4c32a5d108a8d4 pypy-1.8-sandbox-linux.tar.bz2 - pypy2.7-5.4.1 sha1:: a54b2a8b6def85663b10fd956d51fbd052954b83 pypy2-v5.4.1-linux-armel.tar.bz2 @@ -501,17 +500,17 @@ a6a9ce0defb401d8777d8af5949d23393416a390 pypy2-v5.4.1-src.zip 49c2ad75f1531730f7ee466d833d318333915ce0 pypy2-v5.4.1-win32.zip -pypy3.3-v5.2-alpha sha1:: +pypy3.3-v5.5.0-alpha sha1:: -03c1181f3866b977598e56b4263c8373d3f3a712 pypy3.3-v5.2.0-alpha1-linux32.tar.bz2 -ae62d0df060e245b30eb07f12c5bc2260695ac36 pypy3.3-v5.2.0-alpha1-linux64.tar.bz2 -cf09edf1232a7bbb475fb19c8e6080d590774c4e pypy3.3-v5.2.0-alpha1-linux-armel.tar.bz2 -3bec09a599371d0aca5408022a9ff4600f801e78 pypy3.3-v5.2.0-alpha1-linux-armhf-raring.tar.bz2 -addfd4466e4dead5a4e620214a015a314bfee83e pypy3.3-v5.2.0-alpha1-linux-armhf-raspbian.tar.bz2 -f4a3badfe4c70465e9a2a43fde19e7a92975bc20 pypy3.3-v5.2.0-alpha1-osx64.tar.bz2 -eb630112d27063ba336b1d11d083edcda98c3a1f pypy3.3-v5.2.0-alpha1-s390x.tar.bz2 -4b31ab492716ea375dd090bbacdf3d7c2d483059 pypy3.3-v5.2.0-alpha1-src.tar.bz2 -d9f5b64f144ebec1a200156809fbbe04fdf7eb7e pypy3.3-v5.2.0-alpha1-src.zip +1de17b61b8d21e408a46114961659b4c0f15cb54 pypy3.3-v5.5.0-alpha-linux32.tar.bz2 +995ae3b983d9975006b898f098b27408949d2fdf pypy3.3-v5.5.0-alpha-linux64.tar.bz2 +2487f726d7b50aef041beba2bb0f39fe4d7392da pypy3.3-v5.5.0-alpha-linux-armel.tar.bz2 +8de2a247e26872790090b7a7bc9128d263456ada pypy3.3-v5.5.0-alpha-linux-armhf-raring.tar.bz2 +ed104a504664a7ccd971da202abe14302246175a pypy3.3-v5.5.0-alpha-linux-armhf-raspbian.tar.bz2 +0f6456672b02e4856421021d2ff71ffaca2e2c3e pypy3.3-v5.5.0-alpha-osx64.tar.bz2 +018e9e9e4c54fcef3959bc316f3e684f88231ab4 pypy3.3-v5.5.0-alpha-s390x.tar.bz2 +9eb6aad2d41f7db16c19ae6e438c8f195b0d44fc pypy3.3-v5.5.0-alpha-src.tar.bz2 +b670cdc685c323b11bfdca2a15f12c5953e6d8b4 pypy3.3-v5.5.0-alpha-src.zip pypy2.7-5.4.1 sha256:: @@ -528,17 +527,17 @@ 54b23c11a92dd6328a58787c3d719189f0aa24c872b479acf50094dfb4be0a46 pypy2-v5.4.1-src.zip ec729218a820bc2aa2cf1fcacf9de0fee9e04144fe138596198a6b4615505e03 pypy2-v5.4.1-win32.zip -pypy3.3-v5.2-alpha sha256:: +pypy3.3-v5.5.0-alpha sha256:: -351aec101bdedddae7ea1b63845a5654b1a95fc9393894ef84a66749f6945f17 pypy3.3-v5.2.0-alpha1-linux32.tar.bz2 -f5e66ab24267d6ddf662d07c512d06c10ebc732ae62093dabbd775ac63b9060a pypy3.3-v5.2.0-alpha1-linux64.tar.bz2 -ac83e632213f078ab60045e6ad0564b146d65dcd9a52c130026fab6dd85bf2dc pypy3.3-v5.2.0-alpha1-linux-armel.tar.bz2 -b4d847d33c1bf9b3956d1d17b9e37505eb32f68e341c9333a74a82010a63e799 pypy3.3-v5.2.0-alpha1-linux-armhf-raring.tar.bz2 -ba9a5d0cbac1c622363315b30df288ab2cf8fcccf7e2882bf5946115dbfa657e pypy3.3-v5.2.0-alpha1-linux-armhf-raspbian.tar.bz2 -abaceab5d2790f49e04e0d80669283da41f94b77cf483b30ac0de48d3c19f304 pypy3.3-v5.2.0-alpha1-osx64.tar.bz2 -b0422f4122c214d37d5a2f0f2cc95e3f823bf653e39d
[pypy-commit] pypy.org extradoc: remove arm raring build (bbot is offline since 30. Aug)
Author: Richard Plangger Branch: extradoc Changeset: r807:e87954c20d31 Date: 2016-10-09 15:33 +0200 http://bitbucket.org/pypy/pypy.org/changeset/e87954c20d31/ Log:remove arm raring build (bbot is offline since 30. Aug) diff --git a/source/download.txt b/source/download.txt --- a/source/download.txt +++ b/source/download.txt @@ -473,7 +473,6 @@ e9bdfb330a30765eaf76ddd4e826a45e pypy3.3-v5.5.0-alpha-linux32.tar.bz2 b04022a5a549bba719c9a184c783805c pypy3.3-v5.5.0-alpha-linux64.tar.bz2 84424f01b2746c71f64e27cb4c7069a1 pypy3.3-v5.5.0-alpha-linux-armel.tar.bz2 -c616cffee0f344c37fd4e045a7a87054 pypy3.3-v5.5.0-alpha-linux-armhf-raring.tar.bz2 9d18b171a7249227f3a3b74af8070c82 pypy3.3-v5.5.0-alpha-linux-armhf-raspbian.tar.bz2 d2424a9e3ff31e26e5b1f0ceade5e9f7 pypy3.3-v5.5.0-alpha-osx64.tar.bz2 c32728185d89f9c0fda9481f2f9ae61d pypy3.3-v5.5.0-alpha-s390x.tar.bz2 @@ -505,7 +504,6 @@ 1de17b61b8d21e408a46114961659b4c0f15cb54 pypy3.3-v5.5.0-alpha-linux32.tar.bz2 995ae3b983d9975006b898f098b27408949d2fdf pypy3.3-v5.5.0-alpha-linux64.tar.bz2 2487f726d7b50aef041beba2bb0f39fe4d7392da pypy3.3-v5.5.0-alpha-linux-armel.tar.bz2 -8de2a247e26872790090b7a7bc9128d263456ada pypy3.3-v5.5.0-alpha-linux-armhf-raring.tar.bz2 ed104a504664a7ccd971da202abe14302246175a pypy3.3-v5.5.0-alpha-linux-armhf-raspbian.tar.bz2 0f6456672b02e4856421021d2ff71ffaca2e2c3e pypy3.3-v5.5.0-alpha-osx64.tar.bz2 018e9e9e4c54fcef3959bc316f3e684f88231ab4 pypy3.3-v5.5.0-alpha-s390x.tar.bz2 @@ -532,7 +530,6 @@ 966ee7951ad497ac907e01554fe48da77cc64a5e35a1307477c2f78652eba622 pypy3.3-v5.5.0-alpha-linux32.tar.bz2 41ef7c25fd04eeb20deaa83c5d88c10aef2bbc8bcfd9e53e7cc61136220861cc pypy3.3-v5.5.0-alpha-linux64.tar.bz2 9f081041867f434f18456f936befbacd9f40c0ede24137cbf80f9f45ff37b69f pypy3.3-v5.5.0-alpha-linux-armel.tar.bz2 -f4fad25a0e7a451ed906b76846efd6d2699a65b40795b29553addc35bf9a75c8 pypy3.3-v5.5.0-alpha-linux-armhf-raring.tar.bz2 d8e94c834307081d5c4be863fab935e34df360a77b06e8bc833624c4b712b2aa pypy3.3-v5.5.0-alpha-linux-armhf-raspbian.tar.bz2 fa45f861a6c40ae44f99ec94c521adfb6b64b0c9c0b6fc6e9df018241a648986 pypy3.3-v5.5.0-alpha-osx64.tar.bz2 c4a0a75a987b3dacd811c653e57b6a0a01fc31cdaf671e83ad43f4c107961a02 pypy3.3-v5.5.0-alpha-s390x.tar.bz2 ___ pypy-commit mailing list [email protected] https://mail.python.org/mailman/listinfo/pypy-commit
[pypy-commit] pypy.org extradoc: update the links
Author: Richard Plangger Branch: extradoc Changeset: r809:1034af89a370 Date: 2016-10-10 17:36 +0200 http://bitbucket.org/pypy/pypy.org/changeset/1034af89a370/ Log:update the links diff --git a/source/download.txt b/source/download.txt --- a/source/download.txt +++ b/source/download.txt @@ -113,7 +113,7 @@ .. _mirror: http://buildbot.pypy.org/mirror/ .. _FreshPorts: http://www.freshports.org/lang/pypy -Python 3.3.5 compatible PyPy3.3 v5.2 +Python 3.3.5 compatible PyPy3.3 v5.5 - .. class:: download_menu @@ -135,16 +135,16 @@ * `All our downloads,`__ including previous versions. We also have a mirror_, but please use only if you have troubles accessing the links above -.. __: https://bitbucket.org/pypy/pypy/downloads/pypy3.3-v5.2.0-alpha1-linux32.tar.bz2 -.. __: https://bitbucket.org/pypy/pypy/downloads/pypy3.3-v5.2.0-alpha1-linux64.tar.bz2 -.. __: https://bitbucket.org/pypy/pypy/downloads/pypy3.3-v5.2.0-alpha1-linux-armhf-raspbian.tar.bz2 -.. __: https://bitbucket.org/pypy/pypy/downloads/pypy3.3-v5.2.0-alpha1-linux-armhf-raring.tar.bz2 -.. __: https://bitbucket.org/pypy/pypy/downloads/pypy3.3-v5.2.0-alpha1-linux-armel.tar.bz2 -.. __: https://bitbucket.org/pypy/pypy/downloads/pypy3.3-v5.2.0-alpha1-osx64.tar.bz2 +.. __: https://bitbucket.org/pypy/pypy/downloads/pypy3.3-v5.5.0-alpha-linux32.tar.bz2 +.. __: https://bitbucket.org/pypy/pypy/downloads/pypy3.3-v5.5.0-alpha-linux64.tar.bz2 +.. __: https://bitbucket.org/pypy/pypy/downloads/pypy3.3-v5.5.0-alpha-linux-armhf-raspbian.tar.bz2 +.. __: https://bitbucket.org/pypy/pypy/downloads/pypy3.3-v5.5.0-alpha-linux-armhf-raring.tar.bz2 +.. __: https://bitbucket.org/pypy/pypy/downloads/pypy3.3-v5.5.0-alpha-linux-armel.tar.bz2 +.. __: https://bitbucket.org/pypy/pypy/downloads/pypy3.3-v5.5.0-alpha-osx64.tar.bz2 .. _`VS 2008 runtime library installer vcredist_x86.exe`: http://www.microsoft.com/en-us/download/details.aspx?id=5582 -.. __: https://bitbucket.org/pypy/pypy/downloads/pypy3.3-v5.2.0-alpha1-s390x.tar.bz2 -.. __: https://bitbucket.org/pypy/pypy/downloads/pypy3.3-v5.2.0-alpha1-src.tar.bz2 -.. __: https://bitbucket.org/pypy/pypy/downloads/pypy3.3-v5.2.0-alpha1-src.zip +.. __: https://bitbucket.org/pypy/pypy/downloads/pypy3.3-v5.5.0-alpha-s390x.tar.bz2 +.. __: https://bitbucket.org/pypy/pypy/downloads/pypy3.3-v5.5.0-alpha-src.tar.bz2 +.. __: https://bitbucket.org/pypy/pypy/downloads/pypy3.3-v5.5.0-alpha-src.zip .. __: https://bitbucket.org/pypy/pypy/downloads If your CPU is really, really old, it may be a x86-32 without SSE2. ___ pypy-commit mailing list [email protected] https://mail.python.org/mailman/listinfo/pypy-commit
[pypy-commit] pypy.org extradoc: generate the download page
Author: Richard Plangger Branch: extradoc Changeset: r810:9e3641ff5d0d Date: 2016-10-10 17:38 +0200 http://bitbucket.org/pypy/pypy.org/changeset/9e3641ff5d0d/ Log:generate the download page diff --git a/download.html b/download.html --- a/download.html +++ b/download.html @@ -76,7 +76,7 @@ the Python2.7 compatible release — PyPy2.7 v5.4.1 — (http://doc.pypy.org/en/latest/release-pypy2.7-v5.4.0.html";>what's new in PyPy2.7? and http://doc.pypy.org/en/latest/release-pypy2.7-v5.4.1.html";>bugfix release) -the Python3.3 compatible release — PyPy3.3 v5.2-alpha — (http://doc.pypy.org/en/latest/release-pypy3.3-v5.2-alpha1.html";>what's new in PyPy3.3?). +the Python3.3 compatible release — PyPy3.3 v5.5-alpha — (http://doc.pypy.org/en/latest/release-pypy3.3-v5.5-alpha.html";>what's new in PyPy3.3?). the Python2.7 Software Transactional Memory special release — PyPy-STM 2.5.1 (Linux x86-64 only) @@ -135,22 +135,22 @@ http://buildbot.pypy.org/mirror/";>mirror, but please use only if you have troubles accessing the links above - -Python 3.3.5 compatible PyPy3.3 v5.2 + +Python 3.3.5 compatible PyPy3.3 v5.5 Warning: this is an alpha release supporting the Python 3.3 language. It's also known to be (sometimes much) slower than PyPy 2. -https://bitbucket.org/pypy/pypy/downloads/pypy3.3-v5.2.0-alpha1-linux32.tar.bz2";>Linux x86 binary (32bit, tar.bz2 built on Ubuntu 12.04 - 14.04) (see [1] below) -https://bitbucket.org/pypy/pypy/downloads/pypy3.3-v5.2.0-alpha1-linux64.tar.bz2";>Linux x86-64 binary (64bit, tar.bz2 built on Ubuntu 12.04 - 14.04) (see [1] below) -https://bitbucket.org/pypy/pypy/downloads/pypy3.3-v5.2.0-alpha1-linux-armhf-raspbian.tar.bz2";>ARM Hardfloat Linux binary (ARMHF/gnueabihf, tar.bz2, Raspbian) (see [1] below) -https://bitbucket.org/pypy/pypy/downloads/pypy3.3-v5.2.0-alpha1-linux-armhf-raring.tar.bz2";>ARM Hardfloat Linux binary (ARMHF/gnueabihf, tar.bz2, Ubuntu Raring) (see [1] below) -https://bitbucket.org/pypy/pypy/downloads/pypy3.3-v5.2.0-alpha1-linux-armel.tar.bz2";>ARM Softfloat Linux binary (ARMEL/gnueabi, tar.bz2, Ubuntu Precise) (see [1] below) -https://bitbucket.org/pypy/pypy/downloads/pypy3.3-v5.2.0-alpha1-osx64.tar.bz2";>Mac OS/X binary (64bit) +https://bitbucket.org/pypy/pypy/downloads/pypy3.3-v5.5.0-alpha-linux32.tar.bz2";>Linux x86 binary (32bit, tar.bz2 built on Ubuntu 12.04 - 14.04) (see [1] below) +https://bitbucket.org/pypy/pypy/downloads/pypy3.3-v5.5.0-alpha-linux64.tar.bz2";>Linux x86-64 binary (64bit, tar.bz2 built on Ubuntu 12.04 - 14.04) (see [1] below) +https://bitbucket.org/pypy/pypy/downloads/pypy3.3-v5.5.0-alpha-linux-armhf-raspbian.tar.bz2";>ARM Hardfloat Linux binary (ARMHF/gnueabihf, tar.bz2, Raspbian) (see [1] below) +https://bitbucket.org/pypy/pypy/downloads/pypy3.3-v5.5.0-alpha-linux-armhf-raring.tar.bz2";>ARM Hardfloat Linux binary (ARMHF/gnueabihf, tar.bz2, Ubuntu Raring) (see [1] below) +https://bitbucket.org/pypy/pypy/downloads/pypy3.3-v5.5.0-alpha-linux-armel.tar.bz2";>ARM Softfloat Linux binary (ARMEL/gnueabi, tar.bz2, Ubuntu Precise) (see [1] below) +https://bitbucket.org/pypy/pypy/downloads/pypy3.3-v5.5.0-alpha-osx64.tar.bz2";>Mac OS/X binary (64bit) Windows binary (32bit) (hopefully availabe soon) (you might need the http://www.microsoft.com/en-us/download/details.aspx?id=5582";>VS 2008 runtime library installer vcredist_x86.exe.) -https://bitbucket.org/pypy/pypy/downloads/pypy3.3-v5.2.0-alpha1-s390x.tar.bz2";>s390x Linux binary (tar.bz2 built on Redhat Linux 7.2) (see [1] below) -https://bitbucket.org/pypy/pypy/downloads/pypy3.3-v5.2.0-alpha1-src.tar.bz2";>Source (tar.bz2) -https://bitbucket.org/pypy/pypy/downloads/pypy3.3-v5.2.0-alpha1-src.zip";>Source (zip) +https://bitbucket.org/pypy/pypy/downloads/pypy3.3-v5.5.0-alpha-s390x.tar.bz2";>s390x Linux binary (tar.bz2 built on Redhat Linux 7.2) (see [1] below) +https://bitbucket.org/pypy/pypy/downloads/pypy3.3-v5.5.0-alpha-src.tar.bz2";>Source (tar.bz2) +https://bitbucket.org/pypy/pypy/downloads/pypy3.3-v5.5.0-alpha-src.zip";>Source (zip) https://bitbucket.org/pypy/pypy/downloads";>All our downloads, including previous versions. We also have a http://buildbot.pypy.org/mirror/";>mirror, but please use only if you have troubles accessing the links above @@ -426,7 +426,6 @@ e9bdfb330a30765eaf76ddd4e826a45e pypy3.3-v5.5.0-alpha-linux32.tar.bz2 b04022a5a549bba719c9a184c783805c pypy3.3-v5.5.0-alpha-linux64.tar.bz2 84424f01b2746c71f64e27cb4c7069a1 pypy3.3-v5.5.0-alpha-linux-armel.tar.bz2 -c616cffee0f344c37fd4e045a7a87054 pypy3.3-v5.5.0-alpha-linux-armhf-raring.tar.bz2 9d18b171a7249227f3a3b74af8070c82 pypy3.3-v5.5.0-alpha-linux-armhf-raspbian.tar.bz2 d2424a9e3ff31e26e5b1f0ceade5e9f7 pypy3.3-v5.5.0-alpha-osx64.tar.bz2 c32728185d89f9c0fda9481f2f9ae61d pypy3.3-v5.5.0-alpha-s390x.tar.bz2 @@ -458,7 +457,6 @@ 1de17b61b8d21e408a46114961659b4c0f15cb54 pypy3.3-v5.5.0-alpha-linux32.tar.bz2 995ae3b983d9975006b898f098b27408949d2fdf pypy3.3-v5.5.0-a
[pypy-commit] pypy py3.5: xfail segfaulting tests
Author: Ronan Lamy Branch: py3.5 Changeset: r87696:4267c2a8a2f8 Date: 2016-10-10 16:53 +0100 http://bitbucket.org/pypy/pypy/changeset/4267c2a8a2f8/ Log:xfail segfaulting tests diff --git a/pypy/module/cpyext/test/test_pystate.py b/pypy/module/cpyext/test/test_pystate.py --- a/pypy/module/cpyext/test/test_pystate.py +++ b/pypy/module/cpyext/test/test_pystate.py @@ -150,6 +150,7 @@ class AppTestState(AppTestCpythonExtensionBase): [email protected]('not config.option.runappdirect', reason='segfaults', run=False) def test_frame_tstate_tracing(self): import sys, threading module = self.import_extension('foo', [ diff --git a/pypy/module/cpyext/test/test_thread.py b/pypy/module/cpyext/test/test_thread.py --- a/pypy/module/cpyext/test/test_thread.py +++ b/pypy/module/cpyext/test/test_thread.py @@ -4,10 +4,11 @@ from pypy.module.cpyext.test.test_cpyext import AppTestCpythonExtensionBase -only_pypy ="config.option.runappdirect and '__pypy__' not in sys.builtin_module_names" +only_pypy ="config.option.runappdirect and '__pypy__' not in sys.builtin_module_names" class AppTestThread(AppTestCpythonExtensionBase): @pytest.mark.skipif(only_pypy, reason='pypy only test') [email protected](reason='segfaults', run=False) def test_get_thread_ident(self): module = self.import_extension('foo', [ ("get_thread_ident", "METH_NOARGS", @@ -81,6 +82,7 @@ module.test_release_lock() @pytest.mark.skipif(only_pypy, reason='pypy only test') [email protected](reason='segfaults', run=False) def test_tls(self): module = self.import_extension('foo', [ ("create_key", "METH_NOARGS", ___ pypy-commit mailing list [email protected] https://mail.python.org/mailman/listinfo/pypy-commit
[pypy-commit] pypy.org extradoc: correct versions for pypy3.3
Author: Richard Plangger Branch: extradoc Changeset: r808:7918306b5928 Date: 2016-10-10 17:34 +0200 http://bitbucket.org/pypy/pypy.org/changeset/7918306b5928/ Log:correct versions for pypy3.3 diff --git a/source/download.txt b/source/download.txt --- a/source/download.txt +++ b/source/download.txt @@ -16,13 +16,13 @@ * the Python2.7 compatible release — **PyPy2.7 v5.4.1** — (`what's new in PyPy2.7?`_ and `bugfix release`_) -* the Python3.3 compatible release — **PyPy3.3 v5.2-alpha** — (`what's new in PyPy3.3?`_). +* the Python3.3 compatible release — **PyPy3.3 v5.5-alpha** — (`what's new in PyPy3.3?`_). * the Python2.7 Software Transactional Memory special release — **PyPy-STM 2.5.1** (Linux x86-64 only) .. _what's new in PyPy2.7?: http://doc.pypy.org/en/latest/release-pypy2.7-v5.4.0.html .. _bugfix release: http://doc.pypy.org/en/latest/release-pypy2.7-v5.4.1.html -.. _what's new in PyPy3.3?: http://doc.pypy.org/en/latest/release-pypy3.3-v5.2-alpha1.html +.. _what's new in PyPy3.3?: http://doc.pypy.org/en/latest/release-pypy3.3-v5.5-alpha.html .. class:: download_menu ___ pypy-commit mailing list [email protected] https://mail.python.org/mailman/listinfo/pypy-commit
[pypy-commit] pypy py3.5: Make .__doc__ writable
Author: Ronan Lamy
Branch: py3.5
Changeset: r87697:a2af1f696a0e
Date: 2016-10-10 17:53 +0100
http://bitbucket.org/pypy/pypy/changeset/a2af1f696a0e/
Log:Make .__doc__ writable
diff --git a/pypy/module/__builtin__/descriptor.py
b/pypy/module/__builtin__/descriptor.py
--- a/pypy/module/__builtin__/descriptor.py
+++ b/pypy/module/__builtin__/descriptor.py
@@ -196,6 +196,13 @@
def deleter(self, space, w_deleter):
return self._copy(space, w_deleter=w_deleter)
+def get_doc(self, space):
+return self.w_doc
+
+def set_doc(self, space, w_doc):
+self.w_doc = w_doc
+self.getter_doc = False
+
def _copy(self, space, w_getter=None, w_setter=None, w_deleter=None):
if w_getter is None:
w_getter = self.w_fget
@@ -244,5 +251,5 @@
)
# This allows there to be a __doc__ of the property type and a __doc__
# descriptor for the instances.
-W_Property.typedef.rawdict['__doc__'] = interp_attrproperty_w('w_doc',
- W_Property)
+W_Property.typedef.rawdict['__doc__'] = GetSetProperty(
+W_Property.get_doc, W_Property.set_doc)
diff --git a/pypy/module/__builtin__/test/test_descriptor.py
b/pypy/module/__builtin__/test/test_descriptor.py
--- a/pypy/module/__builtin__/test/test_descriptor.py
+++ b/pypy/module/__builtin__/test/test_descriptor.py
@@ -53,7 +53,7 @@
assert isinstance(x, Classm)
def test_property_simple(self):
-
+
class a(object):
def _get(self): return 42
def _set(self, value): raise AttributeError
@@ -137,7 +137,7 @@
assert message.startswith('super(type, obj): obj must be an
instance or subtype of type')
def test_super_various(self):
-
+
class A(object):
def meth(self, a):
return "A(%r)" % a
@@ -367,11 +367,13 @@
assert "fdel" in attrs
assert raw.__doc__ == "I'm the x property."
+raw.__doc__ = "modified"
+assert raw.__doc__ == "modified"
assert raw.fget is C.__dict__['getx']
assert raw.fset is C.__dict__['setx']
assert raw.fdel is C.__dict__['delx']
-for attr in "__doc__", "fget", "fset", "fdel":
+for attr in "fget", "fset", "fdel":
try:
setattr(raw, attr, 42)
# it raises TypeError on pypy, AttributeError on CPython: we catch
@@ -407,10 +409,10 @@
def test_property_subclass_with_init(self):
l = []
-
+
def x(self):
l.append('x')
-
+
class P(property):
def __init__(self):
property.__init__(self, x)
___
pypy-commit mailing list
[email protected]
https://mail.python.org/mailman/listinfo/pypy-commit
[pypy-commit] pypy default: kill some pointless and dead methods
Author: Carl Friedrich Bolz
Branch:
Changeset: r87698:f8d7d962aa02
Date: 2016-10-10 18:56 +0200
http://bitbucket.org/pypy/pypy/changeset/f8d7d962aa02/
Log:kill some pointless and dead methods
diff --git a/rpython/jit/metainterp/optimizeopt/optimizer.py
b/rpython/jit/metainterp/optimizeopt/optimizer.py
--- a/rpython/jit/metainterp/optimizeopt/optimizer.py
+++ b/rpython/jit/metainterp/optimizeopt/optimizer.py
@@ -922,35 +922,6 @@
elif op.getopnum() == rop.CAST_PTR_TO_INT:
optpure.pure_from_args(rop.CAST_INT_TO_PTR, [op], op.getarg(0))
-#def optimize_GUARD_NO_OVERFLOW(self, op):
-## otherwise the default optimizer will clear fields, which is unwanted
-## in this case
-#self.emit(op)
-# FIXME: Is this still needed?
-
-def optimize_DEBUG_MERGE_POINT(self, op):
-self.emit(op)
-
-def optimize_JIT_DEBUG(self, op):
-self.emit(op)
-
-def optimize_STRGETITEM(self, op):
-indexb = self.getintbound(op.getarg(1))
-if indexb.is_constant():
-pass
-#raise Exception("implement me")
-#arrayvalue = self.getvalue(op.getarg(0))
-#arrayvalue.make_len_gt(MODE_STR, op.getdescr(),
indexvalue.box.getint())
-self.optimize_default(op)
-
-def optimize_UNICODEGETITEM(self, op):
-indexb = self.getintbound(op.getarg(1))
-if indexb.is_constant():
-#arrayvalue = self.getvalue(op.getarg(0))
-#arrayvalue.make_len_gt(MODE_UNICODE, op.getdescr(),
indexvalue.box.getint())
-pass
-self.optimize_default(op)
-
# These are typically removed already by OptRewrite, but it can be
# dissabled and unrolling emits some SAME_AS ops to setup the
# optimizier state. These needs to always be optimized out.
___
pypy-commit mailing list
[email protected]
https://mail.python.org/mailman/listinfo/pypy-commit
[pypy-commit] pypy py3.5: Add weakref.__callback__
Author: Amaury Forgeot d'Arc Branch: py3.5 Changeset: r87699:25f86076fa10 Date: 2016-10-11 00:53 +0200 http://bitbucket.org/pypy/pypy/changeset/25f86076fa10/ Log:Add weakref.__callback__ diff --git a/pypy/module/_weakref/interp__weakref.py b/pypy/module/_weakref/interp__weakref.py --- a/pypy/module/_weakref/interp__weakref.py +++ b/pypy/module/_weakref/interp__weakref.py @@ -2,7 +2,7 @@ from pypy.interpreter.baseobjspace import W_Root from pypy.interpreter.error import oefmt from pypy.interpreter.gateway import interp2app, ObjSpace -from pypy.interpreter.typedef import TypeDef +from pypy.interpreter.typedef import TypeDef, GetSetProperty from pypy.interpreter.executioncontext import AsyncAction, report_error from rpython.rlib import jit, rgc from rpython.rlib.rshrinklist import AbstractShrinkList @@ -150,6 +150,7 @@ except Exception as e: report_error(self.space, e, "weakref callback ", w_ref.w_callable) +w_ref.w_callable = None # @@ -187,6 +188,9 @@ state = u"; to '%s'" % (typename,) return self.getrepr(space, unicode(self.typedef.name), state) +def descr_callback(self, space): +return self.w_callable + class W_Weakref(W_WeakrefBase): def __init__(self, space, w_obj, w_callable): @@ -256,6 +260,7 @@ __hash__ = interp2app(W_Weakref.descr_hash), __call__ = interp2app(W_Weakref.descr_call), __repr__ = interp2app(W_WeakrefBase.descr__repr__), +__callback__ = GetSetProperty(W_WeakrefBase.descr_callback), ) diff --git a/pypy/module/_weakref/test/test_weakref.py b/pypy/module/_weakref/test/test_weakref.py --- a/pypy/module/_weakref/test/test_weakref.py +++ b/pypy/module/_weakref/test/test_weakref.py @@ -32,10 +32,13 @@ a2.ref = ref() ref1 = _weakref.ref(a1, callback) ref2 = _weakref.ref(a1) +assert ref1.__callback__ is callback +assert ref2.__callback__ is None assert _weakref.getweakrefcount(a1) == 2 del a1 gc.collect() assert ref1() is None +assert ref1.__callback__ is None assert a2.ref is None def test_callback_order(self): ___ pypy-commit mailing list [email protected] https://mail.python.org/mailman/listinfo/pypy-commit
[pypy-commit] pypy default: Reconstruct a meaningful whatsnew: it had been neglected since the last release
Author: Ronan Lamy Branch: Changeset: r87701:36d503d3b39d Date: 2016-10-11 05:41 +0100 http://bitbucket.org/pypy/pypy/changeset/36d503d3b39d/ Log:Reconstruct a meaningful whatsnew: it had been neglected since the last release diff --git a/pypy/doc/whatsnew-pypy3-5.5.0.rst b/pypy/doc/whatsnew-pypy3-5.5.0.rst --- a/pypy/doc/whatsnew-pypy3-5.5.0.rst +++ b/pypy/doc/whatsnew-pypy3-5.5.0.rst @@ -2,34 +2,58 @@ What's new in PyPy3 5.5.0 = -.. this is the revision after pypy3-release-2.4.x was branched -.. startrev: 3f967c2be00e +.. this is the revision after 5.2.0 was branched +.. startrev: 2dd24a7eb90b -.. branch: py3k-memoryview +.. pull request #454 -Implement new memoryview features. +Update fallback code in time to match CPython. -.. branch: py3.3 +.. d93d0a6c41f9 -.. branch: py3.3-hashfix +Add str.casefold(). -Use intobject hash function for specialisedtuple +.. f1c0e13019d5 -.. branch: follow_symlinks +Update Unicode character database to version 6.1.0. -Add support for dir_fd and follow_symlinks in posix.stat() +.. pull request #461 -.. branch: stat_ns +Make win_perf_counter expose the clock info. +Add a couple more fallbacks. +Make time.monotonic conditionally available depending on platform. -Implement the st_xtime_ns fields in stat_result() +.. issue 2346 -.. branch: 33_fix_itertools +Make hash(-1) return -2, like it does on CPython. -Add pickling support for the itertools classes +.. pull request #469 -.. branch: py3k-update +Fix the mappingproxy type to behave as in CPython. -.. branch: py3k-get_clock_info +.. branch: py3k-kwonly-builtin -.. branch: py3k-update +Implement keyword-only arguments for built-in functions. Fix functions in the +posix module to have keyword-only arguments wherever CPython has them, instead +of regular keyword arguments. +.. pull request #475 + +Add os.get_terminal_size(). + +.. memoryview stuff + +Implement slicing of memoryview objects and improve their compatibility with +CPython. + +.. bdd0b2244dd3 + +Set up ImportError attributes properly in _imp.load_dynamic(). + +.. 494a05343a22 + +Allow __len__ to return any index-like. + +.. branch: py3k-faulthandler + +Replace stub faulthandler module with a working implementation. ___ pypy-commit mailing list [email protected] https://mail.python.org/mailman/listinfo/pypy-commit
[pypy-commit] pypy default: Move whatsnew-pypy3-5.5.0.rst to the right location
Author: Ronan Lamy Branch: Changeset: r87700:bb38bfe3fe59 Date: 2016-10-11 04:27 +0100 http://bitbucket.org/pypy/pypy/changeset/bb38bfe3fe59/ Log:Move whatsnew-pypy3-5.5.0.rst to the right location diff --git a/pypy/doc/release-pypy3.3-5.5.0.rst b/pypy/doc/whatsnew-pypy3-5.5.0.rst rename from pypy/doc/release-pypy3.3-5.5.0.rst rename to pypy/doc/whatsnew-pypy3-5.5.0.rst --- a/pypy/doc/release-pypy3.3-5.5.0.rst +++ b/pypy/doc/whatsnew-pypy3-5.5.0.rst @@ -1,6 +1,6 @@ - -What's new in PyPy3 2.4+ - += +What's new in PyPy3 5.5.0 += .. this is the revision after pypy3-release-2.4.x was branched .. startrev: 3f967c2be00e ___ pypy-commit mailing list [email protected] https://mail.python.org/mailman/listinfo/pypy-commit
[pypy-commit] pypy default: Add rough draft for the release announcement
Author: Ronan Lamy Branch: Changeset: r87702:f9b377fc1e75 Date: 2016-10-11 06:37 +0100 http://bitbucket.org/pypy/pypy/changeset/f9b377fc1e75/ Log:Add rough draft for the release announcement diff --git a/pypy/doc/release-pypy3.3-v5.5.0.rst b/pypy/doc/release-pypy3.3-v5.5.0.rst new file mode 100644 --- /dev/null +++ b/pypy/doc/release-pypy3.3-v5.5.0.rst @@ -0,0 +1,68 @@ + +PyPy3 v5.5.0 + + +We're pleased to announce the release of PyPy3 v5.5.0. Coming four months +after PyPy3.3 v5.2, it improves compatibility with Python 3.3 (3.3.5). We +strongly recommend updating from previous PyPy3 versions. + +We would like to thank all of the people who donated_ to the `py3k proposal`_ +for supporting the work that went into this release. + +You can download the PyPy3.3 v5.5.0 release here: + +http://pypy.org/download.html#python-3-3-5-compatible-pypy3-3-v5-5 + +Highlights +== + +* Improved Python 3.3.5 support. + + - os.get_terminal_size(), time.monotonic(), str.casefold() + + - faulthandler module + + - There are still some `missing features`_ such as a +`PEP 393-like space efficient string representation`_ and `known issues`_ +including performance regressions (e.g. issue `#2305`_). The focus for this +release has been updating to 3.3 compatibility. Windows is also not yet +supported. + +* `ensurepip`_ is also included (it's only included in CPython 3 >= 3.4). + +What is PyPy? +== + +PyPy is a very compliant Python interpreter, almost a drop-in replacement for +CPython 2.7.10 and 3.3.5. It's fast due to its integrated tracing JIT +compiler. + +We also welcome developers of other `dynamic languages`_ to see what RPython +can do for them. + +This release supports: + + * **x86** machines on most common operating systems except Windows +(Linux 32/64, Mac OS X 64, OpenBSD, FreeBSD), + + * newer **ARM** hardware (ARMv6 or ARMv7, with VFPv3) running Linux, + + * big- and little-endian variants of **PPC64** running Linux, + + * **s390x** running Linux + +Please try it out and let us know what you think. We welcome feedback, we know +you are using PyPy, please tell us about it! + +Cheers + +The PyPy Team + +.. _donated: http://morepypy.blogspot.com/2012/01/py3k-and-numpy-first-stage-thanks-to.html +.. _`py3k proposal`: http://pypy.org/py3donate.html +.. _`PEP 393-like space efficient string representation`: https://bitbucket.org/pypy/pypy/issues/2309/optimized-unicode-representation +.. _`missing features`: https://bitbucket.org/pypy/pypy/issues?status=new&status=open&component=PyPy3+%28running+Python+3.x%29&kind=enhancement +.. _`known issues`: https://bitbucket.org/pypy/pypy/issues?status=new&status=open&component=PyPy3%20%28running%20Python%203.x%29 +.. _`#2305`: https://bitbucket.org/pypy/pypy/issues/2305 +.. _`ensurepip`: https://docs.python.org/3/library/ensurepip.html#module-ensurepip +.. _`dynamic languages`: http://pypyjs.org ___ pypy-commit mailing list [email protected] https://mail.python.org/mailman/listinfo/pypy-commit
[pypy-commit] pypy py3.5: Fix translation
Author: Amaury Forgeot d'Arc Branch: py3.5 Changeset: r87703:2ddf9bfa3ece Date: 2016-10-11 08:19 +0200 http://bitbucket.org/pypy/pypy/changeset/2ddf9bfa3ece/ Log:Fix translation diff --git a/pypy/module/_weakref/interp__weakref.py b/pypy/module/_weakref/interp__weakref.py --- a/pypy/module/_weakref/interp__weakref.py +++ b/pypy/module/_weakref/interp__weakref.py @@ -188,9 +188,6 @@ state = u"; to '%s'" % (typename,) return self.getrepr(space, unicode(self.typedef.name), state) -def descr_callback(self, space): -return self.w_callable - class W_Weakref(W_WeakrefBase): def __init__(self, space, w_obj, w_callable): @@ -232,6 +229,9 @@ def descr__ne__(self, space, w_ref2): return space.not_(space.eq(self, w_ref2)) +def descr_callback(self, space): +return self.w_callable + def getlifeline(space, w_obj): lifeline = w_obj.getweakref() if lifeline is None: @@ -260,7 +260,7 @@ __hash__ = interp2app(W_Weakref.descr_hash), __call__ = interp2app(W_Weakref.descr_call), __repr__ = interp2app(W_WeakrefBase.descr__repr__), -__callback__ = GetSetProperty(W_WeakrefBase.descr_callback), +__callback__ = GetSetProperty(W_Weakref.descr_callback), ) ___ pypy-commit mailing list [email protected] https://mail.python.org/mailman/listinfo/pypy-commit
