From d88ff48045599b3be80c20148b38f8deffa16fc4 Mon Sep 17 00:00:00 2001 From: Bruce Momjian Date: Sat, 13 Sep 1997 11:55:12 +0000 Subject: [PATCH] Added pgindent/README file. --- src/tools/pgindent.dir/README | 29 +++++++++++++++++++++++++++++ src/tools/pgindent.dir/pgindent | 29 +---------------------------- 2 files changed, 30 insertions(+), 28 deletions(-) create mode 100644 src/tools/pgindent.dir/README diff --git a/src/tools/pgindent.dir/README b/src/tools/pgindent.dir/README new file mode 100644 index 0000000000..6bf0700289 --- /dev/null +++ b/src/tools/pgindent.dir/README @@ -0,0 +1,29 @@ +This can format all PostgreSQL *.c and *.h files, excluding libpq++, +*.y, and *.l files. + +On 09/06/1997, from the top directory, I ran: + + find . -name '*.[ch]' -type f -print | grep -v '++' | xargs -n100 pgindent + +The stock BSD indent has two bugs. First, a comment after the word 'else' +causes the rest of the file to be ignored. Second, it silently ignores +typedefs after getting the first 100. + +Both problems are worked-around in this script. We also include a patch +for the second bug in: + + /src/tools/pgindent/indent.bsd.patch + +Even with the workaround, installation of the patch produces better +output. + +GNU indent, version 1.9.1, has several bugs, and is not recommended. +These bugs become pretty major when you are doing >200k 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. + +We get the list of typedef's included in pgindent by running: + + /src/tools/find_typedef + diff --git a/src/tools/pgindent.dir/pgindent b/src/tools/pgindent.dir/pgindent index 95b6aa3d77..edf13cbcc5 100644 --- a/src/tools/pgindent.dir/pgindent +++ b/src/tools/pgindent.dir/pgindent @@ -1,26 +1,4 @@ #!/bin/sh -# -# This can format all PostgreSQL *.c and *.h files, -# excluding libpq++, *.y, and *.l files. -# -# On 09/06/1997, from the top directory, I ran: -# -# find . -name '*.[ch]' -type f -print | grep -v '++' | xargs -n100 pgindent -# -# The stock BSD indent has two bugs. First, a comment after the word 'else' -# causes the rest of the file to be ignored. Second, it silently ignores -# typedefs after getting the first 100. -# -# Both problems are worked-around in this script. -# We also include a patch for the second bug in: -# /src/tools/pgindent/indent.bsd.patch -# Even with the workaround, installation of the patch produces better output. -# -# GNU indent has many bugs, and it not recommended. See the description -# below. -# -# We get the list of typedef's from /src/tools/find_typedef -# trap "rm -f /tmp/$$ /tmp/$$a" 0 1 2 3 15 entab /dev/null @@ -38,12 +16,7 @@ fi indent -version -npro /dev/null 2>&1 if [ "$?" -eq 0 ] then echo "You appear to have GNU indent rather than BSD indent." >&2 - echo "Be warned, it has some small bugs, GNU indent version 1.9.1." >&2 - echo "These bugs become pretty major when you are doing >200k lines of code." >&2 - echo "If you don't believe me, take a directory and make a copy." >&2 - echo "Run pgindent on the copy using GNU indent, and do a diff -r." >&2 - echo "You will see what I mean." - echo "GNU indent does some things better, but mangles too." >&2 + echo "See the pgindent/README file for a description of its problems." >&2 EXTRA_OPTS="-ncdb -bli0 -npcs -cli4" else echo "Hope you installed /src/tools/pgindent/indent.bsd.patch." >&2 EXTRA_OPTS="-bbb -cli1" -- 2.40.0