head	1.43;
access;
symbols
	REL9_0_0:1.42
	REL9_1_ALPHA1:1.43
	REL9_0_RC1:1.42
	REL9_0_BETA4:1.42
	REL9_0_STABLE:1.42.0.2
	REL9_0_BETA3:1.42
	REL9_0_BETA2:1.40
	REL7_4_29:1.14
	REL8_0_25:1.17
	REL8_1_21:1.17.6.2
	REL8_2_17:1.20
	REL8_3_11:1.28
	REL8_4_4:1.31
	REL9_0_BETA1:1.40
	REL9_0_ALPHA5_BRANCH:1.39.0.2
	REL9_0_ALPHA5:1.39
	REL7_4_28:1.14
	REL8_0_24:1.17
	REL8_1_20:1.17.6.2
	REL8_2_16:1.20
	REL8_3_10:1.28
	REL8_4_3:1.31
	REL9_0_ALPHA4:1.31
	REL9_0_ALPHA4_BRANCH:1.31.0.10
	REL8_5_ALPHA3:1.31
	REL8_5_ALPHA3_BRANCH:1.31.0.8
	REL7_4_27:1.14
	REL8_0_23:1.17
	REL8_1_19:1.17.6.2
	REL8_2_15:1.20
	REL8_3_9:1.28
	REL8_4_2:1.31
	REL8_5_ALPHA2:1.31
	REL8_5_ALPHA2_BRANCH:1.31.0.6
	REL7_4_26:1.14
	REL8_0_22:1.17
	REL8_1_18:1.17.6.2
	REL8_2_14:1.20
	REL8_3_8:1.28
	REL8_4_1:1.31
	REL8_5_ALPHA1:1.31
	REL8_5_ALPHA1_BRANCH:1.31.0.4
	REL8_4_STABLE:1.31.0.2
	REL8_4_0:1.31
	REL8_4_RC2:1.31
	REL8_4_RC1:1.31
	REL8_4_BETA2:1.29
	REL8_4_BETA1:1.29
	REL7_4_25:1.14
	REL8_0_21:1.17
	REL8_1_17:1.17.6.2
	REL8_2_13:1.20
	REL8_3_7:1.28
	REL7_4_24:1.14
	REL8_0_20:1.17
	REL8_1_16:1.17.6.2
	REL8_2_12:1.20
	REL8_3_6:1.28
	REL7_4_23:1.14
	REL8_0_19:1.17
	REL8_1_15:1.17.6.2
	REL8_2_11:1.20
	REL8_3_5:1.28
	REL7_4_22:1.14
	REL8_0_18:1.17
	REL8_1_14:1.17.6.2
	REL8_2_10:1.20
	REL8_3_4:1.28
	REL7_4_21:1.14
	REL8_0_17:1.17
	REL8_1_13:1.17.6.2
	REL8_2_9:1.20
	REL8_3_3:1.28
	REL7_4_20:1.14
	REL8_0_16:1.17
	REL8_1_12:1.17.6.2
	REL8_2_8:1.20
	REL8_3_2:1.28
	REL8_2_7:1.20
	REL8_3_1:1.28
	REL8_3_STABLE:1.28.0.2
	REL8_3_0:1.28
	REL8_3_RC2:1.27
	REL7_3_21:1.12
	REL7_4_19:1.14
	REL8_0_15:1.17
	REL8_1_11:1.17.6.2
	REL8_2_6:1.20
	REL8_3_RC1:1.27
	REL8_3_BETA4:1.24
	REL8_3_BETA3:1.24
	REL8_3_BETA2:1.21
	REL8_3_BETA1:1.21
	REL7_3_20:1.12
	REL7_4_18:1.14
	REL8_0_14:1.17
	REL8_1_10:1.17.6.2
	REL8_2_5:1.20
	REL7_3_19:1.12
	REL7_4_17:1.14
	REL8_0_13:1.17
	REL8_1_9:1.17.6.2
	REL8_2_4:1.20
	REL8_0_12:1.17
	REL8_1_8:1.17.6.2
	REL8_2_3:1.20
	REL7_3_18:1.12
	REL7_4_16:1.14
	REL8_0_11:1.17
	REL8_1_7:1.17.6.2
	REL8_2_2:1.20
	REL8_0_10:1.17
	REL8_1_6:1.17.6.2
	REL8_2_1:1.20
	REL7_4_15:1.14
	REL7_3_17:1.12
	REL8_2_STABLE:1.20.0.2
	REL8_2_0:1.20
	REL8_2_RC1:1.20
	REL8_2_BETA3:1.20
	REL8_2_BETA2:1.20
	REL8_1_5:1.17.6.2
	REL8_0_9:1.17
	REL7_4_14:1.14
	REL7_3_16:1.12
	REL8_2_BETA1:1.19
	REL7_3_15:1.12
	REL7_4_13:1.14
	REL8_0_8:1.17
	REL8_1_4:1.17.6.2
	REL7_3_14:1.12
	REL7_4_12:1.14
	REL8_0_7:1.17
	REL8_1_3:1.17.6.2
	REL7_3_13:1.12
	REL7_4_11:1.14
	REL8_0_6:1.17
	REL8_1_2:1.17.6.2
	REL7_3_12:1.12
	REL7_4_10:1.14
	REL8_0_5:1.17
	REL8_1_1:1.17.6.2
	REL8_1_STABLE:1.17.0.6
	REL8_1_0:1.17
	REL8_1_0RC1:1.17
	REL8_1_0BETA4:1.17
	REL8_1_0BETA3:1.17
	REL7_3_11:1.12
	REL7_4_9:1.14
	REL8_0_4:1.17
	REL8_1_0BETA2:1.17
	REL8_1_0BETA1:1.17
	REL7_2_8:1.9
	REL7_3_10:1.12
	REL7_4_8:1.14
	REL8_0_3:1.17
	REL8_0_2:1.17
	REL7_2_7:1.9
	REL7_3_9:1.12
	REL7_4_7:1.14
	REL8_0_1:1.17
	REL8_0_STABLE:1.17.0.4
	REL8_0_0:1.17.0.2
	REL8_0_0RC5:1.17
	REL8_0_0RC4:1.17
	REL8_0_0RC3:1.17
	REL8_0_0RC2:1.17
	REL8_0_0RC1:1.17
	REL8_0_0BETA5:1.17
	REL8_0_0BETA4:1.17
	REL7_4_6:1.14
	REL7_3_8:1.12
	REL7_2_6:1.9
	REL8_0_0BETA3:1.17
	REL8_0_0BETA2:1.17
	REL7_2_5:1.9
	REL7_4_5:1.14
	REL7_3_7:1.12
	REL7_4_4:1.14
	REL8_0_0BETA1:1.15
	REL7_4_3:1.14
	REL7_4_2:1.14
	REL7_3_6:1.12
	REL7_4_1:1.14
	REL7_3_5:1.12
	REL7_4:1.14
	REL7_4_RC2:1.14
	REL7_4_STABLE:1.14.0.2
	REL7_4_RC1:1.14
	REL7_4_BETA5:1.14
	REL7_4_BETA4:1.14
	REL7_4_BETA3:1.13
	REL7_4_BETA2:1.13
	WIN32_DEV:1.13.0.2
	REL7_4_BETA1:1.12
	REL7_3_4:1.12
	REL7_3_2:1.12
	REL7_2_4:1.9
	REL7_3_STABLE:1.12.0.2
	REL7_2_3:1.9
	REL7_2_STABLE:1.9.0.2
	REL7_2:1.9
	REL7_2_RC2:1.9
	REL7_2_RC1:1.9
	REL7_2_BETA5:1.9
	REL7_2_BETA4:1.9
	REL7_2_BETA3:1.9
	REL7_2_BETA2:1.8
	REL7_2_BETA1:1.7
	REL7_1_2:1.6
	REL7_1_STABLE:1.6.0.2
	REL7_1_BETA:1.4
	REL7_1_BETA3:1.4
	REL7_1_BETA2:1.4
	REL7_1:1.6
	REL7_0_PATCHES:1.4.0.4
	REL7_0:1.4
	REL6_5_PATCHES:1.4.0.2
	REL6_5:1.4
	REL6_4:1.3.0.2
	release-6-3:1.1;
