(01:31:19 PM) Crys: hi larry (01:31:37 PM) larry: hi Christian (01:32:15 PM) Crys: larry: about the ssl module, Alex, Donald and I share the same opinion. Argument Clinic is going to make backports harder. (01:33:50 PM) larry: Crys: I agree that it will make backports harder, but as I said, I don't think we do that very much. (01:34:15 PM) Alex_Gaynor: larry: we do so more for the ssl module than others, see PEP466 (01:34:24 PM) Crys: How much infrastructure is needed for argument clinic? Is it possible to use clinic easily in 2.7? (01:34:47 PM) larry: If we did it frequently, we could mimic the Clinic approach of splitting the parsing logic from the implementation logic (01:35:32 PM) larry: Alex_Gaynor, I'm aware of the big backport we did last year. Does that suggest we're going to do more backports in the future? (01:36:50 PM) larry: Crys: Currently it wouldn't be that hard to backport Argument Clinic to 2.7. However, a) I don't think people would want it, and b) I want to change AC in ways that would not lend themselves to backwards-compatibility. So I'm hoping "backport AC to 2.7" is not a route we try to take. (01:38:39 PM) larry: Alex_Gaynor: Before the Clinic-ization, how similar were the Modules/_ssl.c files in 2.7 and trunk? Could you literally copy one over the other and it would Just Work? (01:38:59 PM) Alex_Gaynor: larry: very nearly, sometimes it would require slight adjustments (01:39:07 PM) Crys: larry: I'm just exploring possible ways to deal with the latest changes. I see three alternatives: a) revert the change and don't use clinic for _ssl.c until 2020, b) get clinic working on 2.7, c) have more painful backports. (01:39:47 PM) Crys: b) sounds preferable iff clinic supports 2.7 without too much hazzle. (01:40:02 PM) larry: Crys: There's a fourth alternative, as I mentioned: backport the Modules/clinic/_ssl.c.h file from trunk to 2.7 (01:40:12 PM) larry: without backporting all of Clinic (01:40:27 PM) Crys: aah (01:40:41 PM) larry: You can't be changing the interfaces much (or at all), because it's 2.7 (01:40:43 PM) Crys: right ... (01:41:38 PM) larry: If you do change the interface, like adding an argument or whatever, you would have to make the matching change by hand in the _ssl.c.h file (01:41:48 PM) storchaka_: larry: But Modules/clinic/_ssl.c.h in 3.x can be changed without changing the interface (01:41:51 PM) larry: So it'd be slightly more work for the times when you add/change arguments (01:42:29 PM) larry: storchaka_: I'm suggesting a one-time backport of _ssl.c.h, not copying it over every time. (01:43:17 PM) storchaka_: larry: This will make harder backporting of interface changes (01:43:28 PM) larry: storchaka_: Yes, I mentioned that. (01:44:33 PM) storchaka_: At the time when an interface should be modified, Modules/clinic/_ssl.c.h in 2.7 and 3.x can differ too much (01:45:18 PM) larry: At some point (maybe soon) I hope to change Clinic's code generation in such a way that would make it much, much harder to backport _ssl.c.h (01:45:30 PM) larry: so I am suggesting that it be backported once and then maintained by hand. (01:49:12 PM) storchaka_: There is yet one alteranive. Don't do anything and backport _ssl.c.h only when it will be needed to backport something in ssl.c (may be never) (01:49:41 PM) larry: I'd be happy to do the one-time backport of Modules/clinic/_ssl.c.h, if that approach is acceptable to you folks maintaining _ssl.c. (01:50:58 PM) larry: Consider also that for 2.7 we would need to remove the introspection signatures hidden in the docstrings. (01:51:49 PM) larry: Also, Clinic itself is written in Python 3. Just pointing out that it'd be a bit strange to make Python 2 dependent on Python 3 ;-) (01:56:13 PM) storchaka_ left the room (quit: Remote host closed the connection). (01:57:07 PM) larry: I guess I'll support whatever you guys want. (01:57:26 PM) larry: It's the three of you supporting _ssl.c, right? Alex_Gaynor, Chrys, and dstufft? (01:57:53 PM) Crys: larry: and __ap__ (01:58:18 PM) larry: I'll take it to the issue tracker then (01:58:40 PM) dstufft: larry: to be clear, I can barely write C and I'm not maintaing _ssl.c. My objection is a more high level one, that we should make sure it's not overlly dificult to do backports for that module since it is security sensitive (01:59:01 PM) dstufft: I woudn't trust any C I touched in _ssl.c (01:59:06 PM) larry: dstufft: okay, got it (01:59:16 PM) larry: My concern is that the folks actually doing the work are happy (01:59:27 PM) larry: if you're not hacking on _ssl.c then I don't have to make you happy ;-) (01:59:36 PM) dstufft: :) (01:59:42 PM) dstufft: But I like being happy! (02:00:24 PM) dstufft: (actually, I think it's arguably true that I don't like being happy, given my determinism to jump into whatever caremad fueled discussions I can find) (02:00:41 PM) Crys: larry: Right now it's a theoretical issue. You don't have to port the module right *now*. Maybe we are never going to port code back to 2.7 or just very few lines. (02:01:17 PM) Crys: It could become an issue, though. Or maybe not (02:01:23 PM) larry: Well, otoh, the next time there's some jaw-dropping bug in _ssl.c you guys will want to respond quickly (02:01:42 PM) larry: and if we haven't figured out what we want to do here then we have to have the conversation in real time while servers are melting etc etc (02:02:45 PM) Crys: exactly my though! :) (02:03:40 PM) Crys: At this moment of time I'm able to tap into your brain and get your advice. After all you are the expert on argument clinic. (02:03:48 PM) larry: leave my brain alone!