[issue11957] re.sub confusion between count and flags args

2017-04-14 Thread Jakub Wilk
Jakub Wilk added the comment: +raise TypeError("sub() takes from 2 to 4 positional arguments " +"but %d were given" % (4 + len(args))) It's actually 3 to 5 for sub() and subn(). -- ___ Python tracker

[issue11957] re.sub confusion between count and flags args

2017-04-14 Thread Jakub Wilk
Changes by Jakub Wilk : -- nosy: +jwilk ___ Python tracker ___ ___ Python-bugs-list mailing

[issue11957] re.sub confusion between count and flags args

2017-04-14 Thread Serhiy Storchaka
Serhiy Storchaka added the comment: Victor, I borrowed Guido's time machine and wrote patches implementing both your suggestions a half year ago. -- ___ Python tracker

[issue11957] re.sub confusion between count and flags args

2017-04-14 Thread STINNER Victor
STINNER Victor added the comment: My issue #30072 has been marked as a duplicate of this one. Copy of my msg291650: The re API seems commonly misused. Example passing a re flag to re.sub(): >>> re.sub("A", "B", "ahah", re.I) 'ahah' No error, no warning, but it doesn't work. Oh, sub has 5

[issue11957] re.sub confusion between count and flags args

2016-09-25 Thread Serhiy Storchaka
Changes by Serhiy Storchaka : Added file: http://bugs.python.org/file44826/re_deprecate_positional_count.patch ___ Python tracker

[issue11957] re.sub confusion between count and flags args

2016-09-25 Thread Serhiy Storchaka
Serhiy Storchaka added the comment: Here are two alternative patches. The first patch checks if count or maxsplit arguments are re.RegexFlag and raise TypeError if it is true. This makes misusing flags fail fast. The second patch deprecates passing count and maxsplit arguments as positional

[issue11957] re.sub confusion between count and flags args

2016-09-25 Thread Roundup Robot
Roundup Robot added the comment: New changeset 216e8b809e4e by Serhiy Storchaka in branch '3.5': Issue #11957: Restored re tests for passing count and maxsplit as positional https://hg.python.org/cpython/rev/216e8b809e4e New changeset b39b09290718 by Serhiy Storchaka in branch '3.6': Issue

[issue11957] re.sub confusion between count and flags args

2016-09-11 Thread Ethan Furman
Changes by Ethan Furman : -- nosy: +ethan.furman ___ Python tracker ___ ___

[issue11957] re.sub confusion between count and flags args

2015-03-08 Thread Serhiy Storchaka
Changes by Serhiy Storchaka storch...@gmail.com: -- dependencies: +Add IntFlags ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue11957 ___ ___

[issue11957] re.sub confusion between count and flags args

2014-10-31 Thread Ezio Melotti
Ezio Melotti added the comment: I agree about 767fd62b59a9, there should be tests for args passed both by position and as keyword args. Serhiy, do you think the enum solution is worth pursuing, or is it better to just turn those args to keyword-only (after a proper deprecation process)?

[issue11957] re.sub confusion between count and flags args

2014-10-31 Thread Serhiy Storchaka
Serhiy Storchaka added the comment: I think that the enum solution is worth pursuing, and that we need general class which represents the set of specified named flags. I'm working on implementation of enum.IntFlags. -- ___ Python tracker

[issue11957] re.sub confusion between count and flags args

2014-10-29 Thread Roundup Robot
Roundup Robot added the comment: New changeset 767fd62b59a9 by Victor Stinner in branch 'default': Issue #11957: Explicit parameter name when calling re.split() and re.sub() https://hg.python.org/cpython/rev/767fd62b59a9 -- nosy: +python-dev ___

[issue11957] re.sub confusion between count and flags args

2014-10-29 Thread STINNER Victor
STINNER Victor added the comment: I suggest to make the 2 last parameters of re.sub(), re.subn() and re.split() parameters as keyword-only. It will break applications using count and maxsplit parameters as index parameters, but it's easy to fix these applications if they want to support also

[issue11957] re.sub confusion between count and flags args

2014-10-29 Thread STINNER Victor
STINNER Victor added the comment: Confusion between count/maxplit and count parameters is common, duplicated issues: * Issue #22760 * Issue #17663 * Issue #15537 * Issue #12875 * Issue #12078 * Issue #11947 See also issue #13385 which proposed an explicit re.NOFLAGS flag. --

[issue11957] re.sub confusion between count and flags args

2014-10-29 Thread STINNER Victor
Changes by STINNER Victor victor.stin...@gmail.com: -- nosy: +serhiy.storchaka ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue11957 ___ ___

[issue11957] re.sub confusion between count and flags args

2014-10-29 Thread Serhiy Storchaka
Serhiy Storchaka added the comment: Thank you for your patch Valentina. But it makes flags combinations not pickleable. import re, pickle pickle.dumps(re.I|re.S, 3) Traceback (most recent call last): File stdin, line 1, in module _pickle.PicklingError: Can't pickle enum 'SubFlag':

[issue11957] re.sub confusion between count and flags args

2014-10-29 Thread Serhiy Storchaka
Serhiy Storchaka added the comment: As for 767fd62b59a9, I doubt that changing positional arguments to keyword argumennts in tests is justified. This can hide a bug. -- ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue11957

[issue11957] re.sub confusion between count and flags args

2014-10-29 Thread Serhiy Storchaka
Serhiy Storchaka added the comment: And again about patch_11957. I afraid that testing isinstance(count, sre_constants.BaseFlags) on every re.sub() call will hit performance too. -- ___ Python tracker rep...@bugs.python.org

[issue11957] re.sub confusion between count and flags args