locks; strict;
comment	@# @;


1.43
date	2010.08.19.05.57.36;	author petere;	state Exp;
branches;
next	1.42;

1.42
date	2010.07.06.19.26.28;	author momjian;	state Exp;
branches;
next	1.41;

1.41
date	2010.07.06.19.18.19;	author momjian;	state Exp;
branches;
next	1.40;

1.40
date	2010.04.01.14.44.39;	author adunstan;	state Exp;
branches;
next	1.39;

1.39
date	2010.02.26.18.00.15;	author momjian;	state Exp;
branches;
next	1.38;

1.38
date	2010.02.26.17.07.55;	author momjian;	state Exp;
branches;
next	1.37;

1.37
date	2010.02.26.15.57.34;	author momjian;	state Exp;
branches;
next	1.36;

1.36
date	2010.02.26.15.42.36;	author momjian;	state Exp;
branches;
next	1.35;

1.35
date	2010.02.26.13.50.34;	author momjian;	state Exp;
branches;
next	1.34;

1.34
date	2010.02.26.02.58.49;	author momjian;	state Exp;
branches;
next	1.33;

1.33
date	2010.02.26.02.11.52;	author momjian;	state Exp;
branches;
next	1.32;

1.32
date	2010.02.26.01.40.15;	author momjian;	state Exp;
branches;
next	1.31;

