[issue11477] Bug in code dispatching based on internal slots

2012-05-07 Thread Nick Coghlan
Nick Coghlan added the comment: I'm currently planning to postpone fixing this until 3.4. However, if someone else wants to pick it up for 3.3, go ahead. -- assignee: ncoghlan -> versions: +Python 3.4 -Python 3.3 ___ Python tracker

[issue11477] Bug in code dispatching based on internal slots

2012-04-21 Thread Nick Coghlan
Nick Coghlan added the comment: Heh, rereading the issue comments, I noticed that my latest idea is quite similar to what Terry suggested last year, just using delegation to adjust the signatures appropriately rather than copying the function pointers directly over. -- _

[issue11477] Bug in code dispatching based on internal slots

2012-04-21 Thread Nick Coghlan
Nick Coghlan added the comment: And, back on topic... I've been pondering this problem and the approach I adopted in my branch and decided it's the *wrong* way to go about it. It takes an already complex piece of code and makes it even more complicated. A completely different approach that I

[issue11477] Bug in code dispatching based on internal slots

2012-03-03 Thread Eric Snow
Changes by Eric Snow : -- nosy: +eric.snow ___ Python tracker ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.o

[issue11477] Bug in code dispatching based on internal slots

2011-03-24 Thread Martin v . Löwis
Changes by Martin v. Löwis : Added file: http://bugs.python.org/file21386/8bd713a823b5.diff ___ Python tracker ___ ___ Python-bugs-list mailin

[issue11477] Bug in code dispatching based on internal slots

2011-03-24 Thread Martin v . Löwis
Changes by Martin v. Löwis : Removed file: http://bugs.python.org/file21384/8bd713a823b5.diff ___ Python tracker ___ ___ Python-bugs-list mail

[issue11477] Bug in code dispatching based on internal slots

2011-03-24 Thread Martin v . Löwis
Changes by Martin v. Löwis : Added file: http://bugs.python.org/file21384/8bd713a823b5.diff ___ Python tracker ___ ___ Python-bugs-list mailin

[issue11477] Bug in code dispatching based on internal slots

2011-03-24 Thread Martin v . Löwis
Changes by Martin v. Löwis : Removed file: http://bugs.python.org/file21383/8bd713a823b5.diff ___ Python tracker ___ ___ Python-bugs-list mail

[issue11477] Bug in code dispatching based on internal slots

2011-03-24 Thread Nick Coghlan
Nick Coghlan added the comment: Martin and I are still experimenting with this issue as a test case for the remote repository diff calculator, so apologies for the noise as we add and remove patch files. -- ___ Python tracker

[issue11477] Bug in code dispatching based on internal slots

2011-03-24 Thread Nick Coghlan
Changes by Nick Coghlan : Added file: http://bugs.python.org/file21383/8bd713a823b5.diff ___ Python tracker ___ ___ Python-bugs-list mailing l

[issue11477] Bug in code dispatching based on internal slots

2011-03-24 Thread Raymond Hettinger
Changes by Raymond Hettinger : -- nosy: +rhettinger ___ Python tracker ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail

[issue11477] Bug in code dispatching based on internal slots

2011-03-24 Thread Martin v . Löwis
Changes by Martin v. Löwis : Added file: http://bugs.python.org/file21368/650549138a3d.diff ___ Python tracker ___ ___ Python-bugs-list mailin

[issue11477] Bug in code dispatching based on internal slots

2011-03-24 Thread Martin v . Löwis
Changes by Martin v. Löwis : Removed file: http://bugs.python.org/file21367/650549138a3d.diff ___ Python tracker ___ ___ Python-bugs-list mail

[issue11477] Bug in code dispatching based on internal slots

2011-03-24 Thread Martin v . Löwis
Changes by Martin v. Löwis : Removed file: http://bugs.python.org/file21258/f1bd5468dae6.diff ___ Python tracker ___ ___ Python-bugs-list mail

[issue11477] Bug in code dispatching based on internal slots

2011-03-24 Thread Martin v . Löwis
Changes by Martin v. Löwis : Added file: http://bugs.python.org/file21367/650549138a3d.diff ___ Python tracker ___ ___ Python-bugs-list mailin

[issue11477] Bug in code dispatching based on internal slots

2011-03-16 Thread Alex Gaynor
Changes by Alex Gaynor : -- nosy: +alex ___ Python tracker ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/

[issue11477] Bug in code dispatching based on internal slots

2011-03-16 Thread Nick Coghlan
Nick Coghlan added the comment: Well, there and in the named diff file on here, of course. -- ___ Python tracker ___ ___ Python-bugs-

[issue11477] Bug in code dispatching based on internal slots

2011-03-16 Thread Nick Coghlan
Nick Coghlan added the comment: The draft code is now only on the "respect_LHS_precedence" branch of my sandbox repository. -- ___ Python tracker ___ __

[issue11477] Bug in code dispatching based on internal slots

