classification
Title: Derby #11: Convert 50 sites to Argument Clinic across 9 files
Type: enhancement Stage: resolved
Components: Argument Clinic, Extension Modules Versions: Python 3.8
process
Status: closed Resolution: fixed
Dependencies: Superseder:
Assigned To: Nosy List: inada.naoki, larry, loewis, martin.panter, python-dev, rbcollins, rhettinger, serhiy.storchaka, skrah, taleinat
Priority: normal Keywords: patch

Created on 2014-01-08 00:16 by larry, last changed 2019-04-12 07:11 by inada.naoki. This issue is now closed.

Files
File name Uploaded Description Edit
_collectionsmodule.c.patch taleinat, 2014-01-19 02:21 AC conversion of deque.rotate and _count_elements in the collections module review
unicodeobject.c.patch taleinat, 2014-01-20 23:05 AC conversion of Objects/unicodeobject.c review
transmogrify.h.patch taleinat, 2014-01-20 23:17 review
unicodeobject.c_2.patch taleinat, 2014-01-22 01:29 AC conversion of Objects/unicodeobject.c; supersedes the previous patch for this file review
_collectionsmodule.c.patch taleinat, 2014-01-22 13:14 AC conversion of Modules/_collectionsmodules.c except deque.__init__; supersedes the previous patch of the same name review
deque_init_with_nullable_Py_ssize_t.patch taleinat, 2014-01-22 13:24 AC conversion of deque.__init__ in Modules/_collectionsmodule.c; depends on Larry's patch from issue20341 review
_randommodule.c.patch taleinat, 2014-01-22 16:29 review
xxlimited_xxmodule_xxsubtype_AC_conversion.patch taleinat, 2014-01-22 16:42 Complete AC conversion of Modules/xxlimited.c, Modules/xxmodule.c and Modules/xxsubtype.c. review
taleinat.ac_conversion.itertools.c.patch taleinat, 2014-01-27 16:49 review
unicodeobject.c.v3.patch taleinat, 2015-04-22 17:51 AC conversion of Objects/unicodeobject.c; supersedes the previous patch for this file review
unicodeobject.c.v4.patch taleinat, 2015-04-24 08:01 same as previous, with Serhiy's review comments addressed review
unicodeobject.c.v5.patch taleinat, 2015-04-24 08:58 review
unicodeobject.c.v6.patch inada.naoki, 2017-01-14 19:49 review
unicodeobject.c.v7.patch inada.naoki, 2017-01-16 09:43 review
Pull Requests
URL Status Linked Edit
PR 4117 closed taleinat, 2017-10-25 12:15
PR 4170 merged taleinat, 2017-10-30 08:23
PR 8039 merged taleinat, 2018-07-01 08:17
PR 9164 merged taleinat, 2018-09-11 14:15
PR 9828 merged serhiy.storchaka, 2018-10-12 19:59
PR 12792 merged inada.naoki, 2019-04-12 06:38
Messages (63)
msg207636 - (view) Author: Larry Hastings (larry) * (Python committer) Date: 2014-01-08 00:16
This issue is part of the Great Argument Clinic Conversion Derby,
where we're trying to convert as much of Python 3.4 to use
Argument Clinic as we can before Release Candidate 1 on January 19.

This issue asks you to change the following bundle of files:
    Modules/_collectionsmodule.c: 4 sites
    Modules/itertoolsmodule.c: 11 sites
    Modules/_randommodule.c: 1 sites
    Objects/unicodeobject.c: 14 sites
    Modules/xxlimited.c: 4 sites
    Modules/xxmodule.c: 5 sites
    Modules/xxsubtype.c: 5 sites
    Objects/stringlib/find.h: 1 sites
    Objects/stringlib/transmogrify.h: 5 sites

Talk to me (larry) if you only want to attack part of a bundle.

For instructions on how to convert a function to work with Argument
Clinic, read the "howto":
    http://docs.python.org/dev/howto/clinic.html
msg208431 - (view) Author: Tal Einat (taleinat) * (Python committer) Date: 2014-01-19 02:20
I'm attaching my conversion of deque.rotate and _count_elements in Modules/_collectionsmodule.c.

There remain 3 other functions in that module to be converted.

