On 2017-03-14 08:28:02 -0300, Alvaro Herrera wrote:
> Andres Freund wrote:
>
> > EEO_SWITCH(op->opcode)
> > {
> > EEO_CASE(EEO_DONE):
> > goto out;
>
> Oh my.
>
> > which is a bit annoying. (the EEO_CASE is either a jump label or a case
> > statement, depending on computed goto availability).
> >
> > It seems we could either:
> > 1) live with the damage
> > 2) disable pgindent
> > 3) move the : inside EEO_CASE's definition, and only use {} blocks.
>
> I think 3) is nasty because the result doesn't look like normal C.
We have a bunch of such constructs already however. foreach(),
PG_TRY(). That means 3) has the advantage that our editors and pgindent
can already deal with it.
> EEO_CASE() are potentially jump labels, then indentation becomes
> correct. Why not accept it? It looks odd, but that gives a better hint
> to the reader about what's going on.
Seems likely that every editor would indent them differently :(
I'm leaning towards 3) for the reasons above and after trying out the
different indentations, but I don't have a strong opinion.
Greetings,
Andres Freund