2011-03-16 Thread Martin v . Löwis
Changes by Martin v. Löwis : Added file: http://bugs.python.org/file21258/f1bd5468dae6.diff ___ Python tracker ___ ___ Python-bugs-list mailin

[issue11477] Bug in code dispatching based on internal slots

2011-03-16 Thread Martin v . Löwis
Changes by Martin v. Löwis : Removed file: http://bugs.python.org/file21257/f1bd5468dae6.diff ___ Python tracker ___ ___ Python-bugs-list mail

[issue11477] Bug in code dispatching based on internal slots

2011-03-16 Thread Martin v . Löwis
Changes by Martin v. Löwis : Added file: http://bugs.python.org/file21257/f1bd5468dae6.diff ___ Python tracker ___ ___ Python-bugs-list mailin

[issue11477] Bug in code dispatching based on internal slots

2011-03-16 Thread Martin v . Löwis
Changes by Martin v. Löwis : Removed file: http://bugs.python.org/file21256/f1bd5468dae6.diff ___ Python tracker ___ ___ Python-bugs-list mail

[issue11477] Bug in code dispatching based on internal slots

2011-03-16 Thread Martin v . Löwis
Changes by Martin v. Löwis : Added file: http://bugs.python.org/file21256/f1bd5468dae6.diff ___ Python tracker ___ ___ Python-bugs-list mailin

[issue11477] Bug in code dispatching based on internal slots

2011-03-16 Thread Martin v . Löwis
Changes by Martin v. Löwis : Removed file: http://bugs.python.org/file21217/b9b7d4c10bc4.diff ___ Python tracker ___ ___ Python-bugs-list mail

[issue11477] Bug in code dispatching based on internal slots

2011-03-15 Thread Armin Rigo
Changes by Armin Rigo : -- nosy: -arigo ___ Python tracker ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org

[issue11477] Bug in code dispatching based on internal slots

2011-03-15 Thread Nick Coghlan
Nick Coghlan added the comment: We know, I left it there to help MvL debug the issues in the diff generator. The version I created with the rdiff extension is correct though, and Martin fixed the Reitveld integration to handle the extra lines at the start of the diff. I wouldn't actually com

[issue11477] Bug in code dispatching based on internal slots

2011-03-15 Thread Terry J. Reedy
Terry J. Reedy added the comment: b9b7d4c10bc4.diff is a huge compilation of all commits from the last few days, with the abstract.c diff buried about 3/4ths of the way through. -- ___ Python tracker

[issue11477] Bug in code dispatching based on internal slots

2011-03-15 Thread Nick Coghlan
Nick Coghlan added the comment: MvL says the review creation script should be able to cope with the rdiff output within the next day or so. -- ___ Python tracker ___ __

[issue11477] Bug in code dispatching based on internal slots

2011-03-15 Thread Benjamin Peterson
Benjamin Peterson added the comment: Is that a patch you can put on Rietveld then? (/me wanting to review) -- nosy: +benjamin.peterson ___ Python tracker ___ ___

[issue11477] Bug in code dispatching based on internal slots

2011-03-15 Thread Nick Coghlan
Nick Coghlan added the comment: I think the roundup/Hg integration may be getting confused by the merges of the cpython main line of development with my sandbox. -- ___ Python tracker

[issue11477] Bug in code dispatching based on internal slots

2011-03-15 Thread Nick Coghlan
Changes by Nick Coghlan : Removed file: http://bugs.python.org/file21220/2f5db44c98f2.diff ___ Python tracker ___ ___ Python-bugs-list mailing

[issue11477] Bug in code dispatching based on internal slots

2011-03-15 Thread Nick Coghlan
Changes by Nick Coghlan : Added file: http://bugs.python.org/file21220/2f5db44c98f2.diff ___ Python tracker ___ ___ Python-bugs-list mailing l

[issue11477] Bug in code dispatching based on internal slots

2011-03-15 Thread Nick Coghlan
Nick Coghlan added the comment: I generated a patch between my sandbox and the main repository using the rdiff extension immediately after syncing with the main line of development. ("hg diff --reverse cpython" where cpython is aliased to the main repository) This is the output I was hoping t

[issue11477] Bug in code dispatching based on internal slots

2011-03-15 Thread Nick Coghlan
Changes by Nick Coghlan : Added file: http://bugs.python.org/file21217/b9b7d4c10bc4.diff ___ Python tracker ___ ___ Python-bugs-list mailing l

[issue11477] Bug in code dispatching based on internal slots

2011-03-15 Thread Nick Coghlan
Changes by Nick Coghlan : Removed file: http://bugs.python.org/file21216/85d7c99fd31e.diff ___ Python tracker ___ ___ Python-bugs-list mailing

[issue11477] Bug in code dispatching based on internal slots

2011-03-15 Thread Nick Coghlan
Changes by Nick Coghlan : -- keywords: +patch Added file: http://bugs.python.org/file21216/85d7c99fd31e.diff ___ Python tracker ___ __

