Author rbcollins
Recipients Arfrever, belopolsky, ezio.melotti, gvanrossum, ilblackdragon, martin.panter, ncoghlan, o11c, pitrou, rbcollins, smurfix, xonatius
Date 2015-08-27.22:43:20
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1440715401.34.0.59674555234.issue2786@psf.upfronthosting.co.za>
In-reply-to
Content
Here are some options.

a) Don't make the new thing public - instead export within Python.exe the existing private symbol _...withNames. Pros: no change to public API. Cons: extension modules using the public API cannot make these sorts of errors clearer.

b) Add a new API. Either narrow (add the parameter) or big (add a struct). Pros: everyone treated equally. Cons: More API surface area, and more complex calling convention.

c) use symbol versioning to change the existing API. Cons: more complex build-time detection for users. Pros: API surface area held constant.

d) Don't fix it. :)

I don't have a particular preference, though the struct thing is a wash IMO - it saves adding a serial to the API, at the cost of having a versioned datastructure which needs an embedded serial number. [Except perhaps that you can use symbol versioning to deal with evolutions of the struct - but thats fairly complex to carry off well, and I think this would be the first example w/in Python].
History
Date User Action Args
2015-08-27 22:43:21rbcollinssetrecipients: + rbcollins, gvanrossum, ncoghlan, belopolsky, pitrou, ezio.melotti, smurfix, Arfrever, martin.panter, o11c, ilblackdragon, xonatius
2015-08-27 22:43:21rbcollinssetmessageid: <1440715401.34.0.59674555234.issue2786@psf.upfronthosting.co.za>
2015-08-27 22:43:21rbcollinslinkissue2786 messages
2015-08-27 22:43:20rbcollinscreate