Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1vIOCG-006zSd-Q9 for pgsql-hackers@arkaria.postgresql.org; Mon, 10 Nov 2025 09:28:24 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.94.2) (envelope-from ) id 1vIOCF-00FXju-H1 for pgsql-hackers@arkaria.postgresql.org; Mon, 10 Nov 2025 09:28:23 +0000 Received: from magus.postgresql.org ([2a02:c0:301:0:ffff::29]) by malur.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1vIOCF-00FXjl-5k for pgsql-hackers@lists.postgresql.org; Mon, 10 Nov 2025 09:28:23 +0000 Received: from mail-oo1-xc34.google.com ([2607:f8b0:4864:20::c34]) by magus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.96) (envelope-from ) id 1vIOCC-006xF6-1L for pgsql-hackers@lists.postgresql.org; Mon, 10 Nov 2025 09:28:22 +0000 Received: by mail-oo1-xc34.google.com with SMTP id 006d021491bc7-65363319bacso1264932eaf.2 for ; Mon, 10 Nov 2025 01:28:19 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=tigerdata.com; s=google; t=1762766898; x=1763371698; darn=lists.postgresql.org; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=jBjIGnJV+ry7nNDLZZ40jDR1RzqDymHEHipK/ktOYW8=; b=WGFc2AyNXee9bRmcYPosG4s8H30C36lgRbvKS4BMmewyPNXm4MjClEW1e/HJx/AoXH 5r5uJsgDYX4W0qwQ+tp6K510Oa1XnuurO8vRW1CYRdiYkTDALru73htZFLLMSIVGZgyI J5f5wiodEndzVJkAkYC034PWPL8aZ1G6Sj0X/PO2qkZ3TzcWJ9YwgxR6176KjAhDZfpl k1BE7G9r92uazmPtN1mv2M+U/6h7f6u0ii8giV9dZRZenkn0REvEnABGpJblE+KsfBJw AC/0gHJj+nMPxpPflBjTATddjkMQryNDNgG7nyGm5gmahU6GpRjBTfD8JHMQcXjMFUgD kV8A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1762766898; x=1763371698; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-gg:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=jBjIGnJV+ry7nNDLZZ40jDR1RzqDymHEHipK/ktOYW8=; b=ltSffqZBx1awiX3xGlyTr/XFPeXNzE/EIsTuKKeNY2kPLnLTKquTQzKvezNDK12b7o ryBQz2+f1qsztMKLJvMl5x9mer38vFjij2XFlr3ZZwqQOaHrshRc82uKFPB6Zk9ZMmIS V/oWU5vDl06PqCFky08YFVHY3iqjgDHbmSwElGnGPrF2Yq1EgKMXQjlphijMnOQn74gx HpGqyqkEQZMhL07EfW3CCCmWNvEOV8dDpVsrRK60IYEeXHf9cqwVZclHaJ8+AqHozqe9 Vl4UMkfi38kFJv7dbLkSy+42VpAe+UbGhSeyFYGrRHExcCDZah8Z4qdo8jZ4/ETsUKbb Lw7Q== X-Gm-Message-State: AOJu0YxVWohmZ77KsWU89FZ7PJ5UX4IUEP1Lcwcp2SyI0ClIOK+o0/CE cLRTOcEJrworVuQoZOtJdu1n968qwQmgztIt+sJqofo/horNmwcuka6noUnlNg1g4WJQ+1vDchK YLbjIS9bp8MpKXqqqlN/beWgMT27F5UhQqz+iC7c9EWOQvRQMtW9rCxRG5Q== X-Gm-Gg: ASbGncsuxszHPJInJRtQaF99ADQBJDpL3Rl/Xd9WUKmuuba3ZQC7eHyWnzOVns5f2f5 idQvNOVojGYeJ9WJuyPLN7U+R0Ns7Mr8dNUv34R6AK+KXXcgt+XYAltcQwO0ESwa58kd+1lBQi3 feabeN/8ds3AbpCt/RjkjYbxbM9bg1WW9ZCwZs+pWM6ezSJIelOT5MN2C/BGrh4g7L6hZv/BgE4 QY3KiGgh+2brUZnxuGlYxSCg4l5FTbVnk6SSlHoEANhF9khXz0eV5UCQCkHfFZJdxXm98T7 X-Google-Smtp-Source: AGHT+IF96Z8X6sU+cpA/bJUce0RXiF5Pdv3yCj5j4km7X12muxdfzlHvt/DH2kL+Mb5yngUylddezHeLvBAOUpl1niU= X-Received: by 2002:a05:6870:d0c4:b0:3d3:52b1:d731 with SMTP id 586e51a60fabf-3e7c27bd827mr3993612fac.31.1762766897939; Mon, 10 Nov 2025 01:28:17 -0800 (PST) MIME-Version: 1.0 References: <9AD706B0-B73A-4DCC-9A71-F924D8B74F4B@gmail.com> In-Reply-To: <9AD706B0-B73A-4DCC-9A71-F924D8B74F4B@gmail.com> From: Aleksander Alekseev Date: Mon, 10 Nov 2025 12:28:06 +0300 X-Gm-Features: AWmQ_bl0mXqdDuKuvFqDinVynA-Lta6irUeL8iI_Z867zW6z94Tc15dHqR6KlBY Message-ID: Subject: Re: [PATCH] pg_bsd_indent: improve formatting of multiline comments To: PostgreSQL Hackers Cc: Chao Li , Nathan Bossart , Arseniy Mukhin , Bruce Momjian , Michael Paquier Content-Type: multipart/mixed; boundary="000000000000c6387506433a26b4" List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --000000000000c6387506433a26b4 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Hi, > I am afraid that would generate a lot of noises for future reviews. > > 2. A typo in the patch > > ``` > + # Check each line except for the fist and the last one > ``` Thanks, fixed. > 3. As you are updating pgindent, I want to report an issue, you may addre= ss in a separate patch or just in this patch, up to you. > > See this code: > ``` > else > /* > * fetch all the rest of the page > */ > copysize =3D QUEUE_PAGESIZE - curoffset; > ``` > > In the =E2=80=9Celse=E2=80=9D clause, there is a multiple-line comment bl= ock, and a single line of code. Pgindent will add an empty line between =E2= =80=9Celse=E2=80=9D and the comment block, which is weird. If the comment i= s one-line, then no empty line will be inserted. I didn't manage to find this code. The closest thing I see is in src/backend/commands/async.c: ``` else { /* fetch all the rest of the page */ copysize =3D QUEUE_PAGESIZE - curoffset; } ``` Last time it was touched 15 years ago and pgindent processes it as expected= . > 1. I just ran the patched pgindent against a random file, then I got a lo= t diffs like: > > ``` > /* > - * Direct advancement: avoid waking non-caught up backends that > - * aren't interested in our notifications. > + * Direct advancement: avoid waking non-caught up backends that a= ren't > + * interested in our notifications. > */ > ``` I'm not sure if this is part of the PostgreSQL code base either. My best guess is that something is wrong with whitespaces here (tabs vs spaces). We have plenty of multiline comments like this and from what I can tell they are processed correctly. --=20 Best regards, Aleksander Alekseev --000000000000c6387506433a26b4 Content-Type: text/x-patch; charset="US-ASCII"; name="v6-0001-pgindent-improve-formatting-of-multiline-comments.patch" Content-Disposition: attachment; filename="v6-0001-pgindent-improve-formatting-of-multiline-comments.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_mhsxv0v20 RnJvbSBhZDkxZmRhOGE3NDA2ZjlmZDVkYmJmZTVhODk1YTgxMTIzMGUyZWVjIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBBbGVrc2FuZGVyIEFsZWtzZWV2IDxhbGVrc2FuZGVyQHRpbWVz Y2FsZS5jb20+CkRhdGU6IEZyaSwgMjAgSnVuIDIwMjUgMTY6MzE6MzYgKzAzMDAKU3ViamVjdDog W1BBVENIIHY2XSBwZ2luZGVudDogaW1wcm92ZSBmb3JtYXR0aW5nIG9mIG11bHRpbGluZSBjb21t ZW50cwoKRm9ybWF0IG11bHRpbGluZSBjb21tZW50cyBsaWtlIHRoaXM6CgovKiBsaW5lIDEKICog bGluZSAyCiAqLwoKLi4uIGludG86CgovKgogKiBsaW5lIDEKICogbGluZSAyCiAqLwoKVGhpcyBp cyBtb3JlIGNvbnNpc3RlbnQgd2l0aCB3aGF0IHdlIGN1cnJlbnRseSBoYXZlIGluIHRoZSB0cmVl LgoKQXV0aG9yOiBBbGVrc2FuZGVyIEFsZWtzZWV2IDxhbGVrc2FuZGVyQHRpZ2VyZGF0YS5jb20+ ClJlcG9ydGVkLWJ5OiBNaWNoYWVsIFBhcXVpZXIgPG1pY2hhZWxAcGFxdWllci54eXo+ClJldmll d2VkLWJ5OiBBcnNlbml5IE11a2hpbiA8YXJzZW5peS5tdWtoaW4uZGV2QGdtYWlsLmNvbT4KUmV2 aWV3ZWQtYnk6IE5hdGhhbiBCb3NzYXJ0IDxuYXRoYW5kYm9zc2FydEBnbWFpbC5jb20+CkRpc2N1 c3Npb246IGh0dHBzOi8vcG9zdGdyLmVzL20vQ0FKN2M2VFBRMGtrSFFHLUFxZUFKM1BWX1l0bUR6 Y2M3cyUyQl9WNCUzRHQlMkJ4Z1NuWm0xY0Z3JTQwbWFpbC5nbWFpbC5jb20KLS0tCiBzcmMvdG9v bHMvcGdpbmRlbnQvcGdpbmRlbnQgfCAzNiArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysKIDEgZmlsZSBjaGFuZ2VkLCAzNiBpbnNlcnRpb25zKCspCgpkaWZmIC0tZ2l0IGEvc3Jj L3Rvb2xzL3BnaW5kZW50L3BnaW5kZW50IGIvc3JjL3Rvb2xzL3BnaW5kZW50L3BnaW5kZW50Cmlu ZGV4IGI3ZDcxODA4OTI0Li40ZGIxMmNiMWQ5MiAxMDA3NTUKLS0tIGEvc3JjL3Rvb2xzL3BnaW5k ZW50L3BnaW5kZW50CisrKyBiL3NyYy90b29scy9wZ2luZGVudC9wZ2luZGVudApAQCAtMjgxLDYg KzI4MSw5IEBAIHN1YiBwb3N0X2luZGVudAogCSMgRml4IHJ1bi10b2dldGhlciBjb21tZW50cyB0 byBoYXZlIGEgdGFiIGJldHdlZW4gdGhlbQogCSRzb3VyY2UgPX4gcyFcKi8oL1wqLipcKi8pJCEq L1x0JDEhZ207CiAKKwkjIFBvc3Rwcm9jZXNzIG11bHRpbGluZSBjb21tZW50cyBleGNlcHQgZm9y IC8qKi4uLiBhbmQgLyotLi4uIG9uZXMKKwkkc291cmNlID1+IHMhXigvXCpbXlwqXC1dLio/XCov KSFwb3N0cHJvY2Vzc19tdWx0aWxpbmVfY29tbWVudCgkMSkhbWdzZTsKKwogCSMjIEZ1bmN0aW9u cwogCiAJIyBVc2UgYSBzaW5nbGUgc3BhY2UgYmVmb3JlICcqJyBpbiBmdW5jdGlvbiByZXR1cm4g dHlwZXMKQEAgLTI4OSw2ICsyOTIsMzkgQEAgc3ViIHBvc3RfaW5kZW50CiAJcmV0dXJuICRzb3Vy Y2U7CiB9CiAKK3N1YiBwb3N0cHJvY2Vzc19tdWx0aWxpbmVfY29tbWVudAoreworICAgIG15ICRz b3VyY2UgPSBzaGlmdDsKKyAgICBteSBAbGluZXMgPSBzcGxpdCAiXG4iLCAkc291cmNlOworCisg ICAgIyBPbmx5IGZvcm1hdCBjb21tZW50cyB0aGF0IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQs CisgICAgIyBvciBhdCBsZWFzdCB0aGF0IGNvdWxkIGhhdmUgYmVlbiB0aGUgYXV0aG9yJ3MgaW50 ZW50LgorICAgIGlmICgoJGxpbmVzWzBdIG5lICIvKiIgJiYgJGxpbmVzWy0xXSBuZSAiICovIikg b3IgKCRsaW5lc1sxXSAhfiBtIV4gXCohKSkKKyAgICB7CisgICAgICAgIHJldHVybiAkc291cmNl OworICAgIH0KKworICAgICMgQ2hlY2sgZWFjaCBsaW5lIGV4Y2VwdCBmb3IgdGhlIGZpcnN0IGFu ZCB0aGUgbGFzdCBvbmUKKyAgICBmb3IgbXkgJGkgKCAxIC4uIHNjYWxhciBAbGluZXMgLSAyICkK KyAgICB7CisgICAgICAgICRsaW5lc1skaV0gPSAiICoiLiRsaW5lc1skaV0gaWYgJGxpbmVzWyRp XSAhfiAvXiBcKi87CisgICAgfQorCisgICAgIyBLZWVwIC8qID09PSBhbmQgLyogLS0tIGxpbmVz IGFzIGlzCisgICAgaWYgKCRsaW5lc1swXSAhfiBtIV4vXCogWz0tXSshKSB7CisgICAgICAgICRs aW5lc1swXSA9fiBzIS9cKiguKykhL1wqXG4gKiQxITsKKyAgICB9CisKKyAgICAjIEtlZXAgPT09 ICovIGFuZCAtLS0gKi8gbGluZXMgYXMgaXMKKyAgICBpZiAoJGxpbmVzWy0xXSAhfiBtIVs9LV0r IFwqLyQhKSB7CisgICAgICAgICRsaW5lc1stMV0gPX4gcyEoLispIFwqLyEkMVxuIFwqLyE7Cisg ICAgfQorCisgICAgJHNvdXJjZSA9IGpvaW4gIlxuIiwgQGxpbmVzOworCisgICAgcmV0dXJuICRz b3VyY2U7Cit9CisKIHN1YiBydW5faW5kZW50CiB7CiAJbXkgJHNvdXJjZSA9IHNoaWZ0OwotLSAK Mi40My4wCgo= --000000000000c6387506433a26b4--