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.
Created on 2014年01月07日 21:03 by serhiy.storchaka, last changed 2022年04月11日 14:57 by admin. This issue is now closed.
| Files | ||||
|---|---|---|---|---|
| File name | Uploaded | Description | Edit | |
| tkinter_clinic.patch | serhiy.storchaka, 2014年01月18日 12:26 | review | ||
| tkinter_clinic_2.patch | serhiy.storchaka, 2014年03月20日 18:45 | review | ||
| tkinter_clinic_3.patch | serhiy.storchaka, 2014年06月01日 15:47 | review | ||
| tkinter_clinic_4.patch | serhiy.storchaka, 2015年04月17日 20:01 | review | ||
| larry.fix.tkinter.build.on.windows.diff.1.txt | larry, 2015年05月03日 19:58 | review | ||
| Messages (18) | |||
|---|---|---|---|
| msg207600 - (view) | Author: Serhiy Storchaka (serhiy.storchaka) * (Python committer) | Date: 2014年01月07日 21:03 | |
In progress. Actually many functions are not very suitable for Argument Clinic. |
|||
| msg207604 - (view) | Author: Larry Hastings (larry) * (Python committer) | Date: 2014年01月07日 21:35 | |
What functions, and what makes them unsuitable? |
|||
| msg207605 - (view) | Author: Serhiy Storchaka (serhiy.storchaka) * (Python committer) | Date: 2014年01月07日 21:58 | |
call() just converts all args to Tcl list. Is Argument Clinic supports *args and **kwargs? I'm not sure there is a benefit with using Argument Clinic here. splitlist() and split() first call PyArg_ParseTuple with one argument, check the input, and then may call PyArg_ParseTuple with other argument. They need large refactoring to use Argument Clinic. getint(), getdouble(), getboolean() first manually unpack arguments tuple, and then may call PyArg_ParseTuple. Same as above. setvar()/globalsetvar(), getvar()/globalgetvar(), unsetvar()/globalunsetvar() shares common code parametrized by flags. I think this is resolvable. But worse, they can delegates their execution to other thread and should save all arguments in events queue. And this looks absolutely unsuitable for Argument Clinic. |
|||
| msg207609 - (view) | Author: Larry Hastings (larry) * (Python committer) | Date: 2014年01月07日 22:11 | |
(It would have made it easier on me if you'd used the C function names, instead of the names in the module.) I agree. In retrospect, it's not surprising that things in _tkinter aren't suitable, as it appears to be a shunt for calling things in Tcl. For what it's worth, Argument Clinic is only intended for functions that use PyArg_ParseTuple or PyArg_ParseTupleOrKeywords to parse their arguments. So something like call is and will forever be unsuitable. (And reading _tkinter.c this has reminded me why I don't like Tcl ;-) |
|||
| msg207699 - (view) | Author: Larry Hastings (larry) * (Python committer) | Date: 2014年01月08日 20:43 | |
So do you think there are any entry points worth converting in _tkinter, or should we close this issue? |
|||
| msg207706 - (view) | Author: Serhiy Storchaka (serhiy.storchaka) * (Python committer) | Date: 2014年01月08日 22:00 | |
You misunderstood me. I already have 1018-lines patch which converts about 24 functions and methods to Argument Clinic church. And I'm working on left functions. Do you want to get unfinished patch? |
|||
| msg207716 - (view) | Author: Larry Hastings (larry) * (Python committer) | Date: 2014年01月08日 23:58 | |
Oh, okay. That sounds fine, and I'm not in a hurry. Please post the patch whenever you're ready, thanks! |
|||
| msg208398 - (view) | Author: Serhiy Storchaka (serhiy.storchaka) * (Python committer) | Date: 2014年01月18日 12:26 | |
Here is a patch. |
|||
| msg214259 - (view) | Author: Serhiy Storchaka (serhiy.storchaka) * (Python committer) | Date: 2014年03月20日 18:45 | |
Here is updated patch. |
|||
| msg219507 - (view) | Author: Serhiy Storchaka (serhiy.storchaka) * (Python committer) | Date: 2014年06月01日 15:47 | |
Synchronized with tip. |
|||
| msg241357 - (view) | Author: Serhiy Storchaka (serhiy.storchaka) * (Python committer) | Date: 2015年04月17日 19:59 | |
Updated to the tip. Converted methods getint, getdouble, getboolean, splitlist, split. |
|||
| msg242471 - (view) | Author: Roundup Robot (python-dev) (Python triager) | Date: 2015年05月03日 13:18 | |
New changeset b22ced894d51 by Serhiy Storchaka in branch 'default': Issue #20168: Converted the _tkinter module to Argument Clinic. https://hg.python.org/cpython/rev/b22ced894d51 |
|||
| msg242478 - (view) | Author: Serhiy Storchaka (serhiy.storchaka) * (Python committer) | Date: 2015年05月03日 14:31 | |
wantobjects() was not converted due to a bug in Argument Clinic (issue24051). |
|||
| msg242503 - (view) | Author: Steve Dower (steve.dower) * (Python committer) | Date: 2015年05月03日 19:39 | |
This broke Windows builds because of unnecessary "static" qualifiers on the forward declarations at lines 2685 and 3006 (as discussed on #20323). Removing "static" from these lines fixes the build. |
|||
| msg242507 - (view) | Author: Larry Hastings (larry) * (Python committer) | Date: 2015年05月03日 19:58 | |
As mentioned on #20148, removing the "static" from the forward declarations breaks it on GCC. (And, of the two, I think GCC is the one being reasonable here.) Attached is a patch that should fix the build for tkinter. |
|||
| msg242528 - (view) | Author: Steve Dower (steve.dower) * (Python committer) | Date: 2015年05月03日 21:43 | |
LGTM |
|||
| msg242530 - (view) | Author: Roundup Robot (python-dev) (Python triager) | Date: 2015年05月03日 21:49 | |
New changeset 7a76c462c7f6 by Larry Hastings in branch 'default': Fix Windows build breakage from checkins on Issues #20148 and #20168. https://hg.python.org/cpython/rev/7a76c462c7f6 |
|||
| msg242533 - (view) | Author: Larry Hastings (larry) * (Python committer) | Date: 2015年05月03日 21:53 | |
Steve, please close this issue when you've confirmed it's now building correctly on Windows. |
|||
| History | |||
|---|---|---|---|
| Date | User | Action | Args |
| 2022年04月11日 14:57:56 | admin | set | github: 64367 |
| 2015年05月04日 12:47:16 | serhiy.storchaka | set | status: open -> closed resolution: fixed |
| 2015年05月03日 21:53:59 | larry | set | messages: + msg242533 |
| 2015年05月03日 21:49:51 | python-dev | set | messages: + msg242530 |
| 2015年05月03日 21:43:57 | steve.dower | set | messages: + msg242528 |
| 2015年05月03日 19:58:51 | larry | set | files:
+ larry.fix.tkinter.build.on.windows.diff.1.txt messages: + msg242507 |
| 2015年05月03日 19:39:35 | steve.dower | set | status: closed -> open nosy: + steve.dower messages: + msg242503 resolution: fixed -> (no value) |
| 2015年05月03日 14:31:49 | serhiy.storchaka | set | status: open -> closed messages: + msg242478 dependencies: - Argument Clinic no longer works with single optional argument resolution: fixed stage: patch review -> resolved |
| 2015年05月03日 13:18:49 | python-dev | set | nosy:
+ python-dev messages: + msg242471 |
| 2015年04月24日 13:49:13 | serhiy.storchaka | set | dependencies: + Argument Clinic no longer works with single optional argument |
| 2015年04月17日 20:01:18 | serhiy.storchaka | set | files: + tkinter_clinic_4.patch |
| 2015年04月17日 20:01:06 | serhiy.storchaka | set | files: - tkinter_4.patch |
| 2015年04月17日 19:59:59 | serhiy.storchaka | set | files:
+ tkinter_4.patch messages: + msg241357 |
| 2015年02月25日 15:26:31 | serhiy.storchaka | set | components: + Argument Clinic |
| 2014年06月01日 15:47:18 | serhiy.storchaka | set | files:
+ tkinter_clinic_3.patch messages: + msg219507 |
| 2014年03月20日 18:45:13 | serhiy.storchaka | set | files:
+ tkinter_clinic_2.patch messages: + msg214259 versions: + Python 3.5, - Python 3.4 |
| 2014年01月18日 12:26:29 | serhiy.storchaka | set | files:
+ tkinter_clinic.patch nosy: + gpolo messages: + msg208398 keywords: + patch stage: patch review |
| 2014年01月09日 07:28:42 | serhiy.storchaka | set | dependencies: + Argument Clinic generates invalid code for optional parameter |
| 2014年01月08日 23:58:16 | larry | set | messages: + msg207716 |
| 2014年01月08日 22:00:25 | serhiy.storchaka | set | messages: + msg207706 |
| 2014年01月08日 20:43:48 | larry | set | messages: + msg207699 |
| 2014年01月08日 01:36:37 | r.david.murray | link | issue20187 dependencies |
| 2014年01月07日 22:11:15 | larry | set | messages: + msg207609 |
| 2014年01月07日 21:58:06 | serhiy.storchaka | set | messages: + msg207605 |
| 2014年01月07日 21:35:33 | larry | set | messages: + msg207604 |
| 2014年01月07日 21:09:23 | jkloth | set | nosy:
+ jkloth |
| 2014年01月07日 21:04:21 | serhiy.storchaka | set | assignee: serhiy.storchaka nosy: + larry |
| 2014年01月07日 21:03:59 | serhiy.storchaka | create | |