1.31
date	2009.06.10.01.51.44;	author momjian;	state Exp;
branches;
next	1.30;

1.30
date	2009.06.10.01.47.59;	author momjian;	state Exp;
branches;
next	1.29;

1.29
date	2008.03.21.13.23.29;	author momjian;	state Exp;
branches;
next	1.28;

1.28
date	2008.01.24.06.23.33;	author petere;	state Exp;
branches;
next	1.27;

1.27
date	2007.12.21.14.20.36;	author momjian;	state Exp;
branches;
next	1.26;

1.26
date	2007.12.17.02.02.48;	author momjian;	state Exp;
branches;
next	1.25;

1.25
date	2007.12.17.01.56.43;	author momjian;	state Exp;
branches;
next	1.24;

1.24
date	2007.11.15.22.15.46;	author momjian;	state Exp;
branches;
next	1.23;

1.23
date	2007.11.15.22.12.09;	author momjian;	state Exp;
branches;
next	1.22;

1.22
date	2007.11.15.22.09.07;	author momjian;	state Exp;
branches;
next	1.21;

1.21
date	2007.08.21.16.08.23;	author tgl;	state Exp;
branches;
next	1.20;

1.20
date	2006.10.04.20.42.19;	author momjian;	state Exp;
branches;
next	1.19;

1.19
date	2005.11.15.00.43.01;	author momjian;	state Exp;
branches;
next	1.18;

1.18
date	2005.11.13.02.38.48;	author momjian;	state Exp;
branches;
next	1.17;

1.17
date	2004.08.29.17.31.42;	author momjian;	state Exp;
branches
	1.17.6.1;
next	1.16;

1.16
date	2004.08.29.04.49.45;	author momjian;	state Exp;
branches;
next	1.15;

1.15
date	2004.01.04.00.11.29;	author momjian;	state Exp;
branches;
next	1.14;

1.14
date	2003.09.28.00.22.58;	author momjian;	state Exp;
branches;
next	1.13;

