This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

classification
Title: Derby #5: Convert 50 sites to Argument Clinic across 3 files
Type: enhancement Stage: needs patch
Components: Argument Clinic, Extension Modules Versions: Python 3.5
process
Status: open Resolution:
Dependencies: Superseder:
Assigned To: Nosy List: baikie, larry, loewis, pdmccormick, rmsr
Priority: normal Keywords: patch

Created on 2014-01-07 23:47 by larry, last changed 2022-04-11 14:57 by admin.

Files
File name Uploaded Description Edit
argument_clinic_functools.patch rmsr, 2014-01-09 04:12 docstrings for _functools.partial pickle protocol methods review
argument_clinic_socketmodule.patch rmsr, 2014-01-15 03:36
argument_clinic_socketmodule_v2.patch rmsr, 2014-01-16 01:40 v2 socketmodule Argument Clinic conversion
argument_clinic_socketmodule_v3.patch rmsr, 2014-01-16 05:40 v3 socketmodule Argument Clinic conversion review
argument_clinic_socketmodule_v4.patch rmsr, 2014-01-16 09:22 v4 socketmodule Argument Clinic conversion review
Messages (12)
msg207619 - (view) Author: Larry Hastings (larry) * (Python committer) Date: 2014-01-07 23:47
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/socketmodule.c: 47 sites
    Modules/socketmodule.h: 1 sites
    Modules/_functoolsmodule.c: 2 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
msg207722 - (view) Author: Ryan Smith-Roberts (rmsr) * Date: 2014-01-09 01:54
Taking a crack at this.

socketmodule.h: just a comment, skipping.

_functools.c: kind-of skipping, because the relevant functions are not normally directly called (pickle protocol __reduce__ and __setstate__ on partial, __call__ on cmp wrapper). Will add simple docstrings for the pickle protocol handlers though.
msg207819 - (view) Author: Larry Hastings (larry) * (Python committer) Date: 2014-01-10 02:03
While it's dandy to add docstrings, your patch doesn't have any Argument Clinic stuff in it.  I don't mind if you add docstrings as part of the process of converting to Argument Clinic, but I'm not interested in this patch as it stands.
msg207984 - (view) Author: Ryan Smith-Roberts (rmsr) * Date: 2014-01-12 22:04
Just discovered that the bugtracker mail was all going into my spam filter, yay. Didn't notice your reply until just now.

The functools patch was just a quickie to get it out of my mental queue, and I'm still working on socketmodule. This is my first time using the Python bugtracker, I don't know if multipart patches are acceptable?
msg207985 - (view) Author: Larry Hastings (larry) * (Python committer) Date: 2014-01-12 22:07
I don't know what you mean by a "multipart patch", but the bug tracker has handled every patch I've thrown at it so far.  (Assuming that the patch is based on a reasonably fresh checkout of trunk.)
msg208134 - (view) Author: Ryan Smith-Roberts (rmsr) * Date: 2014-01-15 03:36
Here's the socketmodule patch. I aggressively imported text from the docs for the docstrings, along with matching parameter names, given how far the old docstrings have drifted over time. The Windows-specific code is untested, but otherwise the tests pass. I tagged functions which can't be converted or whose argument handling is esoteric. These comments can be removed prior to commit.

I am not sure if one should convert a C-level class's init method.
msg208227 - (view) Author: Ryan Smith-Roberts (rmsr) * Date: 2014-01-16 01:40
Forgot to linewrap a paragraph.
msg208239 - (view) Author: Ryan Smith-Roberts (rmsr) * Date: 2014-01-16 05:40
Tweaked the argument list for functions using a NULL default. Kludgy but doesn't lie to the user.
msg208264 - (view) Author: Ryan Smith-Roberts (rmsr) * Date: 2014-01-16 09:22
Here's sendmsg with only nested bracket optional args. If Rietveld doesn't like this patch I may cry.
msg224127 - (view) Author: Martin v. Löwis (loewis) * (Python committer) Date: 2014-07-27 12:59
Ryan, 4 hunks of your patch fail to apply now. Can you please update the patch?
msg224756 - (view) Author: Larry Hastings (larry) * (Python committer) Date: 2014-08-04 20:12
All the Derby patches should only go into trunk at this point.
msg240722 - (view) Author: Peter McCormick (pdmccormick) * Date: 2015-04-13 20:02
I am working on revising the Argument Clinic definitions for socketmodule.c.
History
Date User Action Args
2022-04-11 14:57:56adminsetgithub: 64373
2015-08-02 20:43:00baikiesetnosy: + baikie
2015-04-13 20:02:56pdmccormicksetnosy: + pdmccormick
messages: + msg240722
2015-02-25 15:27:19serhiy.storchakasetcomponents: + Argument Clinic
2014-08-04 20:12:46larrysetmessages: + msg224756
versions: + Python 3.5, - Python 3.4
2014-07-27 12:59:31loewissetnosy: + loewis
messages: + msg224127
2014-01-16 09:22:30rmsrsetfiles: + argument_clinic_socketmodule_v4.patch

messages: + msg208264
2014-01-16 05:40:28rmsrsetfiles: + argument_clinic_socketmodule_v3.patch

messages: + msg208239
2014-01-16 01:40:20rmsrsetfiles: + argument_clinic_socketmodule_v2.patch

messages: + msg208227
2014-01-15 03:36:13rmsrsetfiles: + argument_clinic_socketmodule.patch

messages: + msg208134
2014-01-12 22:07:14larrysetmessages: + msg207985
2014-01-12 22:04:41rmsrsetmessages: + msg207984
2014-01-10 02:03:15larrysetmessages: + msg207819
2014-01-09 04:12:42rmsrsetfiles: + argument_clinic_functools.patch
keywords: + patch
2014-01-09 01:54:52rmsrsetnosy: + rmsr
messages: + msg207722
2014-01-08 01:36:37r.david.murraylinkissue20187 dependencies
2014-01-07 23:52:42larrysettype: behavior -> enhancement
2014-01-07 23:47:41larrycreate