Common code indentation (follow-up to 2007 discussion)

Christian Stimming stimming at tuhh.de
Fri Aug 28 16:35:06 EDT 2009


And eventually I learnt one more weirdness about the "indent" program:

Am Montag, 13. Juli 2009 21:18 schrieb Christian Stimming:
> Also, I discovered more issues with indent-2.2.9: This version seems to
> insert a space after each asterisk `*' in pointer arguments, like so:
>
> -gnc_hbci_gettrans (GtkWidget *parent, Account *gnc_acc);
> +gnc_hbci_gettrans(GtkWidget * parent, Account * gnc_acc);
>
> Even more weird, there doesn't seem to be any option to switch this off or
> on. It just does this every time. I don't like this.

"indent" will always surround the asterisk with spaces as long as it doesn't 
know the first word to be a type. Apparently, indent keeps a list of type 
names, to which we can add more names with the -T option. Only if the 
identifiert left of an asterisk is a known type, the asterisk will be written 
without a space on its right side:

$ indent *.h 

will give

+ gnc_hbci_gettrans(GtkWidget * parent, Account * gnc_acc);

but 

$ indent -T GtkWidget -T Account *.h

will give

+ gnc_hbci_gettrans(GtkWidget *parent, Account *gnc_acc);

This bears the question of how indent ever was useful in a non-trivial 
project...?

> Maybe we should consider another program, e.g. astyle? I
> could try to make up a proposal that matches what has been discussed but is
> given in astyle commands.

I'll try to find out suitable astyle arguments.

Regards,

Christian


More information about the gnucash-devel mailing list