1.13
date	2003.08.07.15.02.43;	author momjian;	state Exp;
branches;
next	1.12;

1.12
date	2002.09.04.19.00.01;	author momjian;	state Exp;
branches;
next	1.11;

1.11
date	2002.09.04.18.45.52;	author momjian;	state Exp;
branches;
next	1.10;

1.10
date	2002.06.15.19.13.04;	author momjian;	state Exp;
branches;
next	1.9;

1.9
date	2001.11.19.22.36.11;	author momjian;	state Exp;
branches;
next	1.8;

1.8
date	2001.11.03.12.34.15;	author momjian;	state Exp;
branches;
next	1.7;

1.7
date	2001.09.07.21.25.44;	author momjian;	state Exp;
branches;
next	1.6;

1.6
date	2001.02.11.05.58.41;	author momjian;	state Exp;
branches;
next	1.5;

1.5
date	2001.02.10.07.01.19;	author momjian;	state Exp;
branches;
next	1.4;

1.4
date	99.05.25.16.15.28;	author momjian;	state Exp;
branches;
next	1.3;

1.3
date	98.09.11.16.56.24;	author momjian;	state Exp;
branches;
next	1.2;

1.2
date	98.03.28.02.24.49;	author momjian;	state Exp;
branches;
next	1.1;

1.1
date	97.09.13.16.27.02;	author scrappy;	state Exp;
branches;
next	;

1.17.6.1
date	2005.11.13.02.42.24;	author momjian;	state Exp;
branches;
next	1.17.6.2;

1.17.6.2
date	2005.11.15.01.02.13;	author momjian;	state Exp;
branches;
next	;


desc
@@


1.43
log
@Remove extra newlines at end and beginning of files, add missing newlines
at end of files.
@
text
@$PostgreSQL: pgsql/src/tools/pgindent/README,v 1.42 2010/07/06 19:26:28 momjian Exp $

pgindent
========

This can format all PostgreSQL *.c and *.h files, but excludes *.y, and
*.l files. 

1) Change directory to the top of the build tree.

2) Download the typedef file from the buildfarm:

	wget -O src/tools/pgindent/typedefs.list http://www.pgbuildfarm.org/cgi-bin/typedefs.pl

3) Remove all derived files (pgindent has trouble with one of the flex macros):

	gmake maintainer-clean

4) Run pgindent:

	find . -name '*.[ch]' -type f -print | \
	egrep -v -f src/tools/pgindent/exclude_file_patterns | \
	xargs -n100 pgindent src/tools/pgindent/typedefs.list

5) Remove any files that generate errors and restore their original
   versions, e.g. ./src/backend/tsearch/wparser_def.c has problems
   because of a DECIMAL listed as a typedef.

6) Do a full test build:

	run configure
	gmake -C src install
	gmake -C contrib install
	gmake installcheck-world


---------------------------------------------------------------------------

We have standardized on NetBSD's indent.  We have fixed a few bugs which 
requre the NetBSD source to be patched with indent.bsd.patch patch.  A 
fully patched version is available at ftp://ftp.postgresql.org/pub/dev.

GNU indent, version 2.2.6, has several problems, and is not recommended.
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/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.

src/interfaces/ecpg/test/expected/ is excluded to avoid breaking the ecpg
regression tests.  Several *.h files are included in regression output so
should not be changed.

---------------------------------------------------------------------------

Obsolete typedef list creation instructions:
--------------------------------------------

To use pgindent:

1) Build the source tree with _debug_ symbols and all possible configure options

2) Install to /usr/local/pgsql

3) Install all contrib modules

4) Save a list of typedefs by running:

	src/tools/find_typedef /usr/local/pgsql/bin /usr/local/pgsql/lib > /tmp/pgtypedefs
@


1.42
log
@Mention why one C file fails pgindent.
@
text
@d1 1
a1 1
$PostgreSQL: pgsql/src/tools/pgindent/README,v 1.41 2010/07/06 19:18:19 momjian Exp $
a77 1