One is deque_init which returns int; Larry said (on IRC) to hold off with that for now.

The other two are dequeiter_new and dequereviter_new, which use the O! format, which I am unsure how to handle.
msg208587 - (view) Author: Tal Einat (taleinat) * (Python committer) Date: 2014-01-20 23:05
Attaching patch for complete conversion of Objects/unicodeobject.c.

Notes:
* maketrans() was already converted
* converting the lstrip, rstrip and strip methods required a small, non-trivial change to the code, since they used a common function for argument parsing
* the documentation for replace() now correctly reflects the actual function signature
* I rephrased some doc-strings where it was required, and in several places moved some of the text into parameter descriptions
msg208589 - (view) Author: Tal Einat (taleinat) * (Python committer) Date: 2014-01-20 23:17
Attached patch for AC conversion of Objects/stringlib/transmogrify.h.

Converting the functions in this file required changes to Objects/bytesobject.c and Objects/bytearrayobject.c. Those changes are in the patch as well. The conversion of those files is part of issue20179 (Derby #10). I'm adding a comment on that issue as well with a reference to this.
msg208728 - (view) Author: Tal Einat (taleinat) * (Python committer) Date: 2014-01-22 01:29
Attaching a new patch for complete conversion of Objects/unicodeobject.c.
This is to replace the previous patch for this file.

This new patch also converts all other possible unicode methods,
including those not using PyArg_* functions. This includes various
methods with no arguments or with one PyObject* argument.

Unicode methods still not converted, probably impossible to convert:
1) The various find methods (index, count, startswith, rfind, etc.),
   because they use a special function
   'stringlib_parse_args_finds_unicode' to parse their arguments
2) format and format_map, since they are defined elsewhere
3) _decimal2ascii, since it is just for debugging
msg208803 - (view) Author: Tal Einat (taleinat) * (Python committer) Date: 2014-01-22 13:14
Attached nearly complete conversion of Modules/_collectionsmodule.c.

I've converted all functions using PyArg_* functions, including __new__ methods, but not deque.__init__.

I'm attaching a separate patch for deque.__init__.
msg208804 - (view) Author: Tal Einat (taleinat) * (Python committer) Date: 2014-01-22 13:24
Attached a patch converting deque.__init__ in Modules/_collectionsmodule.c, which completes the conversion of this file.

This patch depends Larry's first patch in issue20341 (Argument Clinic: add "nullable ints"). This functionality is used to simplify the existing code for accepting None for the 'maxlen' argument to deque.__init__. If needed I can supply a patch which does not depend on Larry's patch.
msg208821 - (view) Author: Tal Einat (taleinat) * (Python committer) Date: 2014-01-22 16:29
Attached is a complete conversion of Modules/_randommodule.c. Three _random.Random methods were converted: seed, getrandbits and __new__.

There's was an problem converting _random.Random.__new__. I overcame it cleanly and think this patch is good. Details about the problem follow.

issue1486663 made various __new__ methods of built-in classes only do a '_PyArg_NoKeywords' check if the type is the class itself, i.e. not for sub-classes. This is to allow sub-classes to accept keyword arguments.

This means that for classes that do this, like _random.Random, converting using AC makes it so subclasses can't accept keyword arguments (unless the subclasses implement __new__ properly).

Still, it is possible to convert _random.Random.__new__ and also override __new__ in random.Random (random != _random, and random.Random subclasses _random.Random). This way subclasses of the latter can accept keyword arguments. Since anyone sub-classing _random.Random instead of random.Random can be expected to know to override __new__ or switch to random.Random, I think this is a good solution for this case.

The attached patch does as I suggest above and passes all tests in test_random, including 'test_random_subclass_with_kwargs' which checks this issue. Just to be sure, I also ran the entire test suite, and all tests pass.
msg208827 - (view) Author: Tal Einat (taleinat) * (Python committer) Date: 2014-01-22 16:42
Attached complete conversion of Modules/xxlimited.c, Modules/xxmodule.c and Modules/xxsubtype.c.

