<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <link>https://hg.dopieralski.pl/cpython-lru_cache-weakref/</link>
    <language>en-us</language>

    <title>cpython-lru_cache-weakref: Include/stringobject.h history</title>
    <description>Include/stringobject.h revision history</description>
    <item>
    <title>Dummy-merge 2.6 branch into 2.7 branch.</title>
    <link>https://hg.dopieralski.pl/cpython-lru_cache-weakref/log/b36cb4602e21/Include/stringobject.h</link>
    <description><![CDATA[Dummy-merge 2.6 branch into 2.7 branch.]]></description>
    <author>&#71;&#101;&#111;&#114;&#103;&#32;&#66;&#114;&#97;&#110;&#100;&#108;&#32;&#60;&#103;&#101;&#111;&#114;&#103;&#64;&#112;&#121;&#116;&#104;&#111;&#110;&#46;&#111;&#114;&#103;&#62;</author>
    <pubDate>Sat, 05 Mar 2011 15:15:07 +0100</pubDate>
</item>
<item>
    <title>Backport of some of the work in r71665 to trunk. This reworks much of</title>
    <link>https://hg.dopieralski.pl/cpython-lru_cache-weakref/log/c5e0d9beebf9/Include/stringobject.h</link>
    <description><![CDATA[Backport of some of the work in r71665 to trunk. This reworks much of<br/>
int, long, and float __format__(), and it keeps their implementation<br/>
in sync with py3k.<br/>
<br/>
Also added PyOS_double_to_string. This is the &quot;fallback&quot; version<br/>
that's also available in trunk, and should be kept in sync with that<br/>
code. I'll add an issue to document PyOS_double_to_string in the C<br/>
API.<br/>
<br/>
There are many internal cleanups. Externally visible changes include:<br/>
<br/>
- Implement PEP 378, Format Specifier for Thousands Separator, for<br/>
  floats, ints, and longs.<br/>
<br/>
- Issue #5515: 'n' formatting for ints, longs, and floats handles<br/>
  leading zero formatting poorly.<br/>
<br/>
- Issue #5772: For float.__format__, don't add a trailing &quot;.0&quot; if<br/>
  we're using no type code and we have an exponent.]]></description>
    <author>&#69;&#114;&#105;&#99;&#32;&#83;&#109;&#105;&#116;&#104;&#32;&#60;&#101;&#114;&#105;&#99;&#64;&#116;&#114;&#117;&#101;&#98;&#108;&#97;&#100;&#101;&#46;&#99;&#111;&#109;&#62;</author>
    <pubDate>Wed, 22 Apr 2009 13:29:05 +0000</pubDate>
</item>
<item>
    <title>Recorded merge of revisions 81029 via svnmerge from</title>
    <link>https://hg.dopieralski.pl/cpython-lru_cache-weakref/log/e38335d4df91/Include/stringobject.h</link>
    <description><![CDATA[Recorded merge of revisions 81029 via svnmerge from<br/>
svn+ssh://pythondev@svn.python.org/python/trunk<br/>
<br/>
........<br/>
  r81029 | antoine.pitrou | 2010-05-09 16:46:46 +0200 (dim., 09 mai 2010) | 3 lines<br/>
<br/>
  Untabify C files. Will watch buildbots.<br/>
........]]></description>
    <author>&#65;&#110;&#116;&#111;&#105;&#110;&#101;&#32;&#80;&#105;&#116;&#114;&#111;&#117;&#32;&#60;&#115;&#111;&#108;&#105;&#112;&#115;&#105;&#115;&#64;&#112;&#105;&#116;&#114;&#111;&#117;&#46;&#110;&#101;&#116;&#62;</author>
    <pubDate>Sun, 09 May 2010 15:15:40 +0000</pubDate>
</item>
<item>
    <title>Modified interface to _Py_[String|Unicode]InsertThousandsGrouping, in anticipation of fixing issue 3140.</title>
    <link>https://hg.dopieralski.pl/cpython-lru_cache-weakref/log/752e1abaf15a/Include/stringobject.h</link>
    <description><![CDATA[Modified interface to _Py_[String|Unicode]InsertThousandsGrouping, in anticipation of fixing issue 3140.]]></description>
    <author>&#69;&#114;&#105;&#99;&#32;&#83;&#109;&#105;&#116;&#104;&#32;&#60;&#101;&#114;&#105;&#99;&#64;&#116;&#114;&#117;&#101;&#98;&#108;&#97;&#100;&#101;&#46;&#99;&#111;&#109;&#62;</author>
    <pubDate>Tue, 24 Jun 2008 00:42:10 +0000</pubDate>
</item>
<item>
    <title>swap stringobject.h and bytesobject.h contents to make sense.  PyString in</title>
    <link>https://hg.dopieralski.pl/cpython-lru_cache-weakref/log/acddb00b1de5/Include/stringobject.h</link>
    <description><![CDATA[swap stringobject.h and bytesobject.h contents to make sense.  PyString in<br/>
stringobject and PyBytes defines in bytesobject.]]></description>
    <author>&#71;&#114;&#101;&#103;&#111;&#114;&#121;&#32;&#80;&#46;&#32;&#83;&#109;&#105;&#116;&#104;&#32;&#60;&#103;&#114;&#101;&#103;&#64;&#109;&#97;&#100;&#45;&#115;&#99;&#105;&#101;&#110;&#116;&#105;&#115;&#116;&#46;&#99;&#111;&#109;&#62;</author>
    <pubDate>Wed, 11 Jun 2008 03:40:10 +0000</pubDate>
</item>
<item>
    <title>This reverts r63675 based on the discussion in this thread:</title>
    <link>https://hg.dopieralski.pl/cpython-lru_cache-weakref/log/52294af4b663/Include/stringobject.h</link>
    <description><![CDATA[This reverts r63675 based on the discussion in this thread:<br/>
<br/>
 http://mail.python.org/pipermail/python-dev/2008-June/079988.html<br/>
<br/>
Python 2.6 should stick with PyString_* in its codebase.  The PyBytes_* names<br/>
in the spirit of 3.0 are available via a #define only.  See the email thread.]]></description>
    <author>&#71;&#114;&#101;&#103;&#111;&#114;&#121;&#32;&#80;&#46;&#32;&#83;&#109;&#105;&#116;&#104;&#32;&#60;&#103;&#114;&#101;&#103;&#64;&#109;&#97;&#100;&#45;&#115;&#99;&#105;&#101;&#110;&#116;&#105;&#115;&#116;&#46;&#99;&#111;&#109;&#62;</author>
    <pubDate>Mon, 09 Jun 2008 04:58:54 +0000</pubDate>
</item>
<item>
    <title>Renamed PyString to PyBytes</title>
    <link>https://hg.dopieralski.pl/cpython-lru_cache-weakref/log/4fe192d48960/Include/stringobject.h</link>
    <description><![CDATA[Renamed PyString to PyBytes]]></description>
    <author>&#67;&#104;&#114;&#105;&#115;&#116;&#105;&#97;&#110;&#32;&#72;&#101;&#105;&#109;&#101;&#115;&#32;&#60;&#99;&#104;&#114;&#105;&#115;&#116;&#105;&#97;&#110;&#64;&#99;&#104;&#101;&#105;&#109;&#101;&#115;&#46;&#100;&#101;&#62;</author>
    <pubDate>Mon, 26 May 2008 12:51:38 +0000</pubDate>
</item>
<item>
    <title>First step of the C API rename:</title>
    <link>https://hg.dopieralski.pl/cpython-lru_cache-weakref/log/04bd3690fb1f/Include/stringobject.h</link>
    <description><![CDATA[First step of the C API rename:<br/>
renamed Include/bytesobject.h to Include/bytearrayobject.h<br/>
renamed Include/stringobject.h to Include/bytesobject.h<br/>
added Include/stringobject.h with aliases]]></description>
    <author>&#67;&#104;&#114;&#105;&#115;&#116;&#105;&#97;&#110;&#32;&#72;&#101;&#105;&#109;&#101;&#115;&#32;&#60;&#99;&#104;&#114;&#105;&#115;&#116;&#105;&#97;&#110;&#64;&#99;&#104;&#101;&#105;&#109;&#101;&#115;&#46;&#100;&#101;&#62;</author>
    <pubDate>Mon, 26 May 2008 12:29:14 +0000</pubDate>
</item>
<item>
    <title>Addresses issue 2802: 'n' formatting for integers.</title>
    <link>https://hg.dopieralski.pl/cpython-lru_cache-weakref/log/206700d749f0/Include/stringobject.h</link>
    <description><![CDATA[Addresses issue 2802: 'n' formatting for integers.<br/>
<br/>
Adds 'n' as a format specifier for integers, to mirror the same<br/>
specifier which is already available for floats.  'n' is the same as<br/>
'd', but inserts the current locale-specific thousands grouping.<br/>
<br/>
I added this as a stringlib function, but it's only used by str type,<br/>
not unicode.  This is because of an implementation detail in<br/>
unicode.format(), which does its own str-&gt;unicode conversion.  But the<br/>
unicode version will be needed in 3.0, and it may be needed by other<br/>
code eventually in 2.6 (maybe decimal?), so I left it as a stringlib<br/>
implementation.  As long as the unicode version isn't instantiated,<br/>
there's no overhead for this.]]></description>
    <author>&#69;&#114;&#105;&#99;&#32;&#83;&#109;&#105;&#116;&#104;&#32;&#60;&#101;&#114;&#105;&#99;&#64;&#116;&#114;&#117;&#101;&#98;&#108;&#97;&#100;&#101;&#46;&#99;&#111;&#109;&#62;</author>
    <pubDate>Sun, 11 May 2008 19:52:48 +0000</pubDate>
</item>
<item>
    <title>#1629: Renamed Py_Size, Py_Type and Py_Refcnt to Py_SIZE, Py_TYPE and Py_REFCNT. Macros for b/w compatibility are available.</title>
    <link>https://hg.dopieralski.pl/cpython-lru_cache-weakref/log/26384b8180c7/Include/stringobject.h</link>
    <description><![CDATA[#1629: Renamed Py_Size, Py_Type and Py_Refcnt to Py_SIZE, Py_TYPE and Py_REFCNT. Macros for b/w compatibility are available.]]></description>
    <author>&#67;&#104;&#114;&#105;&#115;&#116;&#105;&#97;&#110;&#32;&#72;&#101;&#105;&#109;&#101;&#115;&#32;&#60;&#99;&#104;&#114;&#105;&#115;&#116;&#105;&#97;&#110;&#64;&#99;&#104;&#101;&#105;&#109;&#101;&#115;&#46;&#100;&#101;&#62;</author>
    <pubDate>Wed, 19 Dec 2007 02:37:44 +0000</pubDate>
</item>
<item>
    <title>PEP 3123: Provide forward compatibility with Python 3.0, while keeping</title>
    <link>https://hg.dopieralski.pl/cpython-lru_cache-weakref/log/6620a510e9a9/Include/stringobject.h</link>
    <description><![CDATA[PEP 3123: Provide forward compatibility with Python 3.0, while keeping<br/>
backwards compatibility. Add Py_Refcnt, Py_Type, Py_Size, and<br/>
PyVarObject_HEAD_INIT.]]></description>
    <author>&#77;&#97;&#114;&#116;&#105;&#110;&#32;&#118;&#46;&#32;&#76;&#246;&#119;&#105;&#115;&#32;&#60;&#109;&#97;&#114;&#116;&#105;&#110;&#64;&#118;&#46;&#108;&#111;&#101;&#119;&#105;&#115;&#46;&#100;&#101;&#62;</author>
    <pubDate>Sat, 21 Jul 2007 06:55:02 +0000</pubDate>
</item>
<item>
    <title>Variation of patch # 1624059 to speed up checking if an object is a subclass</title>
    <link>https://hg.dopieralski.pl/cpython-lru_cache-weakref/log/d01bd37bf5ce/Include/stringobject.h</link>
    <description><![CDATA[Variation of patch # 1624059 to speed up checking if an object is a subclass<br/>
of some of the common builtin types.<br/>
<br/>
Use a bit in tp_flags for each common builtin type.  Check the bit<br/>
to determine if any instance is a subclass of these common types.<br/>
The check avoids a function call and O(n) search of the base classes.<br/>
The check is done in the various Py*_Check macros rather than calling<br/>
PyType_IsSubtype().<br/>
<br/>
All the bits are set in tp_flags when the type is declared<br/>
in the Objects/*object.c files because PyType_Ready() is not called<br/>
for all the types.  Should PyType_Ready() be called for all types?<br/>
If so and the change is made, the changes to the Objects/*object.c files<br/>
can be reverted (remove setting the tp_flags).  Objects/typeobject.c<br/>
would also have to be modified to add conditions<br/>
for Py*_CheckExact() in addition to each the PyType_IsSubtype check.]]></description>
    <author>&#78;&#101;&#97;&#108;&#32;&#78;&#111;&#114;&#119;&#105;&#116;&#122;&#32;&#60;&#110;&#110;&#111;&#114;&#119;&#105;&#116;&#122;&#64;&#103;&#109;&#97;&#105;&#108;&#46;&#99;&#111;&#109;&#62;</author>
    <pubDate>Sun, 25 Feb 2007 19:44:48 +0000</pubDate>
</item>
<item>
    <title>Renamed PyString to PyBytes</title>
    <link>https://hg.dopieralski.pl/cpython-lru_cache-weakref/log/23ab586c427a/Include/stringobject.h</link>
    <description><![CDATA[Renamed PyString to PyBytes]]></description>
    <author>&#67;&#104;&#114;&#105;&#115;&#116;&#105;&#97;&#110;&#32;&#72;&#101;&#105;&#109;&#101;&#115;&#32;&#60;&#99;&#104;&#114;&#105;&#115;&#116;&#105;&#97;&#110;&#64;&#99;&#104;&#101;&#105;&#109;&#101;&#115;&#46;&#100;&#101;&#62;</author>
    <pubDate>Mon, 26 May 2008 13:28:38 +0000</pubDate>
</item>
<item>
    <title>Merged revisions 63078 via svnmerge from</title>
    <link>https://hg.dopieralski.pl/cpython-lru_cache-weakref/log/ef4ec968fdb6/Include/stringobject.h</link>
    <description><![CDATA[Merged revisions 63078 via svnmerge from<br/>
svn+ssh://pythondev@svn.python.org/python/trunk<br/>
<br/>
When forward porting this, I added _PyUnicode_InsertThousandsGrouping.<br/>
<br/>
........<br/>
  r63078 | eric.smith | 2008-05-11 15:52:48 -0400 (Sun, 11 May 2008) | 14 lines<br/>
<br/>
  Addresses issue 2802: 'n' formatting for integers.<br/>
<br/>
  Adds 'n' as a format specifier for integers, to mirror the same<br/>
  specifier which is already available for floats.  'n' is the same as<br/>
  'd', but inserts the current locale-specific thousands grouping.<br/>
<br/>
  I added this as a stringlib function, but it's only used by str type,<br/>
  not unicode.  This is because of an implementation detail in<br/>
  unicode.format(), which does its own str-&gt;unicode conversion.  But the<br/>
  unicode version will be needed in 3.0, and it may be needed by other<br/>
  code eventually in 2.6 (maybe decimal?), so I left it as a stringlib<br/>
  implementation.  As long as the unicode version isn't instantiated,<br/>
  there's no overhead for this.<br/>
........]]></description>
    <author>&#69;&#114;&#105;&#99;&#32;&#83;&#109;&#105;&#116;&#104;&#32;&#60;&#101;&#114;&#105;&#99;&#64;&#116;&#114;&#117;&#101;&#98;&#108;&#97;&#100;&#101;&#46;&#99;&#111;&#109;&#62;</author>
    <pubDate>Sun, 11 May 2008 21:00:57 +0000</pubDate>
</item>
<item>
    <title>#1629: Renamed Py_Size, Py_Type and Py_Refcnt to Py_SIZE, Py_TYPE and Py_REFCNT.</title>
    <link>https://hg.dopieralski.pl/cpython-lru_cache-weakref/log/86a2679dca46/Include/stringobject.h</link>
    <description><![CDATA[#1629: Renamed Py_Size, Py_Type and Py_Refcnt to Py_SIZE, Py_TYPE and Py_REFCNT.]]></description>
    <author>&#67;&#104;&#114;&#105;&#115;&#116;&#105;&#97;&#110;&#32;&#72;&#101;&#105;&#109;&#101;&#115;&#32;&#60;&#99;&#104;&#114;&#105;&#115;&#116;&#105;&#97;&#110;&#64;&#99;&#104;&#101;&#105;&#109;&#101;&#115;&#46;&#100;&#101;&#62;</author>
    <pubDate>Wed, 19 Dec 2007 02:45:37 +0000</pubDate>
</item>
<item>
    <title>Fixed issue #1564: The set implementation should special-case PyUnicode instead of PyString</title>
    <link>https://hg.dopieralski.pl/cpython-lru_cache-weakref/log/444da08f78a4/Include/stringobject.h</link>
    <description><![CDATA[Fixed issue #1564: The set implementation should special-case PyUnicode instead of PyString<br/>
I moved the unicode_eq to stringlib/eq.h to keep the function static and possible inline for setobject.c and dictobject.h. I also removed the unused _PyString_Eq method. If it's required in the future it can be added to eq.h]]></description>
    <author>&#67;&#104;&#114;&#105;&#115;&#116;&#105;&#97;&#110;&#32;&#72;&#101;&#105;&#109;&#101;&#115;&#32;&#60;&#99;&#104;&#114;&#105;&#115;&#116;&#105;&#97;&#110;&#64;&#99;&#104;&#101;&#105;&#109;&#101;&#115;&#46;&#100;&#101;&#62;</author>
    <pubDate>Mon, 10 Dec 2007 15:50:56 +0000</pubDate>
</item>
<item>
    <title>Added all PyTypeObjects to the appropriate header files.</title>
    <link>https://hg.dopieralski.pl/cpython-lru_cache-weakref/log/0cc552ab76bd/Include/stringobject.h</link>
    <description><![CDATA[Added all PyTypeObjects to the appropriate header files.<br/>
Before the patch a lot of internal types weren't available in the header files. The patch exposes the new iterators, views and some other types to all C modules. I've also renamed some of the types and tp_names.]]></description>
    <author>&#67;&#104;&#114;&#105;&#115;&#116;&#105;&#97;&#110;&#32;&#72;&#101;&#105;&#109;&#101;&#115;&#32;&#60;&#99;&#104;&#114;&#105;&#115;&#116;&#105;&#97;&#110;&#64;&#99;&#104;&#101;&#105;&#109;&#101;&#115;&#46;&#100;&#101;&#62;</author>
    <pubDate>Thu, 29 Nov 2007 22:35:39 +0000</pubDate>
</item>
<item>
    <title>Merging the py3k-pep3137 branch back into the py3k branch.</title>
    <link>https://hg.dopieralski.pl/cpython-lru_cache-weakref/log/0d462d789b18/Include/stringobject.h</link>
    <description><![CDATA[Merging the py3k-pep3137 branch back into the py3k branch.<br/>
No detailed change log; just check out the change log for the py3k-pep3137<br/>
branch.  The most obvious changes:<br/>
<br/>
  - str8 renamed to bytes (PyString at the C level);<br/>
  - bytes renamed to buffer (PyBytes at the C level);<br/>
  - PyString and PyUnicode are no longer compatible.<br/>
<br/>
I.e. we now have an immutable bytes type and a mutable bytes type.<br/>
<br/>
The behavior of PyString was modified quite a bit, to make it more<br/>
bytes-like.  Some changes are still on the to-do list.]]></description>
    <author>&#71;&#117;&#105;&#100;&#111;&#32;&#118;&#97;&#110;&#32;&#82;&#111;&#115;&#115;&#117;&#109;&#32;&#60;&#103;&#117;&#105;&#100;&#111;&#64;&#112;&#121;&#116;&#104;&#111;&#110;&#46;&#111;&#114;&#103;&#62;</author>
    <pubDate>Tue, 06 Nov 2007 21:34:58 +0000</pubDate>
</item>
<item>
    <title>Kill PyString_Encode(), which isn't used anywhere.</title>
    <link>https://hg.dopieralski.pl/cpython-lru_cache-weakref/log/50a3475db466/Include/stringobject.h</link>
    <description><![CDATA[Kill PyString_Encode(), which isn't used anywhere.<br/>
(We should also kill the other PyString_ encode/decode APIs, but they<br/>
still have some users.)]]></description>
    <author>&#71;&#117;&#105;&#100;&#111;&#32;&#118;&#97;&#110;&#32;&#82;&#111;&#115;&#115;&#117;&#109;&#32;&#60;&#103;&#117;&#105;&#100;&#111;&#64;&#112;&#121;&#116;&#104;&#111;&#110;&#46;&#111;&#114;&#103;&#62;</author>
    <pubDate>Fri, 26 Oct 2007 19:34:40 +0000</pubDate>
</item>
<item>
    <title>Patch# 1258 by Christian Heimes: kill basestring.</title>
    <link>https://hg.dopieralski.pl/cpython-lru_cache-weakref/log/ace45b361e87/Include/stringobject.h</link>
    <description><![CDATA[Patch# 1258 by Christian Heimes: kill basestring.<br/>
I like this because it makes the code shorter! :-)]]></description>
    <author>&#71;&#117;&#105;&#100;&#111;&#32;&#118;&#97;&#110;&#32;&#82;&#111;&#115;&#115;&#117;&#109;&#32;&#60;&#103;&#117;&#105;&#100;&#111;&#64;&#112;&#121;&#116;&#104;&#111;&#110;&#46;&#111;&#114;&#103;&#62;</author>
    <pubDate>Tue, 16 Oct 2007 18:12:55 +0000</pubDate>
</item>
<item>
    <title>Fix merge breakage.</title>
    <link>https://hg.dopieralski.pl/cpython-lru_cache-weakref/log/c8b850b5a066/Include/stringobject.h</link>
    <description><![CDATA[Fix merge breakage.]]></description>
    <author>&#77;&#97;&#114;&#116;&#105;&#110;&#32;&#118;&#46;&#32;&#76;&#246;&#119;&#105;&#115;&#32;&#60;&#109;&#97;&#114;&#116;&#105;&#110;&#64;&#118;&#46;&#108;&#111;&#101;&#119;&#105;&#115;&#46;&#100;&#101;&#62;</author>
    <pubDate>Sat, 21 Jul 2007 18:47:48 +0000</pubDate>
</item>
<item>
    <title>Merged revisions 56467-56482 via svnmerge from</title>
    <link>https://hg.dopieralski.pl/cpython-lru_cache-weakref/log/e70cdce0e8b2/Include/stringobject.h</link>
    <description><![CDATA[Merged revisions 56467-56482 via svnmerge from<br/>
svn+ssh://pythondev@svn.python.org/python/branches/p3yk<br/>
<br/>
................<br/>
  r56477 | martin.v.loewis | 2007-07-21 09:04:38 +0200 (Sa, 21 Jul 2007) | 11 lines<br/>
<br/>
  Merged revisions 56466-56476 via svnmerge from<br/>
  svn+ssh://pythondev@svn.python.org/python/trunk<br/>
<br/>
  ........<br/>
    r56476 | martin.v.loewis | 2007-07-21 08:55:02 +0200 (Sa, 21 Jul 2007) | 4 lines<br/>
<br/>
    PEP 3123: Provide forward compatibility with Python 3.0, while keeping<br/>
    backwards compatibility. Add Py_Refcnt, Py_Type, Py_Size, and<br/>
    PyVarObject_HEAD_INIT.<br/>
  ........<br/>
................<br/>
  r56478 | martin.v.loewis | 2007-07-21 09:47:23 +0200 (Sa, 21 Jul 2007) | 2 lines<br/>
<br/>
  PEP 3123: Use proper C inheritance for PyObject.<br/>
................<br/>
  r56479 | martin.v.loewis | 2007-07-21 10:06:55 +0200 (Sa, 21 Jul 2007) | 3 lines<br/>
<br/>
  Add longintrepr.h to Python.h, so that the compiler can<br/>
  see that PyFalse is really some kind of PyObject*.<br/>
................<br/>
  r56480 | martin.v.loewis | 2007-07-21 10:47:18 +0200 (Sa, 21 Jul 2007) | 2 lines<br/>
<br/>
  Qualify SHIFT, MASK, BASE.<br/>
................<br/>
  r56482 | martin.v.loewis | 2007-07-21 19:10:57 +0200 (Sa, 21 Jul 2007) | 2 lines<br/>
<br/>
  Correctly refer to _ob_next.<br/>
................]]></description>
    <author>&#77;&#97;&#114;&#116;&#105;&#110;&#32;&#118;&#46;&#32;&#76;&#246;&#119;&#105;&#115;&#32;&#60;&#109;&#97;&#114;&#116;&#105;&#110;&#64;&#118;&#46;&#108;&#111;&#101;&#119;&#105;&#115;&#46;&#100;&#101;&#62;</author>
    <pubDate>Sat, 21 Jul 2007 17:22:18 +0000</pubDate>
</item>
<item>
    <title>Make identifiers str (not str8) objects throughout.</title>
    <link>https://hg.dopieralski.pl/cpython-lru_cache-weakref/log/cd125fe83051/Include/stringobject.h</link>
    <description><![CDATA[Make identifiers str (not str8) objects throughout.<br/>
This affects the parser, various object implementations,<br/>
and all places that put identifiers into C string literals.<br/>
<br/>
In testing, a number of crashes occurred as code would<br/>
fail when the recursion limit was reached (such as the<br/>
Unicode interning dictionary having key/value pairs where<br/>
key is not value). To solve these, I added an overflowed<br/>
flag, which allows for 50 more recursions after the<br/>
limit was reached and the exception was raised, and<br/>
a recursion_critical flag, which indicates that recursion<br/>
absolutely must be allowed, i.e. that a certain call<br/>
must not cause a stack overflow exception.<br/>
<br/>
There are still some places where both str and str8 are<br/>
accepted as identifiers; these should eventually be<br/>
removed.]]></description>
    <author>&#77;&#97;&#114;&#116;&#105;&#110;&#32;&#118;&#46;&#32;&#76;&#246;&#119;&#105;&#115;&#32;&#60;&#109;&#97;&#114;&#116;&#105;&#110;&#64;&#118;&#46;&#108;&#111;&#101;&#119;&#105;&#115;&#46;&#100;&#101;&#62;</author>
    <pubDate>Sun, 10 Jun 2007 09:51:05 +0000</pubDate>
</item>
<item>
    <title>Add interning of unicode strings by copying the functionality from</title>
    <link>https://hg.dopieralski.pl/cpython-lru_cache-weakref/log/dcb43f40390b/Include/stringobject.h</link>
    <description><![CDATA[Add interning of unicode strings by copying the functionality from<br/>
stringobject.c.<br/>
<br/>
Intern &quot;True&quot; and &quot;False&quot; in bool_repr() again as it was in the<br/>
8bit string era.]]></description>
    <author>&#87;&#97;&#108;&#116;&#101;&#114;&#32;&#68;&#246;&#114;&#119;&#97;&#108;&#100;&#32;&#60;&#119;&#97;&#108;&#116;&#101;&#114;&#64;&#108;&#105;&#118;&#105;&#110;&#103;&#108;&#111;&#103;&#105;&#99;&#46;&#100;&#101;&#62;</author>
    <pubDate>Fri, 25 May 2007 13:52:07 +0000</pubDate>
</item>
<item>
    <title>Merged revisions 53875-53911 via svnmerge from</title>
    <link>https://hg.dopieralski.pl/cpython-lru_cache-weakref/log/f2f0b41f270d/Include/stringobject.h</link>
    <description><![CDATA[Merged revisions 53875-53911 via svnmerge from<br/>
svn+ssh://pythondev@svn.python.org/python/trunk<br/>
<br/>
........<br/>
  r53899 | neal.norwitz | 2007-02-25 16:52:27 +0100 (Sun, 25 Feb 2007) | 1 line<br/>
<br/>
  Add more details when releasing interned strings<br/>
........<br/>
  r53900 | neal.norwitz | 2007-02-25 16:53:36 +0100 (Sun, 25 Feb 2007) | 1 line<br/>
<br/>
  Whitespace only changes<br/>
........<br/>
  r53901 | jeremy.hylton | 2007-02-25 16:57:45 +0100 (Sun, 25 Feb 2007) | 8 lines<br/>
<br/>
  Fix crash in exec when unicode filename can't be decoded.<br/>
<br/>
  I can't think of an easy way to test this behavior.  It only occurs<br/>
  when the file system default encoding and the interpreter default<br/>
  encoding are different, such that you can open the file but not decode<br/>
  its name.<br/>
........<br/>
  r53902 | jeremy.hylton | 2007-02-25 17:01:58 +0100 (Sun, 25 Feb 2007) | 2 lines<br/>
<br/>
  Put declarations before code.<br/>
........<br/>
  r53910 | fred.drake | 2007-02-25 18:56:27 +0100 (Sun, 25 Feb 2007) | 3 lines<br/>
<br/>
  - SF patch #1657613: add documentation for the Element interface<br/>
  - clean up bogus use of the {datadescni} environment everywhere<br/>
........<br/>
  r53911 | neal.norwitz | 2007-02-25 20:44:48 +0100 (Sun, 25 Feb 2007) | 17 lines<br/>
<br/>
  Variation of patch # 1624059 to speed up checking if an object is a subclass<br/>
  of some of the common builtin types.<br/>
<br/>
  Use a bit in tp_flags for each common builtin type.  Check the bit<br/>
  to determine if any instance is a subclass of these common types.<br/>
  The check avoids a function call and O(n) search of the base classes.<br/>
  The check is done in the various Py*_Check macros rather than calling<br/>
  PyType_IsSubtype().<br/>
<br/>
  All the bits are set in tp_flags when the type is declared<br/>
  in the Objects/*object.c files because PyType_Ready() is not called<br/>
  for all the types.  Should PyType_Ready() be called for all types?<br/>
  If so and the change is made, the changes to the Objects/*object.c files<br/>
  can be reverted (remove setting the tp_flags).  Objects/typeobject.c<br/>
  would also have to be modified to add conditions<br/>
  for Py*_CheckExact() in addition to each the PyType_IsSubtype check.<br/>
........]]></description>
    <author>&#84;&#104;&#111;&#109;&#97;&#115;&#32;&#87;&#111;&#117;&#116;&#101;&#114;&#115;&#32;&#60;&#116;&#104;&#111;&#109;&#97;&#115;&#64;&#112;&#121;&#116;&#104;&#111;&#110;&#46;&#111;&#114;&#103;&#62;</author>
    <pubDate>Sun, 25 Feb 2007 20:39:11 +0000</pubDate>
</item>
<item>
    <title>Patch #1601678: move intern() to sys.intern().</title>
    <link>https://hg.dopieralski.pl/cpython-lru_cache-weakref/log/8565e3fea9b6/Include/stringobject.h</link>
    <description><![CDATA[Patch #1601678: move intern() to sys.intern().]]></description>
    <author>&#71;&#101;&#111;&#114;&#103;&#32;&#66;&#114;&#97;&#110;&#100;&#108;&#32;&#60;&#103;&#101;&#111;&#114;&#103;&#64;&#112;&#121;&#116;&#104;&#111;&#110;&#46;&#111;&#114;&#103;&#62;</author>
    <pubDate>Tue, 19 Dec 2006 20:50:34 +0000</pubDate>
</item>
<item>
    <title>Merge ssize_t branch.</title>
    <link>https://hg.dopieralski.pl/cpython-lru_cache-weakref/log/7fdc639bc5b4/Include/stringobject.h</link>
    <description><![CDATA[Merge ssize_t branch.]]></description>
    <author>&#77;&#97;&#114;&#116;&#105;&#110;&#32;&#118;&#46;&#32;&#76;&#246;&#119;&#105;&#115;&#32;&#60;&#109;&#97;&#114;&#116;&#105;&#110;&#64;&#118;&#46;&#108;&#111;&#101;&#119;&#105;&#115;&#46;&#100;&#101;&#62;</author>
    <pubDate>Wed, 15 Feb 2006 17:27:45 +0000</pubDate>
</item>
<item>
    <title>Wrote down the invariants of some common objects whose structure is</title>
    <link>https://hg.dopieralski.pl/cpython-lru_cache-weakref/log/60c60dc75c77/Include/stringobject.h</link>
    <description><![CDATA[Wrote down the invariants of some common objects whose structure is<br/>
exposed in header files.  Fixed a few comments in these headers.<br/>
<br/>
As we might have expected, writing down invariants systematically exposed a<br/>
(minor) bug.  In this case, function objects have a writeable func_code<br/>
attribute, which could be set to code objects with the wrong number of<br/>
free variables.  Calling the resulting function segfaulted the interpreter.<br/>
Added a corresponding test.]]></description>
    <author>&#65;&#114;&#109;&#105;&#110;&#32;&#82;&#105;&#103;&#111;&#32;&#60;&#97;&#114;&#105;&#103;&#111;&#64;&#116;&#117;&#110;&#101;&#115;&#46;&#111;&#114;&#103;&#62;</author>
    <pubDate>Thu, 28 Oct 2004 16:32:00 +0000</pubDate>
</item>
<item>
    <title>Use appropriate macros not the deprecated DL_IMPORT/DL_EXPORT macros</title>
    <link>https://hg.dopieralski.pl/cpython-lru_cache-weakref/log/85e52ec85629/Include/stringobject.h</link>
    <description><![CDATA[Use appropriate macros not the deprecated DL_IMPORT/DL_EXPORT macros]]></description>
    <author>&#78;&#101;&#97;&#108;&#32;&#78;&#111;&#114;&#119;&#105;&#116;&#122;&#32;&#60;&#110;&#110;&#111;&#114;&#119;&#105;&#116;&#122;&#64;&#103;&#109;&#97;&#105;&#108;&#46;&#99;&#111;&#109;&#62;</author>
    <pubDate>Tue, 01 Jul 2003 20:15:21 +0000</pubDate>
</item>
<item>
    <title>Use Py_GCC_ATTRIBUTE instead of __attribute__.  Compilers other than GCC</title>
    <link>https://hg.dopieralski.pl/cpython-lru_cache-weakref/log/6c21e95a4881/Include/stringobject.h</link>
    <description><![CDATA[Use Py_GCC_ATTRIBUTE instead of __attribute__.  Compilers other than GCC<br/>
might use __attribute__ in other ways (e.g. CodeWarrior).]]></description>
    <author>&#78;&#101;&#105;&#108;&#32;&#83;&#99;&#104;&#101;&#109;&#101;&#110;&#97;&#117;&#101;&#114;&#32;&#60;&#110;&#97;&#115;&#99;&#104;&#101;&#109;&#101;&#64;&#101;&#110;&#109;&#101;&#46;&#117;&#99;&#97;&#108;&#103;&#97;&#114;&#121;&#46;&#99;&#97;&#62;</author>
    <pubDate>Sun, 15 Sep 2002 14:09:54 +0000</pubDate>
</item>
<item>
    <title>SF patch 576101, by Oren Tirosh: alternative implementation of</title>
    <link>https://hg.dopieralski.pl/cpython-lru_cache-weakref/log/bc660f73795c/Include/stringobject.h</link>
    <description><![CDATA[SF patch 576101, by Oren Tirosh: alternative implementation of<br/>
interning.  I modified Oren's patch significantly, but the basic idea<br/>
and most of the implementation is unchanged.  Interned strings created<br/>
with PyString_InternInPlace() are now mortal, and you must keep a<br/>
reference to the resulting string around; use the new function<br/>
PyString_InternImmortal() to create immortal interned strings.]]></description>
    <author>&#71;&#117;&#105;&#100;&#111;&#32;&#118;&#97;&#110;&#32;&#82;&#111;&#115;&#115;&#117;&#109;&#32;&#60;&#103;&#117;&#105;&#100;&#111;&#64;&#112;&#121;&#116;&#104;&#111;&#110;&#46;&#111;&#114;&#103;&#62;</author>
    <pubDate>Mon, 19 Aug 2002 21:43:18 +0000</pubDate>
</item>
<item>
    <title>Patch #505705: Remove eval in pickle and cPickle.</title>
    <link>https://hg.dopieralski.pl/cpython-lru_cache-weakref/log/ab63af3ec349/Include/stringobject.h</link>
    <description><![CDATA[Patch #505705: Remove eval in pickle and cPickle.]]></description>
    <author>&#77;&#97;&#114;&#116;&#105;&#110;&#32;&#118;&#46;&#32;&#76;&#246;&#119;&#105;&#115;&#32;&#60;&#109;&#97;&#114;&#116;&#105;&#110;&#64;&#118;&#46;&#108;&#111;&#101;&#119;&#105;&#115;&#46;&#100;&#101;&#62;</author>
    <pubDate>Wed, 14 Aug 2002 07:46:28 +0000</pubDate>
</item>
<item>
    <title>Excise DL_EXPORT from Include.</title>
    <link>https://hg.dopieralski.pl/cpython-lru_cache-weakref/log/c1eb668525e1/Include/stringobject.h</link>
    <description><![CDATA[Excise DL_EXPORT from Include.<br/>
<br/>
Thanks to Skip Montanaro and Kalle Svensson for the patches.]]></description>
    <author>&#77;&#97;&#114;&#107;&#32;&#72;&#97;&#109;&#109;&#111;&#110;&#100;&#32;&#60;&#109;&#104;&#97;&#109;&#109;&#111;&#110;&#100;&#64;&#115;&#107;&#105;&#112;&#112;&#105;&#110;&#101;&#116;&#46;&#99;&#111;&#109;&#46;&#97;&#117;&#62;</author>
    <pubDate>Mon, 12 Aug 2002 07:21:58 +0000</pubDate>
</item>
<item>
    <title>- A new type object, 'string', is added.  This is a common base type</title>
    <link>https://hg.dopieralski.pl/cpython-lru_cache-weakref/log/220b98f06415/Include/stringobject.h</link>
    <description><![CDATA[- A new type object, 'string', is added.  This is a common base type<br/>
  for 'str' and 'unicode', and can be used instead of<br/>
  types.StringTypes, e.g. to test whether something is &quot;a string&quot;:<br/>
  isinstance(x, string) is True for Unicode and 8-bit strings.  This<br/>
  is an abstract base class and cannot be instantiated directly.]]></description>
    <author>&#71;&#117;&#105;&#100;&#111;&#32;&#118;&#97;&#110;&#32;&#82;&#111;&#115;&#115;&#117;&#109;&#32;&#60;&#103;&#117;&#105;&#100;&#111;&#64;&#112;&#121;&#116;&#104;&#111;&#110;&#46;&#111;&#114;&#103;&#62;</author>
    <pubDate>Fri, 24 May 2002 19:01:59 +0000</pubDate>
</item>
<item>
    <title>Remove the CACHE_HASH and INTERN_STRINGS preprocessor symbols.</title>
    <link>https://hg.dopieralski.pl/cpython-lru_cache-weakref/log/f3a416b178c4/Include/stringobject.h</link>
    <description><![CDATA[Remove the CACHE_HASH and INTERN_STRINGS preprocessor symbols.]]></description>
    <author>&#84;&#105;&#109;&#32;&#80;&#101;&#116;&#101;&#114;&#115;&#32;&#60;&#116;&#105;&#109;&#46;&#112;&#101;&#116;&#101;&#114;&#115;&#64;&#103;&#109;&#97;&#105;&#108;&#46;&#99;&#111;&#109;&#62;</author>
    <pubDate>Fri, 29 Mar 2002 03:29:08 +0000</pubDate>
</item>
<item>
    <title>Add function attributes that allow GCC to check the arguments of printf-like</title>
    <link>https://hg.dopieralski.pl/cpython-lru_cache-weakref/log/3d299b156511/Include/stringobject.h</link>
    <description><![CDATA[Add function attributes that allow GCC to check the arguments of printf-like<br/>
functions.]]></description>
    <author>&#78;&#101;&#105;&#108;&#32;&#83;&#99;&#104;&#101;&#109;&#101;&#110;&#97;&#117;&#101;&#114;&#32;&#60;&#110;&#97;&#115;&#99;&#104;&#101;&#109;&#101;&#64;&#101;&#110;&#109;&#101;&#46;&#117;&#99;&#97;&#108;&#103;&#97;&#114;&#121;&#46;&#99;&#97;&#62;</author>
    <pubDate>Tue, 23 Oct 2001 02:21:22 +0000</pubDate>
</item>
<item>
    <title>More on SF bug [#460020] bug or feature: unicode() and subclasses.</title>
    <link>https://hg.dopieralski.pl/cpython-lru_cache-weakref/log/662e22f99639/Include/stringobject.h</link>
    <description><![CDATA[More on SF bug [#460020] bug or feature: unicode() and subclasses.<br/>
Repaired str(i) to return a genuine string when i is an instance of a str<br/>
subclass.  New PyString_CheckExact() macro.]]></description>
    <author>&#84;&#105;&#109;&#32;&#80;&#101;&#116;&#101;&#114;&#115;&#32;&#60;&#116;&#105;&#109;&#46;&#112;&#101;&#116;&#101;&#114;&#115;&#64;&#103;&#109;&#97;&#105;&#108;&#46;&#99;&#111;&#109;&#62;</author>
    <pubDate>Tue, 11 Sep 2001 01:41:59 +0000</pubDate>
</item>
<item>
    <title>Make the Py&lt;type&gt;_Check() macro use PyObject_TypeCheck().</title>
    <link>https://hg.dopieralski.pl/cpython-lru_cache-weakref/log/844553473fa4/Include/stringobject.h</link>
    <description><![CDATA[Make the Py&lt;type&gt;_Check() macro use PyObject_TypeCheck().]]></description>
    <author>&#71;&#117;&#105;&#100;&#111;&#32;&#118;&#97;&#110;&#32;&#82;&#111;&#115;&#115;&#117;&#109;&#32;&#60;&#103;&#117;&#105;&#100;&#111;&#64;&#112;&#121;&#116;&#104;&#111;&#110;&#46;&#111;&#114;&#103;&#62;</author>
    <pubDate>Thu, 30 Aug 2001 03:08:07 +0000</pubDate>
</item>
<item>
    <title>PyString_FromFormat() and PyString_FromFormatV(): Largely ripped from</title>
    <link>https://hg.dopieralski.pl/cpython-lru_cache-weakref/log/bc63afc701ef/Include/stringobject.h</link>
    <description><![CDATA[PyString_FromFormat() and PyString_FromFormatV(): Largely ripped from<br/>
    PyErr_Format() these new C API methods can be used instead of<br/>
    sprintf()'s into hardcoded char* buffers.  This allows us to fix<br/>
    many situation where long package, module, or class names get<br/>
    truncated in reprs.<br/>
<br/>
    PyString_FromFormat() is the varargs variety.<br/>
    PyString_FromFormatV() is the va_list variety<br/>
<br/>
    Original PyErr_Format() code was modified to allow %p and %ld<br/>
    expansions.<br/>
<br/>
    Many reprs were converted to this, checkins coming soo.  Not<br/>
    changed: complex_repr(), float_repr(), float_print(), float_str(),<br/>
    int_repr().  There may be other candidates not yet converted.<br/>
<br/>
    Closes patch #454743.]]></description>
    <author>&#66;&#97;&#114;&#114;&#121;&#32;&#87;&#97;&#114;&#115;&#97;&#119;&#32;&#60;&#98;&#97;&#114;&#114;&#121;&#64;&#112;&#121;&#116;&#104;&#111;&#110;&#46;&#111;&#114;&#103;&#62;</author>
    <pubDate>Fri, 24 Aug 2001 18:32:06 +0000</pubDate>
</item>
<item>
    <title>SF bug 433228: repr(list) woes when len(list) big.</title>
    <link>https://hg.dopieralski.pl/cpython-lru_cache-weakref/log/9d533ae574d2/Include/stringobject.h</link>
    <description><![CDATA[SF bug 433228: repr(list) woes when len(list) big.<br/>
Gave Python linear-time repr() implementations for dicts, lists, strings.<br/>
This means, e.g., that repr(range(50000)) is no longer 50x slower than<br/>
pprint.pprint() in 2.2 &lt;wink&gt;.<br/>
<br/>
I don't consider this a bugfix candidate, as it's a performance boost.<br/>
<br/>
Added _PyString_Join() to the internal string API.  If we want that in the<br/>
public API, fine, but then it requires runtime error checks instead of<br/>
asserts.]]></description>
    <author>&#84;&#105;&#109;&#32;&#80;&#101;&#116;&#101;&#114;&#115;&#32;&#60;&#116;&#105;&#109;&#46;&#112;&#101;&#116;&#101;&#114;&#115;&#64;&#103;&#109;&#97;&#105;&#108;&#46;&#99;&#111;&#109;&#62;</author>
    <pubDate>Sat, 16 Jun 2001 05:11:17 +0000</pubDate>
</item>
<item>
    <title>Patch #424335: Implement string_richcompare, remove string_compare.</title>
    <link>https://hg.dopieralski.pl/cpython-lru_cache-weakref/log/5e1141157d53/Include/stringobject.h</link>
    <description><![CDATA[Patch #424335: Implement string_richcompare, remove string_compare.<br/>
               Use new _PyString_Eq in lookdict_string.]]></description>
    <author>&#77;&#97;&#114;&#116;&#105;&#110;&#32;&#118;&#46;&#32;&#76;&#246;&#119;&#105;&#115;&#32;&#60;&#109;&#97;&#114;&#116;&#105;&#110;&#64;&#118;&#46;&#108;&#111;&#101;&#119;&#105;&#115;&#46;&#100;&#101;&#62;</author>
    <pubDate>Thu, 24 May 2001 16:56:35 +0000</pubDate>
</item>
<item>
    <title>This patch changes the way the string .encode() method works slightly</title>
    <link>https://hg.dopieralski.pl/cpython-lru_cache-weakref/log/9ea87c0a7c04/Include/stringobject.h</link>
    <description><![CDATA[This patch changes the way the string .encode() method works slightly<br/>
and introduces a new method .decode().<br/>
<br/>
The major change is that strg.encode() will no longer try to convert<br/>
Unicode returns from the codec into a string, but instead pass along<br/>
the Unicode object as-is. The same is now true for all other codec<br/>
return types. The underlying C APIs were changed accordingly.<br/>
<br/>
Note that even though this does have the potential of breaking<br/>
existing code, the chances are low since conversion from Unicode<br/>
previously took place using the default encoding which is normally<br/>
set to ASCII rendering this auto-conversion mechanism useless for<br/>
most Unicode encodings.<br/>
<br/>
The good news is that you can now use .encode() and .decode() with<br/>
much greater ease and that the door was opened for better accessibility<br/>
of the builtin codecs.<br/>
<br/>
As demonstration of the new feature, the patch includes a few new<br/>
codecs which allow string to string encoding and decoding (rot13,<br/>
hex, zip, uu, base64).<br/>
<br/>
Written by Marc-Andre Lemburg. Copyright assigned to the PSF.]]></description>
    <author>&#77;&#97;&#114;&#99;&#45;&#65;&#110;&#100;&#114;&#233;&#32;&#76;&#101;&#109;&#98;&#117;&#114;&#103;&#32;&#60;&#109;&#97;&#108;&#64;&#101;&#103;&#101;&#110;&#105;&#120;&#46;&#99;&#111;&#109;&#62;</author>
    <pubDate>Tue, 15 May 2001 12:00:02 +0000</pubDate>
</item>
<item>
    <title>_Py_ReleaseInternedStrings(): Private API function to decref and</title>
    <link>https://hg.dopieralski.pl/cpython-lru_cache-weakref/log/ca1be7d00413/Include/stringobject.h</link>
    <description><![CDATA[_Py_ReleaseInternedStrings(): Private API function to decref and<br/>
release the interned string dictionary.  This is useful for memory<br/>
use debugging because it eliminates a huge source of noise from the<br/>
reports.  Only defined when INTERN_STRINGS is defined.]]></description>
    <author>&#66;&#97;&#114;&#114;&#121;&#32;&#87;&#97;&#114;&#115;&#97;&#119;&#32;&#60;&#98;&#97;&#114;&#114;&#121;&#64;&#112;&#121;&#116;&#104;&#111;&#110;&#46;&#111;&#114;&#103;&#62;</author>
    <pubDate>Fri, 23 Feb 2001 16:40:48 +0000</pubDate>
</item>
<item>
    <title>Derived from Martin's SF patch 110609:  support unbounded ints in %d,i,u,x,X,o formats.</title>
    <link>https://hg.dopieralski.pl/cpython-lru_cache-weakref/log/58b832b8745e/Include/stringobject.h</link>
    <description><![CDATA[Derived from Martin's SF patch 110609:  support unbounded ints in %d,i,u,x,X,o formats.<br/>
Note a curious extension to the std C rules:  x, X and o formatting can never produce<br/>
a sign character in C, so the '+' and ' ' flags are meaningless for them.  But<br/>
unbounded ints *can* produce a sign character under these conversions (no fixed-<br/>
width bitstring is wide enough to hold all negative values in 2's-comp form).  So<br/>
these flags become meaningful in Python when formatting a Python long which is too<br/>
big to fit in a C long.  This required shuffling around existing code, which hacked<br/>
x and X conversions to death when both the '#' and '0' flags were specified:  the<br/>
hacks weren't strong enough to deal with the simultaneous possibility of the ' ' or<br/>
'+' flags too, since signs were always meaningless before for x and X conversions.<br/>
Isomorphic shuffling was required in unicodeobject.c.<br/>
Also added dozens of non-trivial new unbounded-int test cases to test_format.py.]]></description>
    <author>&#84;&#105;&#109;&#32;&#80;&#101;&#116;&#101;&#114;&#115;&#32;&#60;&#116;&#105;&#109;&#46;&#112;&#101;&#116;&#101;&#114;&#115;&#64;&#103;&#109;&#97;&#105;&#108;&#46;&#99;&#111;&#109;&#62;</author>
    <pubDate>Thu, 21 Sep 2000 05:43:11 +0000</pubDate>
</item>
<item>
    <title>This patch adds a new Python C API called PyString_AsStringAndSize()</title>
    <link>https://hg.dopieralski.pl/cpython-lru_cache-weakref/log/85038a024b19/Include/stringobject.h</link>
    <description><![CDATA[This patch adds a new Python C API called PyString_AsStringAndSize()<br/>
which implements the automatic conversion from Unicode to a string<br/>
object using the default encoding.<br/>
<br/>
The new API is then put to use to have eval() and exec accept<br/>
Unicode objects as code parameter. This closes bugs #110924<br/>
and #113890.<br/>
<br/>
As side-effect, the traditional C APIs PyString_Size() and<br/>
PyString_AsString() will also accept Unicode objects as<br/>
parameters.]]></description>
    <author>&#77;&#97;&#114;&#99;&#45;&#65;&#110;&#100;&#114;&#233;&#32;&#76;&#101;&#109;&#98;&#117;&#114;&#103;&#32;&#60;&#109;&#97;&#108;&#64;&#101;&#103;&#101;&#110;&#105;&#120;&#46;&#99;&#111;&#109;&#62;</author>
    <pubDate>Tue, 19 Sep 2000 21:04:18 +0000</pubDate>
</item>
<item>
    <title>REMOVED all CWI, CNRI and BeOpen copyright markings.</title>
    <link>https://hg.dopieralski.pl/cpython-lru_cache-weakref/log/6f6f965c5e2d/Include/stringobject.h</link>
    <description><![CDATA[REMOVED all CWI, CNRI and BeOpen copyright markings.<br/>
This should match the situation in the 1.6b1 tree.]]></description>
    <author>&#71;&#117;&#105;&#100;&#111;&#32;&#118;&#97;&#110;&#32;&#82;&#111;&#115;&#115;&#117;&#109;&#32;&#60;&#103;&#117;&#105;&#100;&#111;&#64;&#112;&#121;&#116;&#104;&#111;&#110;&#46;&#111;&#114;&#103;&#62;</author>
    <pubDate>Fri, 01 Sep 2000 23:29:29 +0000</pubDate>
</item>
<item>
    <title>ANSI-fication and Py_PROTO extermination.</title>
    <link>https://hg.dopieralski.pl/cpython-lru_cache-weakref/log/091ca6b9348f/Include/stringobject.h</link>
    <description><![CDATA[ANSI-fication and Py_PROTO extermination.]]></description>
    <author>&#70;&#114;&#101;&#100;&#32;&#68;&#114;&#97;&#107;&#101;&#32;&#60;&#102;&#100;&#114;&#97;&#107;&#101;&#64;&#97;&#99;&#109;&#46;&#111;&#114;&#103;&#62;</author>
    <pubDate>Sun, 09 Jul 2000 00:55:06 +0000</pubDate>
</item>
<item>
    <title>Added prototypes for the new codec APIs for strings. These APIs</title>
    <link>https://hg.dopieralski.pl/cpython-lru_cache-weakref/log/bfe22cf6e770/Include/stringobject.h</link>
    <description><![CDATA[Added prototypes for the new codec APIs for strings. These APIs<br/>
match the ones in the Unicode implementation, but were extended<br/>
to be able to reuse the existing Unicode codecs for string<br/>
purposes too.<br/>
<br/>
Conversion from string to Unicode and back are done using the<br/>
default encoding.]]></description>
    <author>&#77;&#97;&#114;&#99;&#45;&#65;&#110;&#100;&#114;&#233;&#32;&#76;&#101;&#109;&#98;&#117;&#114;&#103;&#32;&#60;&#109;&#97;&#108;&#64;&#101;&#103;&#101;&#110;&#105;&#120;&#46;&#99;&#111;&#109;&#62;</author>
    <pubDate>Thu, 06 Jul 2000 11:25:40 +0000</pubDate>
</item>
<item>
    <title>Change copyright notice - 2nd try.</title>
    <link>https://hg.dopieralski.pl/cpython-lru_cache-weakref/log/87ee82e5c56d/Include/stringobject.h</link>
    <description><![CDATA[Change copyright notice - 2nd try.]]></description>
    <author>&#71;&#117;&#105;&#100;&#111;&#32;&#118;&#97;&#110;&#32;&#82;&#111;&#115;&#115;&#117;&#109;&#32;&#60;&#103;&#117;&#105;&#100;&#111;&#64;&#112;&#121;&#116;&#104;&#111;&#110;&#46;&#111;&#114;&#103;&#62;</author>
    <pubDate>Fri, 30 Jun 2000 23:58:06 +0000</pubDate>
</item>
<item>
    <title>Change copyright notice.</title>
    <link>https://hg.dopieralski.pl/cpython-lru_cache-weakref/log/916fb024ce94/Include/stringobject.h</link>
    <description><![CDATA[Change copyright notice.]]></description>
    <author>&#71;&#117;&#105;&#100;&#111;&#32;&#118;&#97;&#110;&#32;&#82;&#111;&#115;&#115;&#117;&#109;&#32;&#60;&#103;&#117;&#105;&#100;&#111;&#64;&#112;&#121;&#116;&#104;&#111;&#110;&#46;&#111;&#114;&#103;&#62;</author>
    <pubDate>Fri, 30 Jun 2000 23:50:40 +0000</pubDate>
</item>
<item>
    <title>Add DL_IMPORT(returntype) for all officially exported functions.</title>
    <link>https://hg.dopieralski.pl/cpython-lru_cache-weakref/log/60fdb1db1175/Include/stringobject.h</link>
    <description><![CDATA[Add DL_IMPORT(returntype) for all officially exported functions.]]></description>
    <author>&#71;&#117;&#105;&#100;&#111;&#32;&#118;&#97;&#110;&#32;&#82;&#111;&#115;&#115;&#117;&#109;&#32;&#60;&#103;&#117;&#105;&#100;&#111;&#64;&#112;&#121;&#116;&#104;&#111;&#110;&#46;&#111;&#114;&#103;&#62;</author>
    <pubDate>Fri, 04 Dec 1998 18:48:25 +0000</pubDate>
</item>
<item>
    <title>Two speedup hacks.  Caching the hash saves recalculation of a string's</title>
    <link>https://hg.dopieralski.pl/cpython-lru_cache-weakref/log/65aace2012e5/Include/stringobject.h</link>
    <description><![CDATA[Two speedup hacks.  Caching the hash saves recalculation of a string's<br/>
hash value.  Interning strings (which requires hash caching) tries to<br/>
ensure that only one string object with a given value exists, so<br/>
equality tests are one pointer comparison.  Together, these can speed<br/>
the interpreter up by as much as 20%.  Each costs the size of a long<br/>
or pointer per string object.  In addition, interned strings live<br/>
until the end of times.  If you are concerned about memory footprint,<br/>
simply comment the #define out here (and rebuild everything!).]]></description>
    <author>&#71;&#117;&#105;&#100;&#111;&#32;&#118;&#97;&#110;&#32;&#82;&#111;&#115;&#115;&#117;&#109;&#32;&#60;&#103;&#117;&#105;&#100;&#111;&#64;&#112;&#121;&#116;&#104;&#111;&#110;&#46;&#111;&#114;&#103;&#62;</author>
    <pubDate>Sat, 18 Jan 1997 07:53:23 +0000</pubDate>
</item>
<item>
    <title>added PyString_GET_SIZE macro</title>
    <link>https://hg.dopieralski.pl/cpython-lru_cache-weakref/log/90c21dde4284/Include/stringobject.h</link>
    <description><![CDATA[added PyString_GET_SIZE macro<br/>
<br/>
for both PyString_GET_SIZE and PyString_AS_STRING, cast first argument<br/>
to a PyStringObject*]]></description>
    <author>&#66;&#97;&#114;&#114;&#121;&#32;&#87;&#97;&#114;&#115;&#97;&#119;&#32;&#60;&#98;&#97;&#114;&#114;&#121;&#64;&#112;&#121;&#116;&#104;&#111;&#110;&#46;&#111;&#114;&#103;&#62;</author>
    <pubDate>Mon, 06 Jan 1997 22:42:50 +0000</pubDate>
</item>
<item>
    <title>Add const to error and newstring functions</title>
    <link>https://hg.dopieralski.pl/cpython-lru_cache-weakref/log/df81856db58c/Include/stringobject.h</link>
    <description><![CDATA[Add const to error and newstring functions]]></description>
    <author>&#71;&#117;&#105;&#100;&#111;&#32;&#118;&#97;&#110;&#32;&#82;&#111;&#115;&#115;&#117;&#109;&#32;&#60;&#103;&#117;&#105;&#100;&#111;&#64;&#112;&#121;&#116;&#104;&#111;&#110;&#46;&#111;&#114;&#103;&#62;</author>
    <pubDate>Tue, 10 Dec 1996 15:33:34 +0000</pubDate>
</item>
<item>
    <title>New permission notice, includes CNRI.</title>
    <link>https://hg.dopieralski.pl/cpython-lru_cache-weakref/log/65d2d8e67da3/Include/stringobject.h</link>
    <description><![CDATA[New permission notice, includes CNRI.]]></description>
    <author>&#71;&#117;&#105;&#100;&#111;&#32;&#118;&#97;&#110;&#32;&#82;&#111;&#115;&#115;&#117;&#109;&#32;&#60;&#103;&#117;&#105;&#100;&#111;&#64;&#112;&#121;&#116;&#104;&#111;&#110;&#46;&#111;&#114;&#103;&#62;</author>
    <pubDate>Fri, 25 Oct 1996 14:44:06 +0000</pubDate>
</item>
<item>
    <title>Turn on CACHE_HASH, for 2% speedier dict lookups</title>
    <link>https://hg.dopieralski.pl/cpython-lru_cache-weakref/log/f0efff28a24d/Include/stringobject.h</link>
    <description><![CDATA[Turn on CACHE_HASH, for 2% speedier dict lookups]]></description>
    <author>&#71;&#117;&#105;&#100;&#111;&#32;&#118;&#97;&#110;&#32;&#82;&#111;&#115;&#115;&#117;&#109;&#32;&#60;&#103;&#117;&#105;&#100;&#111;&#64;&#112;&#121;&#116;&#104;&#111;&#110;&#46;&#111;&#114;&#103;&#62;</author>
    <pubDate>Tue, 30 Jul 1996 16:42:03 +0000</pubDate>
</item>
<item>
    <title>make the type a parameter of the  DL_IMPORT macro, for Borland C</title>
    <link>https://hg.dopieralski.pl/cpython-lru_cache-weakref/log/fa98dda07877/Include/stringobject.h</link>
    <description><![CDATA[make the type a parameter of the  DL_IMPORT macro, for Borland C]]></description>
    <author>&#71;&#117;&#105;&#100;&#111;&#32;&#118;&#97;&#110;&#32;&#82;&#111;&#115;&#115;&#117;&#109;&#32;&#60;&#103;&#117;&#105;&#100;&#111;&#64;&#112;&#121;&#116;&#104;&#111;&#110;&#46;&#111;&#114;&#103;&#62;</author>
    <pubDate>Mon, 27 Feb 1995 10:17:52 +0000</pubDate>
</item>
<item>
    <title>new names for lots of new functions</title>
    <link>https://hg.dopieralski.pl/cpython-lru_cache-weakref/log/9afdbf944c2a/Include/stringobject.h</link>
    <description><![CDATA[new names for lots of new functions]]></description>
    <author>&#71;&#117;&#105;&#100;&#111;&#32;&#118;&#97;&#110;&#32;&#82;&#111;&#115;&#115;&#117;&#109;&#32;&#60;&#103;&#117;&#105;&#100;&#111;&#64;&#112;&#121;&#116;&#104;&#111;&#110;&#46;&#111;&#114;&#103;&#62;</author>
    <pubDate>Tue, 17 Jan 1995 16:01:01 +0000</pubDate>
</item>
<item>
    <title>The great renaming, phase two: all header files have been updated to</title>
    <link>https://hg.dopieralski.pl/cpython-lru_cache-weakref/log/05360cd616ae/Include/stringobject.h</link>
    <description><![CDATA[The great renaming, phase two: all header files have been updated to<br/>
use the new names exclusively, and the linker will see the new names.<br/>
Files that import &quot;Python.h&quot; also only see the new names.  Files that<br/>
import &quot;allobjects.h&quot; will continue to be able to use the old names,<br/>
due to the inclusion (in allobjects.h) of &quot;rename2.h&quot;.]]></description>
    <author>&#71;&#117;&#105;&#100;&#111;&#32;&#118;&#97;&#110;&#32;&#82;&#111;&#115;&#115;&#117;&#109;&#32;&#60;&#103;&#117;&#105;&#100;&#111;&#64;&#112;&#121;&#116;&#104;&#111;&#110;&#46;&#111;&#114;&#103;&#62;</author>
    <pubDate>Thu, 12 Jan 1995 11:45:45 +0000</pubDate>
</item>
<item>
    <title>Added 1995 copyright.</title>
    <link>https://hg.dopieralski.pl/cpython-lru_cache-weakref/log/508036dbba3b/Include/stringobject.h</link>
    <description><![CDATA[Added 1995 copyright.<br/>
object.h: made sizes and refcnts signed ints.<br/>
stringobject.h: make getstrsize() signed int.<br/>
methodobject.h: add METH_VARARGS and METH_FREENAME flag bit definitions.]]></description>
    <author>&#71;&#117;&#105;&#100;&#111;&#32;&#118;&#97;&#110;&#32;&#82;&#111;&#115;&#115;&#117;&#109;&#32;&#60;&#103;&#117;&#105;&#100;&#111;&#64;&#112;&#121;&#116;&#104;&#111;&#110;&#46;&#111;&#114;&#103;&#62;</author>
    <pubDate>Wed, 04 Jan 1995 19:06:22 +0000</pubDate>
</item>

  </channel>
</rss>