2013-07-06 Thread Valentina Mukhamedzhanova
Valentina Mukhamedzhanova added the comment: Please see my patch, I have changed flags to be instances of IntEnum and added a check to re.sub, re.subn and re.split. The patch contains some tests. This solution also allowed me to discover several bugs in the standard library, and I am going to

[issue11957] re.sub confusion between count and flags args

2013-07-06 Thread Valentina Mukhamedzhanova
Changes by Valentina Mukhamedzhanova umi...@gmail.com: Removed file: http://bugs.python.org/file30801/patch_11957 ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue11957 ___

[issue11957] re.sub confusion between count and flags args

2013-07-06 Thread Valentina Mukhamedzhanova
Changes by Valentina Mukhamedzhanova umi...@gmail.com: Added file: http://bugs.python.org/file30813/patch_11957 ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue11957 ___

[issue11957] re.sub confusion between count and flags args

2013-07-06 Thread Valentina Mukhamedzhanova
Changes by Valentina Mukhamedzhanova umi...@gmail.com: Removed file: http://bugs.python.org/file30813/patch_11957 ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue11957 ___

[issue11957] re.sub confusion between count and flags args

2013-07-06 Thread Valentina Mukhamedzhanova
Changes by Valentina Mukhamedzhanova umi...@gmail.com: Added file: http://bugs.python.org/file30821/patch_11957 ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue11957 ___

[issue11957] re.sub confusion between count and flags args

2013-06-12 Thread STINNER Victor
Changes by STINNER Victor victor.stin...@gmail.com: -- components: -Unicode ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue11957 ___ ___

[issue11957] re.sub confusion between count and flags args

2013-04-16 Thread Raymond Hettinger
Changes by Raymond Hettinger raymond.hettin...@gmail.com: -- assignee: rhettinger - ezio.melotti ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue11957 ___

[issue11957] re.sub confusion between count and flags args

2013-04-13 Thread Mike Milkin
Mike Milkin added the comment: I like option #2, and I was thinking of working on it today, poke me if anyone has a problem with this. -- nosy: +mmilkin ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue11957

[issue11957] re.sub confusion between count and flags args

2013-04-13 Thread Mike Milkin
Mike Milkin added the comment: There is no sane way to issue a warning without changing the signature and we don't want to change the signature without issuing a deprecation warning for the function, so sadly option 3 is the only way for this to work, (Im going to not touch this till ENUMS

[issue11957] re.sub confusion between count and flags args

2013-04-13 Thread Ezio Melotti
Ezio Melotti added the comment: Can't you use *args and **kwargs and then raise a deprecation warning if count and/or flags are in args? Even if enums are merged in, there might still be issues depending on their implementation. -- ___ Python

[issue11957] re.sub confusion between count and flags args

2013-04-13 Thread Mike Milkin
Mike Milkin added the comment: We could do that but we would be changing the signature before adding the warning -- ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue11957 ___

[issue11957] re.sub confusion between count and flags args

2013-04-13 Thread Ezio Melotti
Ezio Melotti added the comment: The change would still be backwards compatible (even though inspect.signature and similar functions might return something different). Note that I'm not saying that's the best option, but it should be doable. -- ___

[issue11957] re.sub confusion between count and flags args

2013-04-10 Thread Ezio Melotti
Changes by Ezio Melotti ezio.melo...@gmail.com: -- type: - enhancement versions: +Python 3.4 -Python 3.1, Python 3.2 ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue11957 ___

[issue11957] re.sub confusion between count and flags args

2012-11-09 Thread Eric Snow
Changes by Eric Snow ericsnowcurren...@gmail.com: -- nosy: -eric.snow ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue11957 ___ ___

[issue11957] re.sub confusion between count and flags args

2011-12-15 Thread Eric Snow
Changes by Eric Snow ericsnowcurren...@gmail.com: -- nosy: +eric.snow ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue11957 ___ ___ Python-bugs-list

[issue11957] re.sub confusion between count and flags args

2011-09-05 Thread Ezio Melotti
Ezio Melotti ezio.melo...@gmail.com added the comment: See also #12888 for an error in the stdlib caused by this. -- ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue11957 ___

[issue11957] re.sub confusion between count and flags args

2011-05-23 Thread Éric Araujo
Éric Araujo mer...@netwok.org added the comment: I’d favor 1) or 2) over 3). Ints are short and very commonly used for flags. -- nosy: +eric.araujo ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue11957

[issue11957] re.sub confusion between count and flags args

2011-05-14 Thread Raymond Hettinger
Changes by Raymond Hettinger raymond.hettin...@gmail.com: -- assignee: - rhettinger nosy: +rhettinger ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue11957 ___

[issue11957] re.sub confusion between count and flags args

2011-05-06 Thread Terry J. Reedy
Terry J. Reedy tjre...@udel.edu added the comment: I like the idea of an internal REflag class with __new__, __or__, and __repr__==__str__. Str(re.A|re.L) might print as REflag: re.ASCII | re.IGNORE If it is *not* an int subclass, any attempt to use or mix with an int would raise. I checked

[issue11957] re.sub confusion between count and flags args

2011-05-06 Thread Matthew Barnett
Matthew Barnett pyt...@mrabarnett.plus.com added the comment: Something like re.Flag ASCII | IGNORE may be more Pythonic. -- ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue11957 ___

[issue11957] re.sub confusion between count and flags args

2011-05-06 Thread Terry J. Reedy
Terry J. Reedy tjre...@udel.edu added the comment: Agreed, if we go that route. -- ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue11957 ___ ___

[issue11957] re.sub confusion between count and flags args

2011-04-29 Thread Ezio Melotti
Ezio Melotti ezio.melo...@gmail.com added the comment: Since this has been reported already several times (see e.g. #11947), and it's a fairly common mistake, I think we should do something to avoid it. A few possibilities are: 1) add a warning in the doc; 2) make count and flag