@


1.41
log
@Update pgindent testing instructions.
@
text
@d1 1
a1 1
$PostgreSQL: pgsql/src/tools/pgindent/README,v 1.40 2010/04/01 14:44:39 adunstan Exp $
d25 3
a27 1
5) Remove any files that generate errors and restore their original versions.
@


1.40
log
@Use a file of patterns of filenames to exclude from pgindent runs, instead if using multiple invocations of egrep. Add perl ppport.h to the current list.
@
text
@d1 1
a1 1
$PostgreSQL: pgsql/src/tools/pgindent/README,v 1.39 2010/02/26 18:00:15 momjian Exp $
d25 1
a25 1
5) Remove any files that generate errors.
d29 3
@


1.39
log
@Suggest gmake installcheck-world for pgindent testing.
@
text
@d1 1
a1 1
$PostgreSQL: pgsql/src/tools/pgindent/README,v 1.38 2010/02/26 17:07:55 momjian Exp $
d11 1
a11 1
2) Download the typedef file from the builfarm:
d21 2
a22 4
	find . -name '*.[ch]' -type f -print |
	egrep -v '/s_lock.h|/ecpg/test/expected/|/snowball/libstemmer/' |
	egrep -v '/ecpg/include/(sqlda|sqltypes)\.h$' |
	egrep -v '/ecpg/include/preproc/struct\.h$' |
@


1.38
log
@Revert pgindent changes to ecpg include files that are part of ecpg
regession test output, and update pgindent script to avoid them in the
future.
@
text
@d1 1
a1 1
$PostgreSQL: pgsql/src/tools/pgindent/README,v 1.37 2010/02/26 15:57:34 momjian Exp $
d29 3
a31 1
6) Do a full test build.
@


1.37
log
@Wording improvements to README.
@
text
@d1 1
a1 1
$PostgreSQL: pgsql/src/tools/pgindent/README,v 1.36 2010/02/26 15:42:36 momjian Exp $
d23 2
a48 3
src/interfaces/ecpg/test/expected/ is excluded to avoid breaking the ecpg
regression tests.

d53 4
@


1.36
log
@Update pgindent docs to use maintainer-clean.
@
text
@d1 1
a1 1
$PostgreSQL: pgsql/src/tools/pgindent/README,v 1.35 2010/02/26 13:50:34 momjian Exp $
d15 1
a15 2
3) Clean out all derived files (pgindent has trouble with one of the
   flex macros):
d34 1
a34 1
fully patched  version is available at ftp://ftp.postgresql.org/pub/dev.
a53 2
YY_INPUT

@


1.35
log
@Document why pgindent wants a fresh CVS checkout.
@
text
@d1 1
a1 1
$PostgreSQL: pgsql/src/tools/pgindent/README,v 1.34 2010/02/26 02:58:49 momjian Exp $
d11 1
a11 1
1) Download the typedef file from the builfarm:
d15 2
a16 3
2) Download a fresh CVS checkout.  This will guarantee you do not have any
   derived bison or flex C files.  (pgindent has trouble with one of the
   flex macros.)
d18 3
a20 1
3) Run pgindent:
d26 1
a26 1
4) Remove any files that generate errors.
d28 1
a28 1
5) Do a full test build.
@


1.34
log
@Call output file typedefs.list;  update README.
@
text
@d1 1
a1 1
$PostgreSQL: pgsql/src/tools/pgindent/README,v 1.33 2010/02/26 02:11:52 momjian Exp $
d9 1
a9 1
1) Change directory to the top of the CVS tree.
d15 3
a17 1
2) Download a fresh CVS checkout.
@


1.33
log
@Update pgindent instructions.
@
text
@d1 1
a1 1
$PostgreSQL: pgsql/src/tools/pgindent/README,v 1.32 2010/02/26 01:40:15 momjian Exp $
d9 2
d13 1
a13 1
	http://www.pgbuildfarm.org/cgi-bin/typedefs.pl
