Bruce Momjian wrote:

Andrew Dunstan wrote:


I grabbed the patched BSD indent from a mirror. Here's a couple of points:

. with a little trial and error GNU indent 2.2.9 actually did quite a reasonable job for me last night. But I guess YMMV. I'm curious to know what nasty mangling it does.



GNU indent does a reasonable job, but it did some strange spacing for function definitions, if I remember correctly. Can you test by running pgindent and gnuindent through the /executor files and do a diff to see the differences in formatting?


after I added -ncdb to the GNU indent options in pgindent, the main effect appears to be that it joins function calls across lines, sometimes in weird ways. I guess that's bad enough for us not to use it unless someone knows a way to turn that off.


Example (second case is bsd indented):

***************
*** 217,223 ****
 execTuplesHashPrepare(TupleDesc tupdesc,
                     int numCols,
                     AttrNumber *matchColIdx,
!                     FmgrInfo **eqfunctions, FmgrInfo **hashfunctions)
 {
   int         i;

--- 234,241 ----
 execTuplesHashPrepare(TupleDesc tupdesc,
                     int numCols,
                     AttrNumber *matchColIdx,
!                     FmgrInfo **eqfunctions,
!                     FmgrInfo **hashfunctions)
 {
   int         i;



. I had to hack the makefile for my linux box for a reasonably clean build, so that the CFLAGS on the install line doesn't override setting the defines, and the compiler won't complain about isblank and/or strdup and/or fileno. The diff is attached for anyone interested.



OK, I updated it on the ftp site. Can you download it? It should have size 41192. Is _GNU_SOURCE required? I didn't add that, but fixed the install part.




I am being refused connection to developer.postgresql.org and it hasn't reached the mirrors yet AFAICS.


Here's what happens on my RH9 box if you don't define _GNU_SOURCE:
[EMAIL PROTECTED] indent]$ make clean
rm -f *.o indent log core
[EMAIL PROTECTED] indent]$ make XFLAGS='-D__RCSID="static char *rcsid=" -D__COPYRIGHT="static char *copyright="'
cc -c -D__RCSID="static char *rcsid=" -D__COPYRIGHT="static char *copyright=" -g -Wall args.c
args.c:71: warning: `rcsid' defined but not used
cc -c -D__RCSID="static char *rcsid=" -D__COPYRIGHT="static char *copyright=" -g -Wall indent.c
indent.c:68: warning: `copyright' defined but not used
indent.c:78: warning: `rcsid' defined but not used
cc -c -D__RCSID="static char *rcsid=" -D__COPYRIGHT="static char *copyright=" -g -Wall io.c
io.c:71: warning: `rcsid' defined but not used
cc -c -D__RCSID="static char *rcsid=" -D__COPYRIGHT="static char *copyright=" -g -Wall lexi.c
lexi.c:71: warning: `rcsid' defined but not used
cc -c -D__RCSID="static char *rcsid=" -D__COPYRIGHT="static char *copyright=" -g -Wall parse.c
parse.c:71: warning: `rcsid' defined but not used
cc -c -D__RCSID="static char *rcsid=" -D__COPYRIGHT="static char *copyright=" -g -Wall pr_comment.c
pr_comment.c: In function `pr_comment':
pr_comment.c:409: warning: implicit declaration of function `isblank'
pr_comment.c: At top level:
pr_comment.c:71: warning: `rcsid' defined but not used
cc -o indent -g -Wall args.o indent.o io.o lexi.o parse.o pr_comment.o
[EMAIL PROTECTED] indent]$ make clean
rm -f *.o indent log core
[EMAIL PROTECTED] indent]$ make
cc -c -D_GNU_SOURCE -D__RCSID="static char *rcsid=" -D__COPYRIGHT="static char *copyright=" -g -Wall args.c
args.c:71: warning: `rcsid' defined but not used
cc -c -D_GNU_SOURCE -D__RCSID="static char *rcsid=" -D__COPYRIGHT="static char *copyright=" -g -Wall indent.c
indent.c:68: warning: `copyright' defined but not used
indent.c:78: warning: `rcsid' defined but not used
cc -c -D_GNU_SOURCE -D__RCSID="static char *rcsid=" -D__COPYRIGHT="static char *copyright=" -g -Wall io.c
io.c:71: warning: `rcsid' defined but not used
cc -c -D_GNU_SOURCE -D__RCSID="static char *rcsid=" -D__COPYRIGHT="static char *copyright=" -g -Wall lexi.c
lexi.c:71: warning: `rcsid' defined but not used
cc -c -D_GNU_SOURCE -D__RCSID="static char *rcsid=" -D__COPYRIGHT="static char *copyright=" -g -Wall parse.c
parse.c:71: warning: `rcsid' defined but not used
cc -c -D_GNU_SOURCE -D__RCSID="static char *rcsid=" -D__COPYRIGHT="static char *copyright=" -g -Wall pr_comment.c
pr_comment.c:71: warning: `rcsid' defined but not used
cc -o indent -g -Wall args.o indent.o io.o lexi.o parse.o pr_comment.o
[EMAIL PROTECTED] indent]$



cheers


andrew




---------------------------(end of broadcast)--------------------------- TIP 2: you can get off all lists at once with the unregister command (send "unregister YourEmailAddressHere" to [EMAIL PROTECTED])

Reply via email to