Hi, On 2023-01-19 20:43:44 -0500, Tom Lane wrote: > Andres Freund <and...@anarazel.de> writes: > > There's a few places in the code that try to format a variable definition > > like this > > > ReorderBufferChange *next_change = > > dlist_container(ReorderBufferChange, node, next); > > > but pgindent turns that into > > > ReorderBufferChange *next_change = > > dlist_container(ReorderBufferChange, node, next); > > Yeah, that's bugged me too. I suspect that the triggering factor is > use of a typedef name within the assigned expression, but I've not > tried to run it to ground.
It's not that - it happens even with just int frak = 1; since it doesn't happen for plain assignments, I think it's somehow related to code dealing with variable declarations. > > I assume we'd again have to dive into pg_bsd_indent's code to fix it :( > > Yeah :-(. That's enough of a rat's nest that I've not really wanted to. > But I'd support applying such a fix if someone can figure it out. It's pretty awful code :( > > And even if we were to figure out how, would it be worth the > > reindent-all-branches pain? I'd say yes, but... > > What reindent-all-branches pain? We haven't done an all-branches > reindent in the past, even for pgindent fixes that touched far more > code than this would (assuming that the proposed fix doesn't have > other side-effects). Oh. I thought we had re-indented the other branches when we modified pg_bsd_intent substantially in the past, to reduce backpatching pain. But I guess we just discussed that option, but didn't end up pursuing it. Greetings, Andres Freund