Added pgindent/README file.
This commit is contained in:
parent
b3b0f20412
commit
d88ff48045
29
src/tools/pgindent.dir/README
Normal file
29
src/tools/pgindent.dir/README
Normal file
@ -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
|
||||||
|
|
@ -1,26 +1,4 @@
|
|||||||
#!/bin/sh
|
#!/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
|
trap "rm -f /tmp/$$ /tmp/$$a" 0 1 2 3 15
|
||||||
entab </dev/null >/dev/null
|
entab </dev/null >/dev/null
|
||||||
@ -38,12 +16,7 @@ fi
|
|||||||
indent -version -npro </dev/null >/dev/null 2>&1
|
indent -version -npro </dev/null >/dev/null 2>&1
|
||||||
if [ "$?" -eq 0 ]
|
if [ "$?" -eq 0 ]
|
||||||
then echo "You appear to have GNU indent rather than BSD indent." >&2
|
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 "See the pgindent/README file for a description of its problems." >&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
|
|
||||||
EXTRA_OPTS="-ncdb -bli0 -npcs -cli4"
|
EXTRA_OPTS="-ncdb -bli0 -npcs -cli4"
|
||||||
else echo "Hope you installed /src/tools/pgindent/indent.bsd.patch." >&2
|
else echo "Hope you installed /src/tools/pgindent/indent.bsd.patch." >&2
|
||||||
EXTRA_OPTS="-bbb -cli1"
|
EXTRA_OPTS="-bbb -cli1"
|
||||||
|
Loading…
x
Reference in New Issue
Block a user