[issue11477] Bug in code dispatching based on internal slots

2011-03-15 Thread Nick Coghlan
Nick Coghlan added the comment: Trying out the hg integration MvL added to Roundup. -- hgrepos: +3 ___ Python tracker ___ ___ Python-

[issue11477] Bug in code dispatching based on internal slots

2011-03-15 Thread Nick Coghlan
Nick Coghlan added the comment: My work in progress is on the respect_LHS_precedence branch in http://hg.python.org/sandbox/ncoghlan Current status is that I have tests for correct handling of sq_concat and sq_repeat, and am close to having sq_concat and sq_inplace_concat behaving correctly.

[issue11477] Bug in code dispatching based on internal slots

2011-03-15 Thread Nick Coghlan
Nick Coghlan added the comment: Armin: yeah, I learned better in the course of trying to fix this misbehaviour in CPython. I've adjusted assorted sq_concat methods to return NotImplemented in the sandbox where I'm working on this, along with modifying abstract.c to correctly cope with that.

[issue11477] Bug in code dispatching based on internal slots

2011-03-14 Thread Terry J. Reedy
Terry J. Reedy added the comment: I think Nick's point, and one I agree with, is (or amounts to): 'somelist += ob' == 'somelist.__iadd__(ob)' == 'somelist.extend(ob)' == 'somelist[len(somelist):len(somelist)]=ob' is defined and should be implemented for all somelist,ob pairs. If ob is an it

[issue11477] Bug in code dispatching based on internal slots

2011-03-14 Thread Armin Rigo
Armin Rigo added the comment: Nick: we get a TypeError anyway if we do unsupported things like "lst += None". It seems to me that you are confusing levels, unless you can point out a specific place in the documentation that would say "never return NotImplemented from __iadd__(), __imul__(),

[issue11477] Bug in code dispatching based on internal slots

2011-03-14 Thread Terry J. Reedy
Terry J. Reedy added the comment: And if num-add is present and seq-add not, copy the other way, even if it were recommended to only use the former. -- ___ Python tracker ___ _

[issue11477] Bug in code dispatching based on internal slots

2011-03-14 Thread Terry J. Reedy
Terry J. Reedy added the comment: It seems to me that the underlying (design) flaw is having duplicate slots in the C type structure*. I presume that having two different functions in num-add and seq-add (concat) (I know, not quite the proper names), etc, is an error. I also assume that chan

[issue11477] Bug in code dispatching based on internal slots

2011-03-14 Thread Nick Coghlan
Changes by Nick Coghlan : -- assignee: -> ncoghlan ___ Python tracker ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail

[issue11477] Bug in code dispatching based on internal slots

2011-03-14 Thread Nick Coghlan
Nick Coghlan added the comment: Armin, I'm not sure returning NotImplemented from __iadd__ is a good idea in this case. It means "+=" on a mutable object may silently fail to mutate in-place - enabling that seems rather questionable. -- nosy: +ncoghlan ___

[issue11477] Bug in code dispatching based on internal slots

2011-03-14 Thread Carl Friedrich Bolz
Changes by Carl Friedrich Bolz : -- nosy: +cfbolz ___ Python tracker ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.p

[issue11477] Bug in code dispatching based on internal slots

2011-03-13 Thread Meador Inge
Changes by Meador Inge : -- nosy: +meador.inge ___ Python tracker ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.pyth

[issue11477] Bug in code dispatching based on internal slots

2011-03-13 Thread Armin Rigo
Armin Rigo added the comment: Note that I "fixed" one case in PyPy: if the class C has no __iter__() but only __radd__(), and we call "somelist += C()". This was done simply by having somelist.__iadd__(x) return NotImplemented in case x is not iterable, instead of propagating the TypeError.

[issue11477] Bug in code dispatching based on internal slots

2011-03-13 Thread Daniel Urban
Changes by Daniel Urban : -- nosy: +durban ___ Python tracker ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.o

[issue11477] Bug in code dispatching based on internal slots

2011-03-12 Thread Terry J. Reedy
Terry J. Reedy added the comment: Second link to pydev should be http://mail.python.org/pipermail/python-dev/2011-March/109130.html -- ___ Python tracker ___ ___

[issue11477] Bug in code dispatching based on internal slots

2011-03-12 Thread Éric Araujo
Changes by Éric Araujo : -- nosy: +eric.araujo ___ Python tracker ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.pyth

[issue11477] Bug in code dispatching based on internal slots

2011-03-12 Thread Andreas Stührk
Changes by Andreas Stührk : -- nosy: +Trundle ___ Python tracker ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.pytho

[issue11477] Bug in code dispatching based on internal slots

2011-03-12 Thread Terry J. Reedy
New submission from Terry J. Reedy : Example (which can serve as testcase with buggy output corrected). class C(object): def __iter__(self): yield 'yes!' def __radd__(self, other): other.append('bug!') return other def __rmul__(self, other): other *= 2