Andrew Dunstan wrote:
Tom Lane said:
I'm fairly displeased with what pgindent has done to single-line PG_TRY
constructs, as in this example from pl_exec.c:
*************** exec_stmt_block(PLpgSQL_execstate * esta
*** 911,922 ****
SPI_result_code_string(xrc));
PG_TRY();
! {
! rc = exec_stmts(estate, block->body);
! }
PG_CATCH();
{
! ErrorData *edata;
PLpgSQL_exceptions *exceptions;
int j;
--- 912,921 ----
SPI_result_code_string(xrc));
PG_TRY();
! rc = exec_stmts(estate, block->body);
PG_CATCH();
{
! ErrorData *edata;
PLpgSQL_exceptions *exceptions;
int j;
*************** exec_stmt_block(PLpgSQL_execstate * esta
On the whole I'd prefer that pgindent not suppress "unnecessary"
brace pairs at all.
I had that argument a while ago with Bruce and lost :-) . It does horrible
things to if/else constructs too. The workaround is to put a comment in the
block. On the whole I agree with you, though. If I put braces in my program
it's for a reason, and the indenter shouldn't think it knows better than me.
Well I'm not exactly a C coder, I'm a C++ one and it's quite common use the
extra scope in order to reduce the automatic variable life, I don't know how
much the extra scope are used in the C world, however remove an "extra scope"
like that is not only "horrible", is *wrong* and can be cause of future pain:
foo ( int a )
{
...
{
int a;
}
// use the formal parameter
}
if the extra scope is removed the local variable "shadow" the formal
parameter. Some compilers do not warning you, IIRC the Digital had this funny omission,
( however you can miss the warning ) and hours of debugging are behind the corner.
I hope that Bruce change his mind...
Regards
Gaetano Mendola
---------------------------(end of broadcast)---------------------------
TIP 4: Don't 'kill -9' the postmaster