There are no tests for these and the code is not used by anything AFAIK, so I was extra careful and went over the diffs manually once everything was done.
msg208830 - (view) Author: Stefan Krah (skrah) * (Python committer) Date: 2014-01-22 17:12
I think we should probably not convert xx*.c. They are for newcomers
who will likely be confused by the additional information overload.
msg208846 - (view) Author: Tal Einat (taleinat) * (Python committer) Date: 2014-01-22 20:06
I thought AC was how all new modules were supposed to be written. If so, the example modules should definitely use AC!

Also note that once the generated code is in separate files, the code in the origin files will be simpler and clearer.
msg208855 - (view) Author: Stefan Krah (skrah) * (Python committer) Date: 2014-01-22 21:43
The vast majority of C modules are in third-party packages. I doubt that external
modules will all use AC. xxmodule.c is about explaining the basic structure of
a C extension.  AC adds nothing to this and obfuscates (IMO) what is going on.
msg208861 - (view) Author: Tal Einat (taleinat) * (Python committer) Date: 2014-01-22 23:12
Thanks, Stefan. I hadn't realized that the xx files were targeted mainly a third-party developers. In this case, I can see the sense in not converting them.

I only wish someone had said something *before* I went ahead and converted them...
msg208865 - (view) Author: Stefan Krah (skrah) * (Python committer) Date: 2014-01-22 23:25
> I only wish someone had said something *before* I went ahead and converted them...

Yeah, sorry. It's also just my personal opinion.  BTW, xxmodule did not compile
and there was a warning for xxsubtype.  I just mention it in case these are AC
issues.
msg208873 - (view) Author: Larry Hastings (larry) * (Python committer) Date: 2014-01-23 01:25
When AC moves from internal-only tool to supported tool we'll want to convert the xx stuff.  But yeah I reckon it makes sense to not convert them yet.  The list of files is really more "here's the list of stuff to check out and convert if necessary".  best judgement is always called for.
msg209450 - (view) Author: Tal Einat (taleinat) * (Python committer) Date: 2014-01-27 16:49
Attached is a complete AC conversion of itertools.

This is a large conversion, so I was extra careful. I even went over the entire diff manually to check for any errors. Compilation runs without warnings and the entire test suite passes.

Notes:
* I didn't convert itertools.repeat due to the ongoing discussion regarding it.
* I didn't convert itertools.islice since its signature is like range() but with an additional first required argument, making it impossible to convert properly.
* I didn't convert several __new__ methods because they treat *args similarly to zip(): itertools.chain, itertools.product, itertools.zip_longest
* I used Larry's "nullable ints" patch (see issue20341) for the 'r' parameter to itertools.permutations.
* I converted all of the following methods when defined: __new__ (except for classes mentioned above), __sizeof__, __reduce__, __setstate__, __copy__, __length_hint__
msg209451 - (view) Author: Tal Einat (taleinat) * (Python committer) Date: 2014-01-27 16:51
And at that, I've finished the conversion of this entire Derby group! Woohoo!

(except for itertools.repeat which is pending discussion)
msg224137 - (view) Author: Martin v. Löwis (loewis) * (Python committer) Date: 2014-07-27 15:31
For the unicodeobject changes, see Rietveld. In addition, it produces many cast errors from PyUnicodeObject* to PyObject*. Otherwise, it looks fine - please apply (after these fixes).
msg224761 - (view) Author: Larry Hastings (larry) * (Python committer) Date: 2014-08-04 20:13
All the Derby patches should only go into trunk at this point.
msg241488 - (view) Author: Larry Hastings (larry) * (Python committer) Date: 2015-04-19 06:17
Sadly, for political reasons, it's best that we not convert collections, itertools, or random for now.  I'll update this issue if the situation changes.  Sorry about that!
msg241819 - (view) Author: Tal Einat (taleinat) * (Python committer) Date: 2015-04-22 17:51
Attaching new patch for unicodeobject.c, which supersedes the previous patches.

I've changed the name of the parameter of str.join() to "iterable" to match the docs. (In the previous patch I had changed it from "seq" to "iterable_of_strings".)

I also fixed two minor comments on the doc strings from Martin.