d15 1
a15 1
2) Download a fresh CVS checkout
d17 1
a17 1
3) From the top of the source tree, run:
d21 1
a21 1
	xargs -n100 pgindent /tmp/typedefs.pl
@


1.32
log
@Update pgindent instructions to avoid changes to flex output files.
@
text
@d1 1
a1 1
$PostgreSQL: pgsql/src/tools/pgindent/README,v 1.31 2009/06/10 01:51:44 momjian Exp $
d7 3
a9 1
*.l files.  For source code typedefs, download:
d13 1
a13 2
1) Run 'gmake distclean' from the top of the source tree to remove any
   derived C files.
d15 1
a15 1
2) From the top of the source tree, run:
d21 1
a21 2
3) pgindent cannot process the YY_INPUT macro generated by flex, so remove
   the generate C files so they are rebuilt:
d23 1
a23 1
	rm -f $(find . -type f -name '*.l' -print | sed 's/l$/c/')
@


1.31
log
@Update pgindent instructions.
@
text
@d1 1
a1 1
$PostgreSQL: pgsql/src/tools/pgindent/README,v 1.30 2009/06/10 01:47:59 momjian Exp $
d20 5
d50 2
@


1.30
log
@Document new location for typedef list.
@
text
@d1 1
a1 1
$PostgreSQL: pgsql/src/tools/pgindent/README,v 1.29 2008/03/21 13:23:29 momjian Exp $
d11 1
a11 18
---------------------------------------------------------------------------

Obsolete typedef list creation instructions:
--------------------------------------------

To use pgindent:

1) Build the source tree with _debug_ symbols and all possible configure options

2) Install to /usr/local/pgsql

3) Install all contrib modules

4) Save a list of typedefs by running:

	src/tools/find_typedef /usr/local/pgsql/bin /usr/local/pgsql/lib > /tmp/pgtypedefs

5) Run 'gmake distclean' from the top of the source tree to remove any
d14 1
a14 1
6) From the top of the source tree, run:
d18 2
a19 1
	xargs -n100 pgindent /tmp/pgtypedefs
d44 18
@


1.29
log
@More README src cleanups.
@
text
@d1 1
a1 1
$PostgreSQL: pgsql/src/backend/access/gin/README,v 1.5 2008/03/20 17:55:14 momjian Exp $
d6 9
a14 2
This can format all PostgreSQL *.c and *.h files, but excludes *.y, and *.l
files.
@


1.28
log
@Change /contrib to contrib for consistency.
@
text
@d1 5
@


1.27
log
@Modify pgindent to use an external typedefs file rather than included
list.

Remove pgjindent.
@
text
@d10 1
a10 1
3) Install all /contrib modules
@


1.26
log
@Mention use all configure options when getting pgindent typedefs.
@
text
@d10 1
a10 1
3) Install all /contrib libraries
d12 1
a12 1
4) Get the list of _current_ typedefs by running:
d14 1
a14 1
	src/tools/find_typedef /usr/local/pgsql/bin /usr/local/pgsql/lib
d16 1
a16 3
5) Add the typedef output to the pgindent script.

6) Run 'gmake distclean' from the top of the source tree to remove any
d19 1
a19 1
7) From the top of the source tree, run:
d23 1
a23 1
	xargs -n100 pgindent
@


1.25
log
@Mention installing /contrib libraries for pgindent.
@
text
@d6 1
a6 1
1) Build the source tree with _debug_ symbols and install
d8 1
a8 1
2) Install all /contrib libraries
d10 3
a12 1
3) Get the list of _current_ typedefs by running:
d16 1
a16 1
4) Add the typedef output to the pgindent script.
d18 1
a18 1
5) Run 'gmake distclean' from the top of the source tree to remove any
d21 1
a21 1
6) From the top of the source tree, run:
@


