Thread: More pgindent bizarreness
I noticed that pgindent is doing weird things with function pointer declarations; see for example what it did with AnalyzeAttrFetchFunc and compute_stats in src/include/commands/vacuum.h. I don't recall that it was doing this before the latest run. regards, tom lane
Tom Lane wrote: > I noticed that pgindent is doing weird things with function pointer > declarations; see for example what it did with AnalyzeAttrFetchFunc > and compute_stats in src/include/commands/vacuum.h. I don't recall > that it was doing this before the latest run. You mean here? void (*compute_stats) (VacAttrStatsP stats, AnalyzeAttrFetchFunc fetchfunc, int samplerows, doubletotalrows); I looked in 7.4.X CVS and I don't see this definition there so maybe it was always weird. Can you find a case that also had code in 7.4.X? -- Bruce Momjian | http://candle.pha.pa.us pgman@candle.pha.pa.us | (610) 359-1001+ If your life is a hard drive, | 13 Roberts Road + Christ can be your backup. | Newtown Square, Pennsylvania19073
Tom Lane wrote: > I noticed that pgindent is doing weird things with function pointer > declarations; see for example what it did with AnalyzeAttrFetchFunc > and compute_stats in src/include/commands/vacuum.h. I don't recall > that it was doing this before the latest run. Or do you mean here? typedef Datum (*AnalyzeAttrFetchFunc) (VacAttrStatsP stats, int rownum, bool *isNull); I do see -TAnalyzeAttrFetchFunc as a flag in pgindent so it knows is it is a typdef. -- Bruce Momjian | http://candle.pha.pa.us pgman@candle.pha.pa.us | (610) 359-1001+ If your life is a hard drive, | 13 Roberts Road + Christ can be your backup. | Newtown Square, Pennsylvania19073
Bruce Momjian <pgman@candle.pha.pa.us> writes: > Or do you mean here? Both, but the multi-line case with two different indent levels is particularly strange. You're right that this particular code is new in 8.0. (Looks around...) struct f_smgr in smgr.c is a comparable case, and it seems to have been weirdly indented right along, so maybe it's an old bug. regards, tom lane
Tom Lane wrote: > Bruce Momjian <pgman@candle.pha.pa.us> writes: > > Or do you mean here? > > Both, but the multi-line case with two different indent levels is > particularly strange. > > You're right that this particular code is new in 8.0. (Looks around...) > struct f_smgr in smgr.c is a comparable case, and it seems to have been > weirdly indented right along, so maybe it's an old bug. Yes, that is what I am thinking. I have worked around other bugs in the C code before by doing things with the shell script though this problem seems hard to clean up with a shell script. I found GNU indent to be even harder to fix. -- Bruce Momjian | http://candle.pha.pa.us pgman@candle.pha.pa.us | (610) 359-1001+ If your life is a hard drive, | 13 Roberts Road + Christ can be your backup. | Newtown Square, Pennsylvania19073
On Fri, 2004-10-01 at 06:48, Bruce Momjian wrote: > Yes, that is what I am thinking. I have worked around other bugs in the > C code before by doing things with the shell script though this problem > seems hard to clean up with a shell script. I found GNU indent to be > even harder to fix. Have you taken a look at astyle? I haven't used it, but it might be worth considering. http://astyle.sourceforge.net/ -Neil
Neil Conway wrote: > On Fri, 2004-10-01 at 06:48, Bruce Momjian wrote: > > Yes, that is what I am thinking. I have worked around other bugs in the > > C code before by doing things with the shell script though this problem > > seems hard to clean up with a shell script. I found GNU indent to be > > even harder to fix. > > Have you taken a look at astyle? I haven't used it, but it might be > worth considering. > > http://astyle.sourceforge.net/ I did look at it a few years ago but not recently. It might be better but didn't seem to have the same number of controls as BSD indent. -- Bruce Momjian | http://candle.pha.pa.us pgman@candle.pha.pa.us | (610) 359-1001+ If your life is a hard drive, | 13 Roberts Road + Christ can be your backup. | Newtown Square, Pennsylvania19073