With this, AFAIK, unicodeobject.c should be good to go.
msg241923 - (view) Author: Tal Einat (taleinat) * (Python committer) Date: 2015-04-24 08:01
Here's a new patch for Objects/unicodeobject.c with all of Serhiy's suggestions integrated.
msg241925 - (view) Author: Serhiy Storchaka (serhiy.storchaka) * (Python committer) Date: 2015-04-24 08:24
The patch causes a lot of warnings like

Objects/unicodeobject.c: In function ‘unicode_title_impl’:
Objects/unicodeobject.c:10581:5: warning: passing argument 1 of ‘_PyUnicode_Ready’ from incompatible pointer type [enabled by default]
     if (PyUnicode_READY(self) == -1)
     ^
Objects/unicodeobject.c:1484:1: note: expected ‘struct PyObject *’ but argument is of type ‘struct PyUnicodeObject *’
 _PyUnicode_Ready(PyObject *unicode)
 ^
msg241927 - (view) Author: Tal Einat (taleinat) * (Python committer) Date: 2015-04-24 08:58
Version of patch with PyUnicodeObject * warnings fixed.
msg241930 - (view) Author: Serhiy Storchaka (serhiy.storchaka) * (Python committer) Date: 2015-04-24 09:13
unicodeobject.c.v5.patch LGTM.
msg241931 - (view) Author: Tal Einat (taleinat) * (Python committer) Date: 2015-04-24 09:31
Hurrah!

And that seems to be it for this group, since collections, itertools and random are not to be converted at this point, as well as the Modules/xx*.c files, and the stringlib files probably require overly extensive changes for conversion.
msg241934 - (view) Author: Stefan Krah (skrah) * (Python committer) Date: 2015-04-24 12:03
> Sadly, for political reasons, it's best that we not convert collections, itertools, or random for now.

Well, there are also technical reasons.  For example, when reviewing a huge patch at the beginning of this year, the sections that touched AC took me 10 times longer to review than the rest.
msg242482 - (view) Author: Serhiy Storchaka (serhiy.storchaka) * (Python committer) Date: 2015-05-03 14:36
For now almost all generated code are written in separate file, so it doesn't attract attention (if you believe Argument Clinic).
msg247955 - (view) Author: Robert Collins (rbcollins) * (Python committer) Date: 2015-08-03 21:12
So I'm confused. Is this applicable or not? Its in commit review, but there's discussion of politics here :(.
msg247987 - (view) Author: Tal Einat (taleinat) * (Python committer) Date: 2015-08-04 08:44
Summary of the current state of this AC conversion derby group:

1) The collections, itertools and random modules should not be converted (at least for now).

2) The three example modules should not be converted (Modules/xxlimited.c, Modules/xxmodule.c and Modules/xxsubtype.c).

3) The latest unicodeobject.c patch has a LGTM from Serhiy after several rounds of review and improvement. This should probably go in at some point.

4) The single PyArg_ParseTuple in find.h should not be converted, since that is actually used for more than a single find() method via some precompiler macro "magic".

5) transmogrify.h can be converted and has a conversion patch, but the patch likely needs updating since it is from Jan. 2014.
msg248513 - (view) Author: Robert Collins (rbcollins) * (Python committer) Date: 2015-08-13 10:56
Ok, so will someone commit 3), or would you like me to do so? After that it sounds like we can move this back to patch review, since there will be nothing left ready for commit.
msg248663 - (view) Author: Tal Einat (taleinat) * (Python committer) Date: 2015-08-15 21:37
I'll commit #3 (unicodeobject.c) when I first get the chance, which should be in a few days.

I'll be happy to improve the rest as needed if someone can find the time to review them!
msg285498 - (view) Author: Inada Naoki (inada.naoki) * (Python committer) Date: 2017-01-14 19:49
Updated patch for unicodeobject.

@taleinat, could you confirm it?
msg285500 - (view) Author: Inada Naoki (inada.naoki) * (Python committer) Date: 2017-01-14 20:24
transmogrify.h uses hack to share docstring.
I can't find straightforward way.
msg285514 - (view) Author: Tal Einat (taleinat) * (Python committer) Date: 2017-01-15 17:25
Unfortunately, I won't be able to review this due to lack of time.
msg285516 - (view) Author: Inada Naoki (inada.naoki) * (Python committer) Date: 2017-01-15 18:03
Serhiy Storchaka, would you review again?