1.24
log
@Beef up README instructions, again.
@
text
@d8 3
a10 1
2) Get the list of _current_ typedefs by running:
d14 1
a14 1
3) Add the typedef output to the pgindent script.
d16 1
a16 1
4) Run 'gmake distclean' from the top of the source tree to remove any
d19 1
a19 1
5) From the top of the source tree, run:
@


1.23
log
@CUpdate README to suggest 'gmake distclean'.  Add library typedefs.
@
text
@d4 5
a8 2
1) Get the list of _current_ typedefs to be included in pgindent by
running this on the pgsql/bin and pgsql/lib directories:
d12 1
a12 2
and update the list in pgindent.  This requires the binaries have
_debug_  symbols.
d14 1
a14 1
2) Run 'gmake distclean' from the top of the source tree to remove any
d17 1
a17 1
3) From the top directory, run:
@


1.22
log
@Update pgtools README to be clearer about typdefs.
@
text
@d12 4
a15 1
2) From the top directory, run:
@


1.21
log
@Exclude snowball/libstemmer/ files from the set processed by pgindent.
There's not much point in prettifying machine-generated code, and it
seems best to keep these files exactly like upstream anyway.  Also add
some notes about why various files are excluded.
@
text
@d4 1
a4 1
To use it, first get the list of typedef's to be included in pgindent by
d9 2
a10 2
and update the list in pgindent.  This requires the binaries have debug 
symbols.
d12 1
a12 1
From the top directory, run:
d18 2
@


1.20
log
@Exclude pgindent from affecting the ecpg regression directory.
@
text
@d15 1
a15 1
	egrep -v '/s_lock.h|src/interfaces/ecpg/test/expected/' |
d27 12
@


1.19
log
@Fix recent problems with BSD indent, including indenting past 80
columns, shifting comment to the right when more than 150 'else if'
clauses were used, and update typedefs for 8.1.X.

NetBSD patched updated, with documentation.
@
text
@d14 3
a16 1
  find . -name '*.[ch]' -type f -print | grep -v 's_lock.h' | xargs -n100 pgindent
@


1.18
log
@Revert pgindent length back to 79 because we are going to fix the BSD
indent bug.
@
text
@d4 2
a5 2
Get the list of typedef's included in pgindent by running this on the
pgsql/bin and pgsql/lib directories:
d7 1
a7 1
	/src/tools/find_typedef /usr/local/pgsql/bin /usr/local/pgsql/lib
d16 3
a18 11
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.  You can get a patched BSD indent from ftp://ftp.postgresql.org/pub/dev.
d21 1
a21 1
These bugs become pretty major when you are doing >400k lines of code.
@


1.17
log
@Update typedefs with /lib info.
@
text
@d7 1
a7 1
	/src/tools/find_typedef
@


1.17.6.1
log
@Revert pgindent length back to 79 because we are going to fix the BSD
indent bug.
@
text
@d7 1
a7 1
	/src/tools/find_typedef /usr/local/pgsql/bin /usr/local/pgsql/lib
@


1.17.6.2
log
@Fix recent problems with BSD indent, including indenting past 80
columns, shifting comment to the right when more than 150 'else if'
clauses were used, and update typedefs for 8.1.X.

NetBSD patched updated, with documentation.
@
text
@d4 2
a5 2
To use it, first get the list of typedef's to be included in pgindent by
running this on the pgsql/bin and pgsql/lib directories:
d7 1
a7 1
	src/tools/find_typedef /usr/local/pgsql/bin /usr/local/pgsql/lib
d16 11
a26 3
We have standardized on NetBSD's indent.  We have fixed a few bugs which 
requre the NetBSD source to be patched with indent.bsd.patch patch.  A 
fully patched  version is available at ftp://ftp.postgresql.org/pub/dev.
d29 1
a29 1
These bugs become pretty major when you are doing >500k lines of code.
@


