[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

2016-10-10 Thread plan_rich
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

2016-10-10 Thread plan_rich
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

2016-10-10 Thread plan_rich
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)

2016-10-10 Thread plan_rich
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

2016-10-10 Thread plan_rich
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

2016-10-10 Thread plan_rich
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,

2016-10-10 Thread arigo
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

2016-10-10 Thread plan_rich
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

2016-10-10 Thread plan_rich
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

2016-10-10 Thread plan_rich
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

2016-10-10 Thread plan_rich
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)

2016-10-10 Thread plan_rich
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

2016-10-10 Thread plan_rich
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

2016-10-10 Thread plan_rich
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

2016-10-10 Thread rlamy
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

2016-10-10 Thread plan_rich
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

2016-10-10 Thread rlamy
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

2016-10-10 Thread cfbolz
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__

2016-10-10 Thread amauryfa
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

2016-10-10 Thread rlamy
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

2016-10-10 Thread rlamy
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

2016-10-10 Thread rlamy
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

2016-10-10 Thread amauryfa
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