postgres.git / summary / log / commit / refs
commit b518ba4affed8d3a47944d769d33b7814d88ddb2
Author: Tom Lane <tgl@sss.pgh.pa.us>
Date: Wed May 13 14:17:57 2026 +0000
Make pg_bsd_indent add a space between comma and period.
Formatting of variadic functions and struct literals with named fields
used to be ugly due to pg_bsd_indent treating period as always being a
binary operator. After a comma, it's not that, so insert a space.
Bump pg_bsd_indent's version so that people who use out-of-tree
copies will know they need to update. (This also covers the other
pg_bsd_indent behavioral change introduced in a3e6beba6.)
Author: Andreas Karlsson <andreas@proxel.se>
Reviewed-by: Tom Lane <tgl@sss.pgh.pa.us>
Discussion: https://postgr.es/m/c3327be8-09e2-46a1-88b4-228a339d6916@proxel.se
src/tools/pg_bsd_indent/args.c | 2 +-
src/tools/pg_bsd_indent/indent.c | 2 ++
src/tools/pg_bsd_indent/tests/declarations.0.stdout | 2 +-
src/tools/pg_bsd_indent/tests/struct.0 | 2 ++
src/tools/pg_bsd_indent/tests/struct.0.stdout | 2 ++
src/tools/pgindent/pgindent | 2 +-
6 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/src/tools/pg_bsd_indent/args.c b/src/tools/pg_bsd_indent/args.c
index 5fa7e6b038c..763a03a23b5 100644
--- a/src/tools/pg_bsd_indent/args.c
+++ b/src/tools/pg_bsd_indent/args.c
@@ -51,7 +51,7 @@ static char sccsid[] = "@(#)args.c 8.1 (Berkeley) 6/6/93";
#include "indent_globs.h"
#include "indent.h"
-#define INDENT_VERSION "2.1.2"
+#define INDENT_VERSION "2.1.3"
/* profile types */
#define PRO_SPECIAL 1 /* special case */
diff --git a/src/tools/pg_bsd_indent/indent.c b/src/tools/pg_bsd_indent/indent.c
index 736f350f145..1a29409173b 100644
--- a/src/tools/pg_bsd_indent/indent.c
+++ b/src/tools/pg_bsd_indent/indent.c
@@ -1013,6 +1013,8 @@ check_type:
case period: /* treat a period kind of like a binary
* operation */
+ if (ps.want_blank && ps.last_token == comma)
+ *e_code++ = ' ';
*e_code++ = '.'; /* move the period into line */
ps.want_blank = false; /* don't put a blank after a period */
break;
diff --git a/src/tools/pg_bsd_indent/tests/declarations.0.stdout b/src/tools/pg_bsd_indent/tests/declarations.0.stdout
index ab5a447a8bc..baa6bb55c78 100644
--- a/src/tools/pg_bsd_indent/tests/declarations.0.stdout
+++ b/src/tools/pg_bsd_indent/tests/declarations.0.stdout
@@ -54,7 +54,7 @@ int_create(void)
static
_attribute_printf(1, 2)
void
-print_error(const char *fmt,...)
+print_error(const char *fmt, ...)
{
}
diff --git a/src/tools/pg_bsd_indent/tests/struct.0 b/src/tools/pg_bsd_indent/tests/struct.0
index 83142bfb197..6f65e461331 100644
--- a/src/tools/pg_bsd_indent/tests/struct.0
+++ b/src/tools/pg_bsd_indent/tests/struct.0
@@ -19,3 +19,5 @@ void u(struct x a) {
int b;
struct y c = (struct y *)&a;
}
+
+static struct foo f = { .a = 1,.b=2 };
diff --git a/src/tools/pg_bsd_indent/tests/struct.0.stdout b/src/tools/pg_bsd_indent/tests/struct.0.stdout
index 38613128654..69e321ca05f 100644
--- a/src/tools/pg_bsd_indent/tests/struct.0.stdout
+++ b/src/tools/pg_bsd_indent/tests/struct.0.stdout
@@ -21,3 +21,5 @@ u(struct x a)
int b;
struct y c = (struct y *)&a;
}
+
+static struct foo f = {.a = 1, .b = 2};
diff --git a/src/tools/pgindent/pgindent b/src/tools/pgindent/pgindent
index b2ec5e2914b..d035b53699b 100755
--- a/src/tools/pgindent/pgindent
+++ b/src/tools/pgindent/pgindent
@@ -35,7 +35,7 @@ my $bak_to_cleanup;
END { unlink $bak_to_cleanup if defined $bak_to_cleanup; }
# Update for pg_bsd_indent version
-my $INDENT_VERSION = "2.1.2";
+my $INDENT_VERSION = "2.1.3";
# Our standard indent settings
my $indent_opts =
[parent: a3e6beba60ec]