Merging unicodeobject.c.v5.patch into default branch was almost straightforward.
But there was one place I should rewrite.  Here is the part of diff -u v5.patch v6.patch

-- is old docstring w/o AC
+- is current docstring w/o AC
-+ is AC in v5 patch
++ is AC in v6 patch

 -PyDoc_STRVAR(translate__doc__,
 -             "S.translate(table) -> str\n\
 -\n\
--Return a copy of the string S, where all characters have been mapped\n\
--through the given translation table, which must be a mapping of\n\
--Unicode ordinals to Unicode ordinals, strings, or None.\n\
--Unmapped characters are left untouched. Characters mapped to None\n\
--are deleted.");
+-Return a copy of the string S in which each character has been mapped\n\
+-through the given translation table. The table must implement\n\
+-lookup/indexing via __getitem__, for instance a dictionary or list,\n\
+-mapping Unicode ordinals to Unicode ordinals, strings, or None. If\n\
+-this operation raises LookupError, the character is left untouched.\n\
+-Characters mapped to None are deleted.");
 -
 -static PyObject*
 +/*[clinic input]
@@ -1194,14 +1271,14 @@
 +
 +Replace each character in the string using the given translation table.
 +
-+Characters not in the translation table are left untouched.
-+
-+Characters mapped to None are deleted.
++The table must implement lookup/indexing via __getitem__, for instance a
++dictionary or list.  If this operation raises LookupError, the character is
++left untouched.  Characters mapped to None are deleted.
 +[clinic start generated code]*/
msg285554 - (view) Author: Serhiy Storchaka (serhiy.storchaka) * (Python committer) Date: 2017-01-16 11:12
LGTM again.
msg285558 - (view) Author: Roundup Robot (python-dev) (Python triager) Date: 2017-01-16 11:41
New changeset 27dc9a1c061e by INADA Naoki in branch 'default':
Issue #20180: convert unicode methods to AC.
https://hg.python.org/cpython/rev/27dc9a1c061e
msg285559 - (view) Author: Inada Naoki (inada.naoki) * (Python committer) Date: 2017-01-16 11:58
Thank you, Martin and Serhiy.

As http://bugs.python.org/issue20180#msg247987 , remained module to converted
is transmogrify.h.

But docstrings of methods in transmogrify.h were moved to bytes_methods.c in issue26765.

May I close this issue for now?
msg285561 - (view) Author: Serhiy Storchaka (serhiy.storchaka) * (Python committer) Date: 2017-01-16 12:42
Seems you haven't updated generated AC files.
msg285562 - (view) Author: Roundup Robot (python-dev) (Python triager) Date: 2017-01-16 12:49
New changeset 01b06ca45f64 by INADA Naoki in branch 'default':
Issue #20180: forgot to update AC output.
https://hg.python.org/cpython/rev/01b06ca45f64
msg285563 - (view) Author: Inada Naoki (inada.naoki) * (Python committer) Date: 2017-01-16 12:49
Uhhh!  I'm sorry.
msg286435 - (view) Author: Martin Panter (martin.panter) * (Python committer) Date: 2017-01-29 09:38
For str.format_map(mapping), yes the parsing happens in Objects/stringlib/unicode_format.h, but I don’t see that as a big problem. Moving this back to “needs patch”, assuming it is okay to convert format_map().

Other than from that, there are just tricky things left like the str() constructor, str.format(*args, **kwargs) (see Issue 20291), and the shared code in Objects/stringlib/find.h and Objects/stringlib/transmogrify.h. I don’t know what to do about those.
msg304904 - (view) Author: Serhiy Storchaka (serhiy.storchaka) * (Python committer) Date: 2017-10-24 12:43
Seems Raymond have changed his mind about using Argument Clinic in itertools (msg302908). Tal, do you mind to update your itertools patch and create a pull request?
msg304931 - (view) Author: Tal Einat (taleinat) * (Python committer) Date: 2017-10-24 17:32
Id be happy to update the itertools patch.

I haven't been following AC work for quite a while. I would expect this to entail:

1. applying the patch to the master branch
2. merging any conflicts
3. running the clinic.py script again
4. review the output and compare it to the previous output to make sure things look okay

