Issue3473
Created on 2008-07-31 01:16 by amaury.forgeotdarc, last changed 2008-09-04 06:59 by amaury.forgeotdarc.
| File name |
Uploaded |
Description |
Edit |
Remove |
|
kwargs30.patch
|
amaury.forgeotdarc,
2008-07-31 13:12
|
|
|
|
|
kwargs26.patch
|
amaury.forgeotdarc,
2008-07-31 13:13
|
|
|
|
|
msg70449 - (view) |
Author: Amaury Forgeot d'Arc (amaury.forgeotdarc) |
Date: 2008-07-31 01:16 |
|
functions with keyword-only arguments have this form:
def f(x, *args, y):
pass
parameters can appear after the *arg, they are required to be passed by
keyword.
It would be more consistent to allow this function call:
f(X, *ARGS, y=Y)
This is invalid syntax, *ARGS is required to be at the end of the
arguments, together with an eventual **KWARGS. This restriction should
be lifted.
See the use case in
http://mail.python.org/pipermail/python-3000/2008-July/014437.html
|
|
msg70451 - (view) |
Author: Amaury Forgeot d'Arc (amaury.forgeotdarc) |
Date: 2008-07-31 01:30 |
|
Should this apply to 2.6 as well? See r65321, I find the last line
easier to read when arguments are in this order.
def grouper(n, iterable, fillvalue=None):
args = [iter(iterable)] * n
return izip_longest(*args, fillvalue=fillvalue)
On the cons side, keyword-only arguments don't exist in 2.6, so the
consistency with function definition syntax does not apply.
|
|
msg70485 - (view) |
Author: Raymond Hettinger (rhettinger) * |
Date: 2008-07-31 06:31 |
|
+1 for applying to 2.6.
izip_longest() is a perfect example of where it's important.
|
|
msg70499 - (view) |
Author: Amaury Forgeot d'Arc (amaury.forgeotdarc) |
Date: 2008-07-31 13:13 |
|
Patches for both versions are attached.
|
|
msg70502 - (view) |
Author: Benjamin Peterson (benjamin.peterson) |
Date: 2008-07-31 13:54 |
|
The patches look good to me.
|
|
msg70510 - (view) |
Author: Nick Coghlan (ncoghlan) |
Date: 2008-07-31 14:38 |
|
I'll have a look at this in the next day or two.
|
|
msg70597 - (view) |
Author: Amaury Forgeot d'Arc (amaury.forgeotdarc) |
Date: 2008-08-01 21:47 |
|
I will not have internet access for the next week.
Raymond, would you take care of this issue?
|
|
msg71094 - (view) |
Author: Terry J. Reedy (tjreedy) |
Date: 2008-08-13 18:09 |
|
Another use case: upon reading A.Baxter's Porting to 3 talk, I realized,
slightly generalizing from his example, that
print(s.join(map(str,it))) == print(*it,sep=s) -- or would, except that
it currently has to be written non-intuitively as print(sep=s,*it),
which I might not have tried except for knowing about this issue.
Given that many have problems with .join and that most uses are to
produce immediate output not otherwise processed, I think having the
replacement work in the way many would expect would be a win.
So I hope this makes the next beta.
|
|
msg71198 - (view) |
Author: Georg Brandl (georg.brandl) |
Date: 2008-08-16 06:39 |
|
Ping!
|
|
msg71293 - (view) |
Author: Amaury Forgeot d'Arc (amaury.forgeotdarc) |
Date: 2008-08-17 22:10 |
|
Barry, is it still time for this to be included in 2.6b3?
Guido already approved the idea:
http://mail.python.org/pipermail/python-3000/2008-July/014506.html
|
|
msg71471 - (view) |
Author: Barry A. Warsaw (barry) * |
Date: 2008-08-19 19:31 |
|
Guido's approved it, so please go ahead and add it before beta 3.
|
|
msg71473 - (view) |
Author: Benjamin Peterson (benjamin.peterson) |
Date: 2008-08-19 19:53 |
|
Applied for 2.6 in r65872.
|
|
msg71481 - (view) |
Author: Benjamin Peterson (benjamin.peterson) |
Date: 2008-08-19 20:57 |
|
Done for py3k in r65877.
|
|
msg71486 - (view) |
Author: Benjamin Peterson (benjamin.peterson) |
Date: 2008-08-19 21:26 |
|
Now test_compiler is breaking for us because the compiler package can't
handle the change.
|
|
msg72485 - (view) |
Author: Amaury Forgeot d'Arc (amaury.forgeotdarc) |
Date: 2008-09-04 06:59 |
|
The compiler package was fixed some time ago with r65891
|
|
| Date |
User |
Action |
Args |
| 2008-09-04 06:59:12 | amaury.forgeotdarc | set | messages:
+ msg72485 |
| 2008-09-03 18:28:31 | jcea | set | nosy:
+ jcea |
| 2008-08-19 21:26:12 | benjamin.peterson | set | messages:
+ msg71486 |
| 2008-08-19 20:57:30 | benjamin.peterson | set | messages:
+ msg71481 |
| 2008-08-19 19:53:03 | benjamin.peterson | set | status: open -> closed messages:
+ msg71473 |
| 2008-08-19 19:31:36 | barry | set | resolution: accepted messages:
+ msg71471 |
| 2008-08-17 22:10:12 | amaury.forgeotdarc | set | assignee: rhettinger -> amaury.forgeotdarc messages:
+ msg71293 nosy:
+ barry |
| 2008-08-16 06:39:16 | georg.brandl | set | nosy:
+ georg.brandl messages:
+ msg71198 |
| 2008-08-13 18:09:21 | tjreedy | set | nosy:
+ tjreedy messages:
+ msg71094 |
| 2008-08-01 21:47:09 | amaury.forgeotdarc | set | assignee: amaury.forgeotdarc -> rhettinger messages:
+ msg70597 |
| 2008-07-31 14:38:14 | ncoghlan | set | nosy:
+ ncoghlan messages:
+ msg70510 |
| 2008-07-31 13:54:25 | benjamin.peterson | set | nosy:
+ benjamin.peterson messages:
+ msg70502 |
| 2008-07-31 13:13:28 | amaury.forgeotdarc | set | files:
+ kwargs26.patch messages:
+ msg70499 |
| 2008-07-31 13:12:44 | amaury.forgeotdarc | set | files:
+ kwargs30.patch keywords:
+ patch |
| 2008-07-31 06:31:28 | rhettinger | set | nosy:
+ rhettinger messages:
+ msg70485 |
| 2008-07-31 01:30:54 | amaury.forgeotdarc | set | messages:
+ msg70451 |
| 2008-07-31 01:16:30 | amaury.forgeotdarc | create | |
|