1.16
log
@Update with new typedefs.  Remove java and c++ parts of readme.
@
text
@d14 1
a14 1
  find . -name '*.[ch]' -type f -print | egrep -v '\+\+|s_lock.h' | xargs -n100 pgindent
@


1.15
log
@Mention grabbing typedefs from pgsql/lib too.
@
text
@a32 18


---------------------------------------------------------------------------

For java, we use astyle, http://astyle.sourceforge.net/, with the
following options:

	find . \( -name '*.java' -o -name '*.java.in' \) -print |
		xargs -n100 pgjindent

---------------------------------------------------------------------------

For cpp, we use astyle, http://astyle.sourceforge.net/, with the
following options:

	find src/interfaces/libpq++ -name '*.[ch]' -print |
		xargs -n100 pgcppindent

@


1.14
log
@Allow pgindent to work with newer BSD indents.
@
text
@d5 1
a5 1
pgsql/bin directory:
@


1.13
log
@Update pgindent readme.
@
text
@d26 1
a26 1
output.
@


1.12
log
@Update for 7.3 typedefs.
@
text
@d1 2
a2 2
This can format all PostgreSQL *.c and *.h files, excluding libpq++,
*.y, and *.l files.
d4 1
a4 1
Get the list of typedef's included in pgindent by running this on the 
d9 2
a10 1
and update the list in pgindent.  This requires debug symbols.
d16 1
a16 1
The stock BSD indent has two bugs.  First, a comment after the word 'else' 
d42 1
@


1.11
log
@Update to reflect Tom's suggestions.
@
text
@d9 1
a9 1
and update the list in pgindent.
@


1.10
log
@Add C++ indent tool.
@
text
@d4 8
a11 1
On 09/06/1997, from the top directory, I ran:
a32 6
We get the list of typedef's included in pgindent by running:

	/src/tools/find_typedef

Make sure to do the pgsql/bin directory, and the src/interfaces/odbc
directory.  Merge the output of these and remove duplicates.
@


1.9
log
@Update pgindent README so it gets *.java.in files.
@
text
@d40 8
@


1.8
log
@More updates for GNU indent.
@
text
@d38 2
a39 1
	find . -name '*.java' -type f -print | xargs -n100 pgjindent
@


1.7
log
@Create pgjindent for java.
@
text
@d20 2
a21 2
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.
@


1.6
log
@Source alignment cleanups.
@
text
@d33 6
@


1.5
log
@Run pgindent over ODBC source.  We couldn't do this years ago because we
weren't the master source.  We are now, and it really needs it.
@
text
@d30 3
@


1.4
log
@pgindent run over code.
@
text
@d6 1
a6 1
  find . -name '*.[ch]' -type f -print | egrep -v '\+\+|/odbc/|s_lock.h' | xargs -n100 pgindent
@


1.3
log
@The attached patches fix the following problems:

1.  The UnixWare tas macro was reformatted (by indent or it like?) which caused
    it to break.  The asm macro construct is very particular about the %mem
    construct -- it has to start in column 1.

2.  When compiling libpq++, g++ was used even if configure found the C++ com-
    piler to be CC.

3.  When compiling libpq++, '-Wno-error' was added to CXXFLAGS, even if the
    compiler wasn't g++.

Billy G. Allie
@
text
@d6 1
a6 1
  find . -name '*.[ch]' -type f -print | egrep -v '++|/odbc/|s_lock.h' | xargs -n100 pgindent
@


1.2
log
@Prevent pgindent from being run on odbc in the future.
@
text
@d6 1
a6 1
  find . -name '*.[ch]' -type f -print | grep -v '++' | grep -v '/odbc/' | xargs -n100 pgindent
@


1.1
log
@Let's hope this fixes the "bug" that was introduced
@
text
@d6 1
a6 1
  find . -name '*.[ch]' -type f -print | grep -v '++' | xargs -n100 pgindent
@
