diff --git a/src/tools/pgindent/README b/src/tools/pgindent/README
index 6fdff4ee67864584c1bd2093eb04e03b93261670..3610d46a93f2cb110e60df5dcfcf69a32a5315a8 100644
--- a/src/tools/pgindent/README
+++ b/src/tools/pgindent/README
@@ -12,7 +12,7 @@ symbols.
 From the top directory, run:
 
 	find . -name '*.[ch]' -type f -print |
-	egrep -v '/s_lock.h|src/interfaces/ecpg/test/expected/' |
+	egrep -v '/s_lock.h|/ecpg/test/expected/|/snowball/libstemmer/' |
 	xargs -n100 pgindent
 
 We have standardized on NetBSD's indent.  We have fixed a few bugs which 
@@ -24,3 +24,15 @@ These bugs become pretty major when you are doing >500k lines of code.
 If you don't believe me, take a directory and make a copy.  Run pgindent
 on the copy using GNU indent, and do a diff -r. You will see what I
 mean. GNU indent does some things better, but mangles too.
+
+Notes about excluded files:
+
+src/include/storage/s_lock.h is excluded because it contains assembly code
+that pgindent tends to mess up.
+
+src/interfaces/ecpg/test/expected/ is excluded to avoid breaking the ecpg
+regression tests.
+
+src/include/snowball/libstemmer/ and src/backend/snowball/libstemmer/
+are excluded because those files are imported from an external project,
+not maintained locally, and are machine-generated anyway.