Would you also prefer this in the form of a GitHub PR?
msg304935 - (view) Author: Serhiy Storchaka (serhiy.storchaka) * (Python committer) Date: 2017-10-24 18:45
All correct. The final patch should be in the form of GitHub PR.

Don't specify the self parameter explicitly, just rename the corresponding variable. The rest of the patch LGTM.
msg304936 - (view) Author: Tal Einat (taleinat) * (Python committer) Date: 2017-10-24 18:57
What about islice? Does AC now support complex enough signatures to support it? If not, should I leave the comment as is?
msg304937 - (view) Author: Serhiy Storchaka (serhiy.storchaka) * (Python committer) Date: 2017-10-24 19:23
Keep islice() non-converted. For the r parameter of permutations() use "r: object = None".
msg304972 - (view) Author: Tal Einat (taleinat) * (Python committer) Date: 2017-10-25 09:56
As far as I can tell, with the creation of a separate clinic/itertools.c.h, the typedefs etc. need to be moved to the top of the file so that the #include can come after the typedefs and before the rest of the code which references clinic output. Is this indeed the way to go?
msg304976 - (view) Author: Serhiy Storchaka (serhiy.storchaka) * (Python committer) Date: 2017-10-25 10:22
Yes, it is. Actually the #include should be before lists of methods and static PyTypeObject initializers. I think it is better to move all method lists and type initializers to the bottom of the file.
msg304981 - (view) Author: Tal Einat (taleinat) * (Python committer) Date: 2017-10-25 12:17
See PR 4117 on GitHub with the itertools AC conversion.
msg305409 - (view) Author: Tal Einat (taleinat) * (Python committer) Date: 2017-11-02 10:11
To enable progressing with this in smaller steps, I created PR 4170 which converts only itertools.groupby and the intertnal _grouper with minimal required changes.
msg319533 - (view) Author: Tal Einat (taleinat) * (Python committer) Date: 2018-06-14 17:38
IMO we should create new issues for AC conversion of the collections and random modules (assuming they haven't been converted yet), and close this issue.
msg319933 - (view) Author: Inada Naoki (inada.naoki) * (Python committer) Date: 2018-06-19 07:37
> IMO we should create new issues for AC conversion of the collections and random modules (assuming they haven't been converted yet), and close this issue.

I agree with you. Let's finish derby.
msg320830 - (view) Author: Tal Einat (taleinat) * (Python committer) Date: 2018-07-01 08:24
See updated PR for Objects/stringlib/transmogrify.h in GH-8039.
msg321161 - (view) Author: Tal Einat (taleinat) * (Python committer) Date: 2018-07-06 10:17
New changeset c929df3b96c8d7e7977e581431192be21cdafd19 by Tal Einat in branch 'master':
bpo-20180: complete AC conversion of Objects/stringlib/transmogrify.h (GH-8039)
https://github.com/python/cpython/commit/c929df3b96c8d7e7977e581431192be21cdafd19
msg321166 - (view) Author: Tal Einat (taleinat) * (Python committer) Date: 2018-07-06 11:05
Now that transmogrify is done, the only open question is about itertools and collections.

1. Should collections be converted?
2. How to proceed with itertools? There are two PRs ready, with the one just for groupby() approved, but not yet reviewed by Raymond Hettinger.
msg324948 - (view) Author: Raymond Hettinger (rhettinger) * (Python committer) Date: 2018-09-10 18:33
New changeset 3286ce4adee85c5ce8ab3ee3089f3cd44a017fd7 by Raymond Hettinger (Tal Einat) in branch 'master':
bpo-20180: itertools.groupby Argument Clinic conversion (GH-4170)
https://github.com/python/cpython/commit/3286ce4adee85c5ce8ab3ee3089f3cd44a017fd7
msg325072 - (view) Author: Raymond Hettinger (rhettinger) * (Python committer) Date: 2018-09-11 21:49
New changeset c4bccd3c7617018b1ce16f95840ffe1a890d44df by Raymond Hettinger (Tal Einat) in branch 'master':
bpo-20180: convert most of itertoolsmodule.c to use Argument Clinic (GH-9164)
https://github.com/python/cpython/commit/c4bccd3c7617018b1ce16f95840ffe1a890d44df
msg325121 - (view) Author: Tal Einat (taleinat) * (Python committer) Date: 2018-09-12 05:31
Now just the collections module is left from this group.

Raymond, what would you like done with it WRT AC conversion, if at all?
msg325167 - (view) Author: Raymond Hettinger (rhettinger) * (Python committer) Date: 2018-09-12 18:56
> Now just the collections module is left from this group.
> Raymond, what would you like done with it WRT AC conversion,
> if at all?

I would like to pass on the collections module.  Having looked at the patch, I think the code is currently better as is.

That bring this one Derby to a close.  Congratulations :-)
msg332505 - (view) Author: Serhiy Storchaka (serhiy.storchaka) * (Python committer) Date: 2018-12-25 09:10
New changeset 65ce60aef150776f884715b4315a10a0d6ae769e by Serhiy Storchaka in branch 'master':
bpo-20180: Simplify char_converter in Argument Clinic. (GH-9828)
https://github.com/python/cpython/commit/65ce60aef150776f884715b4315a10a0d6ae769e
msg340011 - (view) Author: Inada Naoki (inada.naoki) * (Python committer) Date: 2019-04-12 07:11
New changeset 9e4f2f3a6b8ee995c365e86d976937c141d867f8 by Inada Naoki in branch 'master':
bpo-20180: Use argument clinic for dict.pop() and dict.popitem() (GH-12792)
https://github.com/python/cpython/commit/9e4f2f3a6b8ee995c365e86d976937c141d867f8
History
Date User Action Args
2019-04-12 07:11:33inada.naokisetmessages: + msg340011
2019-04-12 06:38:17inada.naokisetpull_requests: + pull_request12721
2018-12-25 09:10:09serhiy.storchakasetmessages: + msg332505
2018-10-12 19:59:22serhiy.storchakasetpull_requests: + pull_request9203
2018-09-12 18:56:33rhettingersetstatus: open -> closed
resolution: fixed
messages: + msg325167

stage: patch review -> resolved
2018-09-12 05:31:04taleinatsetnosy: loewis, rhettinger, taleinat, larry, rbcollins, inada.naoki, skrah, python-dev, martin.panter, serhiy.storchaka
messages: + msg325121
2018-09-11 21:49:17rhettingersetmessages: + msg325072
2018-09-11 14:15:18taleinatsetpull_requests: + pull_request8607
2018-09-10 18:33:11rhettingersetnosy: + rhettinger
messages: + msg324948
2018-07-06 11:05:19taleinatsetmessages: + msg321166
2018-07-06 10:17:47taleinatsetmessages: + msg321161
2018-07-01 08:24:22taleinatsetmessages: + msg320830
versions: + Python 3.8, - Python 3.7
2018-07-01 08:17:13taleinatsetpull_requests: + pull_request7648
2018-06-19 07:37:34inada.naokisetmessages: + msg319933
2018-06-14 17:38:25taleinatsetmessages: + msg319533
2017-11-02 10:11:55taleinatsetmessages: + msg305409
2017-10-30 08:23:56taleinatsetpull_requests: + pull_request4139
2017-10-25 12:17:09taleinatsetmessages: + msg304981
2017-10-25 12:15:31taleinatsetstage: needs patch -> patch review
pull_requests: + pull_request4087
2017-10-25 10:22:33serhiy.storchakasetmessages: + msg304976
2017-10-25 09:56:00taleinatsetmessages: + msg304972
2017-10-24 19:23:19serhiy.storchakasetmessages: + msg304937
2017-10-24 18:57:25taleinatsetmessages: + msg304936
2017-10-24 18:45:49serhiy.storchakasetmessages: + msg304935
2017-10-24 17:32:50taleinatsetmessages: + msg304931
2017-10-24 12:43:05serhiy.storchakasetmessages: + msg304904
2017-01-29 09:38:08martin.pantersetnosy: + martin.panter

messages: + msg286435
stage: commit review -> needs patch
2017-01-16 12:49:52inada.naokisetmessages: + msg285563
2017-01-16 12:49:25python-devsetmessages: + msg285562
2017-01-16 12:42:31serhiy.storchakasetmessages: + msg285561
2017-01-16 11:58:34inada.naokisetmessages: + msg285559
2017-01-16 11:41:38python-devsetnosy: + python-dev
messages: + msg285558
2017-01-16 11:12:56serhiy.storchakasetmessages: + msg285554
2017-01-16 09:43:56inada.naokisetfiles: + unicodeobject.c.v7.patch
2017-01-15 18:03:47inada.naokisetmessages: + msg285516
versions: + Python 3.7, - Python 3.5
2017-01-15 17:25:14taleinatsetmessages: + msg285514
2017-01-14 20:24:56inada.naokisetmessages: + msg285500
2017-01-14 19:49:34inada.naokisetfiles: + unicodeobject.c.v6.patch
nosy: + inada.naoki
messages: + msg285498

2015-08-15 21:37:21taleinatsetmessages: + msg248663
2015-08-13 10:56:44rbcollinssetmessages: + msg248513
2015-08-04 08:44:46taleinatsetstatus: pending -> open

messages: + msg247987
2015-08-03 21:12:30rbcollinssetstatus: open -> pending
nosy: + rbcollins
messages: + msg247955

2015-05-03 14:36:41serhiy.storchakasetmessages: + msg242482
2015-04-24 12:03:13skrahsetnosy: + skrah
messages: + msg241934
2015-04-24 09:31:38taleinatsetmessages: + msg241931
2015-04-24 09:13:48serhiy.storchakasetmessages: + msg241930
stage: needs patch -> commit review
2015-04-24 08:58:36taleinatsetfiles: + unicodeobject.c.v5.patch

messages: + msg241927
2015-04-24 08:24:24serhiy.storchakasetnosy: + serhiy.storchaka
messages: + msg241925
2015-04-24 08:01:46taleinatsetfiles: + unicodeobject.c.v4.patch

messages: + msg241923
2015-04-22 17:51:07taleinatsetfiles: + unicodeobject.c.v3.patch

messages: + msg241819
2015-04-19 06:17:07larrysetmessages: + msg241488
2015-02-25 15:29:32serhiy.storchakasetcomponents: + Argument Clinic
2014-10-14 15:42:56skrahsetnosy: - skrah
2014-08-04 20:13:16larrysetmessages: + msg224761
versions: + Python 3.5, - Python 3.4
2014-07-27 15:31:00loewissetnosy: + loewis
messages: + msg224137
2014-01-27 16:51:29taleinatsetmessages: + msg209451
2014-01-27 16:49:15taleinatsetfiles: + taleinat.ac_conversion.itertools.c.patch

messages: + msg209450
2014-01-23 01:25:37larrysetmessages: + msg208873
2014-01-22 23:25:58skrahsetmessages: + msg208865
2014-01-22 23:13:00taleinatsetmessages: + msg208861
2014-01-22 21:43:03skrahsetmessages: + msg208855
2014-01-22 20:06:07taleinatsetmessages: + msg208846
2014-01-22 17:12:42skrahsetnosy: + skrah
messages: + msg208830
2014-01-22 16:42:53taleinatsetfiles: + xxlimited_xxmodule_xxsubtype_AC_conversion.patch

messages: + msg208827
2014-01-22 16:29:40taleinatsetfiles: + _randommodule.c.patch

messages: + msg208821
2014-01-22 13:24:45taleinatsetfiles: + deque_init_with_nullable_Py_ssize_t.patch

messages: + msg208804
2014-01-22 13:14:57taleinatsetfiles: + _collectionsmodule.c.patch

messages: + msg208803
2014-01-22 01:30:05taleinatsetfiles: + unicodeobject.c_2.patch

messages: + msg208728
2014-01-20 23:17:07taleinatsetfiles: + transmogrify.h.patch

messages: + msg208589
2014-01-20 23:05:18taleinatsetfiles: + unicodeobject.c.patch

messages: + msg208587
2014-01-19 02:21:01taleinatsetfiles: + _collectionsmodule.c.patch

nosy: + taleinat
messages: + msg208431

keywords: + patch
2014-01-08 01:36:37r.david.murraylinkissue20187 dependencies
2014-01-08 00:16:02larrycreate