Issue1799330

classification
Title: Patch for [1799328]: unicode interpolation
Type: Severity: normal
Components: None Versions:
Milestone:
process
Status: closed Resolution: accepted
Dependencies: Superseder:
Assigned To: Nosy List: cgroves, leosoto, pjenvey
Priority: normal Keywords: patch

Created on 2007-09-21.00:35:02 by leosoto, last changed 2007-09-22.12:00:41 by cgroves.

Files
File name Uploaded Description Edit Remove
unicode.patch leosoto, 2007-09-21.00:35:02 Patch
unicode2.patch leosoto, 2007-09-22.01:19:04 Same patch, removing whitespace changes and the commented System.out.print
Messages
msg2893 (view) Author: Leonardo Soto (leosoto) Date: 2007-09-21.00:35:02
Patch that exposes PyUnicode.__mod__ and tweaks StringFormatter to call __unicode__ instead of __str__ when the caller is PyUnicode. 

The test case attached to the bug 1799328 works once applied.
msg2894 (view) Author: Philip Jenvey (pjenvey) Date: 2007-09-22.01:04:29
this looks good minus a couple extraneous whitespace additions and a commented System.out.println
msg2895 (view) Author: Leonardo Soto (leosoto) Date: 2007-09-22.01:19:05
Ouch, sorry I forget to remove that from the patch. Attaching a new one with those corrections.
File Added: unicode2.patch
msg2896 (view) Author: Charlie Groves (cgroves) Date: 2007-09-22.12:00:41
Looks good to me too, so I applied the updated version to trunk in r3506.

I did make a couple of tiny changes.  The unicode___mod__ method needed to be package protected and final.  Those type methods are always final as they're used to implement the type specific method implementation used by the descriptor, and it shouldn't be overrideable by a subclass.  That also means the whole implementation of the method needs to be in unicode___mod__ so the descriptor gets the full behavior, and the PyObject method for that function, __mod__ in this case, should just call the type specific method and that's it.
History
Date User Action Args
2007-09-21 00:35:02leosotocreate