Re: pgindent versus struct members and typedefs
Chao Li <li.evan.chao@gmail.com>
From: Chao Li <li.evan.chao@gmail.com>
To: Nathan Bossart <nathandbossart@gmail.com>
Cc: Tom Lane <tgl@sss.pgh.pa.us>,
Rahila Syed <rahilasyed90@gmail.com>,
Robert Haas <robertmhaas@gmail.com>,
PostgreSQL Hackers <pgsql-hackers@lists.postgresql.org>
Date: 2026-05-06T01:29:36Z
Lists: pgsql-hackers
Commits
Same data as JSON:
GET /api/v1/messages/:b64id/commits
the thread's linked commits as JSON, with link sources.
API reference →
-
pgindent: Fix spacing after != when member name matches typedef.
- a3e6beba60ec 19 (unreleased) landed
-
Exclude fmgrprotos.h from pgindent processing.
- c4133ec169df 14.0 cited
> On May 6, 2026, at 05:47, Nathan Bossart <nathandbossart@gmail.com> wrote: > > On Tue, Dec 02, 2025 at 05:51:15PM -0500, Tom Lane wrote: >> Chao Li <li.evan.chao@gmail.com> writes: >>> On Dec 3, 2025, at 06:00, Nathan Bossart <nathandbossart@gmail.com> wrote: >>>> I tried to fix pgindent for a few, but the code is basically impenetrable. >>>> I didn't find any fixes upstream [0], either. As noted above, we could >>>> also fix it by avoiding the naming conflicts. However, I can't imagine >>>> that's worth the churn, and I've already spent way too much time on this, >>>> so IMHO the best thing to do here is nothing. >> >>> I think that’s fine. >> >> Agreed, not worth the trouble to fool with. > > For fun, I spent some time with an AI tool to develop the attached fix for > this problem. The explanation seems reasonable to me, although I am by no > means a pgindent expert. When I looked at this in December, I did find > this similar commit from upstream [0], but I failed to make the connection > with last_u_d. 0002 is the result of a pgindent run after applying 0001. > You'll notice that it fixes the exact set of cases I found with grep > upthread. > > [0] https://github.com/pstef/freebsd_indent/commit/afa2239 > > -- > nathan > <v1-0001-pgindent-Fix-spacing-after-when-member-name-match.patch><v1-0002-run-pgindent.patch> From 0002, the fix looks good. I tried to run the patched pgindent against all .c and .h files under src/ and contrib/, the result is exactly the same as 0002. So, maybe worthy pushing before Tom running the annual pgindent. Best regards, -- Chao Li (Evan) HighGo Software Co., Ltd. https://www.highgo.com/