postgres.git / summary / log / commit / refs
commit c4133ec169dfe47803656325dbfb8397f85a70ea
Author: Tom Lane <tgl@sss.pgh.pa.us>
Date: Tue Sep 22 15:32:10 2020 +0000
First released in: 14.0
Exclude fmgrprotos.h from pgindent processing.
pgindent messes up entries in this file if their names match
typedef names. While there's reason to avoid choosing conflicting
names, we have some historical exceptions, and there's no guarantee
that more duplicates won't appear in future. Since this is a derived
file anyway, there's little harm in just excluding it.
I said yesterday that all our derived files are pgindent-clean, or else
explicitly excluded from indentation, but I'd forgotten about this one.
Now that project is really done, as confirmed by a test run.
Discussion: https://postgr.es/m/79ed5348-be7a-b647-dd40-742207186a22@2ndquadrant.com
src/tools/pgindent/README | 4 ++++
src/tools/pgindent/exclude_file_patterns | 6 ++++++
2 files changed, 10 insertions(+)
diff --git a/src/tools/pgindent/README b/src/tools/pgindent/README
index 56f07c7ee4c..d36f5088279 100644
--- a/src/tools/pgindent/README
+++ b/src/tools/pgindent/README
@@ -101,6 +101,10 @@ the comment block with some dashes:
Odd spacing around typedef names might indicate an incomplete typedefs list.
+pgindent will mangle both declaration and definition of a C function whose
+name matches a typedef. Currently the best workaround is to choose
+non-conflicting names.
+
pgindent can get confused by #if sequences that look correct to the compiler
but have mismatched braces/parentheses when considered as a whole. Usually
that looks pretty unreadable to humans too, so best practice is to rearrange
diff --git a/src/tools/pgindent/exclude_file_patterns b/src/tools/pgindent/exclude_file_patterns
index b2e9d8f6547..bfe103f1955 100644
--- a/src/tools/pgindent/exclude_file_patterns
+++ b/src/tools/pgindent/exclude_file_patterns
@@ -10,6 +10,10 @@ src/include/jit/llvmjit\.h$
# This confuses pgindent, and it's a derived file anyway.
src/backend/utils/fmgrtab\.c$
#
+# pgindent might mangle entries in this that match typedef names.
+# Since it's a derived file anyway, just exclude it.
+src/backend/utils/fmgrprotos\.h$
+#
# kwlist_d files are made by gen_keywordlist.pl. While we could insist that
# they match pgindent style, they'd look worse not better, so exclude them.
kwlist_d\.h$
@@ -35,3 +39,5 @@ src/pl/plperl/Util\.c$
# Exclude any temporary installations that may be in the tree.
/tmp_check/
/tmp_install/
+# ... and for paranoia's sake, don't touch git stuff.
+/\.git/
[parent: ce90f075f0d8]