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.96) (envelope-from ) id 1w6CXn-0043LH-2X for pgsql-hackers@arkaria.postgresql.org; Fri, 27 Mar 2026 19:08:32 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.96) (envelope-from ) id 1w6CXm-00BaoV-0n for pgsql-hackers@arkaria.postgresql.org; Fri, 27 Mar 2026 19:08:30 +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.96) (envelope-from ) id 1w6CXl-00BaoN-2T for pgsql-hackers@lists.postgresql.org; Fri, 27 Mar 2026 19:08:30 +0000 Received: from mail-qv1-xf44.google.com ([2607:f8b0:4864:20::f44]) by magus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.98.2) (envelope-from ) id 1w6CXi-00000001X9j-0vOC for pgsql-hackers@postgresql.org; Fri, 27 Mar 2026 19:08:29 +0000 Received: by mail-qv1-xf44.google.com with SMTP id 6a1803df08f44-899eabc5292so25686056d6.0 for ; Fri, 27 Mar 2026 12:08:25 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=dunslane-net.20230601.gappssmtp.com; s=20230601; t=1774638504; x=1775243304; darn=postgresql.org; h=in-reply-to:autocrypt:content-language:from:references:cc:to :subject:user-agent:mime-version:date:message-id:from:to:cc:subject :date:message-id:reply-to; bh=mU8WrF2lLoM5jDDvX8bpofH6fQeAg0utc9yvVU3fDkw=; b=lE5Ko+YOATT3de6L6jvrztFE945jCnql+fwW4Z6DiPi9PZUmrNV2F+AZxVhgE9VkzF 2LSTE+3o+OlpNJeG1OynO018AHRNZk/fsTpAVEv+T6o653Gort/I01BzZJD3xaEVXBYZ OM84juE+16FTh0Q4pUstxeiuVkHun08AyI9C5h873NKeeXoWjT/+Tl1nS2SNjnpPfRUN /35axRsx8AOxyuL8UNM2BUw1OfDFHv7wDpe8VL4Q+aor0yTDAjy7TqGfA/YjkSdUCRRX iTaOD2RZrg7sKPpzR3dV1ts+tK55wVHNDd4C8Z+qJozrt9mktfesc83FQPmHD9/BwBHd 68BQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1774638504; x=1775243304; h=in-reply-to:autocrypt:content-language:from:references:cc:to :subject:user-agent:mime-version:date:message-id:x-gm-gg :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=mU8WrF2lLoM5jDDvX8bpofH6fQeAg0utc9yvVU3fDkw=; b=gr7offulf52qYnv8pKvE95MM+cRhMxAHia7vk6dVr3wrXhYFRAoNPIeswPcrPrPA1P hCMHfGRNtLBsbX3401MGvX7ehm7NonbAur+zH/URTvP1gPF1oe56ljz7lWiAoAtdoxRn cpEQkIniz4t5BnWLbJqcg52SU6jihxo0ZU0N0LbNbhQA9Ijw+dVBVQJcQ/ZcuY3ViKUO GITfoo/tgie5XdE4GS+wCdgtRzXfnZl5Nm3Gc1dTY22+toEnUnEhtt9OQgyYya50WRNK Oo/yLpjiTTrtgDlwwz/+d49w4e9m+WyMsuJfD98WJ7LzR5Bf9hbszRotg785jNCpPKBm J39w== X-Forwarded-Encrypted: i=1; AJvYcCX7/skYHHzfPOhTUXNi/xj+bUoMz/+MC090zNrkXGYBUqYD/oTtQaabSzGVWD1eAKt1dXnKIwFST4ww6gj6@postgresql.org X-Gm-Message-State: AOJu0YyzajAtw72s43yf71wNJK+d6ZhuGWmUyEH+IW4KyKwQ3RjWaaR+ xS/eX7yPnZanNPPjnuqBbdJVtmCr9WOogxKDa6S1RzQNxxNoWk1u+eeKHCY8x71YEig= X-Gm-Gg: ATEYQzzexJR5N7pm+A7XAVzUKfVpr2/0+tANFdBJBoZNb5e5qC6dlb6vn5T8jL65sw9 5Al1fZ5UYkwZmT8N5IIThI40etUS1GsyMu85XFrfJLPI3vq6d213xArdRBPcWmEg1GoZyfNkCLG EiQvWzZxkebBVQCAIyiTlGAV5OWjuG/XhoX1YFD61gY+2rwXXCzRumcJOCalWMc2/OaUpKjeqT0 mlhvw1NBxwP4kkXJ0Kw4of1pBbkqlLwkkBYMCL2BD6X6E1D5vawlhpJ+8CYBt+mIk+DQ+myZFjn +X72+Ti9R4X66ziVOu9Jp6+kf1wV9qNeqzqsD/dtbR3vdMa+2Nn9MAey2RqniBorkiQEiwfiuPV eay2MmNDqOnWyS/OO+TbjyLobRYShcJ3ndksP9NQ4wZEjMQbOrhy9cXB5NsnqkJAarrNHUNQVZq psIn0CsaZnQrPRdTpuNk9Fm4as9x63fWjSu22tj78j X-Received: by 2002:a05:6214:2622:b0:89c:44f9:e87b with SMTP id 6a1803df08f44-89ce8f0e03amr49554626d6.49.1774638504002; Fri, 27 Mar 2026 12:08:24 -0700 (PDT) Received: from ?IPV6:2605:a601:a6b0:500::1cb? ([2605:a601:a6b0:500::1cb]) by smtp.googlemail.com with ESMTPSA id 6a1803df08f44-89cd5a7edc6sm54282306d6.39.2026.03.27.12.08.23 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Fri, 27 Mar 2026 12:08:23 -0700 (PDT) Content-Type: multipart/alternative; boundary="------------FbX0CnbFlTLuZPD9M1g2tTKC" Message-ID: Date: Fri, 27 Mar 2026 15:08:22 -0400 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH] pgindent truncates last line of files missing a trailing newline To: Tom Lane , Akshay Joshi Cc: Ashutosh Bapat , pgsql-hackers References: <3bd49b59-7a87-4ab6-9eac-59b5d9cb78de@dunslane.net> <1133418.1771260634@sss.pgh.pa.us> <1005500.1774542586@sss.pgh.pa.us> From: Andrew Dunstan Content-Language: en-US Autocrypt: addr=andrew@dunslane.net; keydata= xsBNBE7KWFkBCAClridxur2AIc7eW2AR7izbfp3EnNefie2HbLF0izW5Ik5UjX2HBXBx4syI gY6b0ugohXrr274+baoAlvSbq6cAoQuEVrk5IZFzt20b1Xkx65FwGSEj526yiKLocqkJceSq Xr9xcA5SGY+FZv441chh5SU92v4q6z+6LPpoHOh97ptAVXZYNTtU0LevyvD5lja0TzbvJm6C eFXitJfnm1pLEr0DGJCR/iUOl/N62Kh4855zZC7NHIjQHPOvV5Stz/l5ilDhvGVk+xkXFPys SjZoUr1rXhYLpiyi5sR0X9FHXT0KnGuz1F5ERO7ZTLSSQ6fJwPj6gOk9K+vvoKvoeql5ABEB AAHNJEFuZHJldyBEdW5zdGFuIDxhbmRyZXdAZHVuc2xhbmUubmV0PsLAlwQTAQgAQQIbAwIX gAIZAQULCQgHAwUVCgkICwUWAgMBAAIeBRYhBOQ+WEYd/Hy/RGkVpZn6f8tZ/DuBBQJoGNGd BQkdEO8nAAoJEJn6f8tZ/DuBq74H/jkTR4Zi3stbw+xC7v2u3QozssK7MYPL2AsVfh7OealS h182fiWXpfvmmAB7WUHbhk9GC2RAOnHI/2d2jgKaMLAHsGYOT0YopTVIwRY43fCw/mK67yxc wmDcX+zyKfLaivNbf5A7QPLNwda98bEAMSJ8Sn652Uc6cA8t3uKGsVzbRBQOoYzjgvBCfSrE 9ql3PDNg0l4BfAqabd2f70ZUm9VAMEPrgv/v2xI7M2XiL4g5BVmqLCOwxLM8RMCotCuoweUr VO43DeBCIDwLxotMJKvGWDjBzQYlU1NPUAtNcz/gN9ITUe1VUGjyvGj4u1lxBOcQQUw7l1+T 5moZ4iZxXzvOwE0ETspYWQEIANGc4zQULOxhbqO2dyD51YhqCNRmm9oKWaqf+wmW4tpDe/VV cxAnNizd4LWCHfzpb5cHAtGkOPePMfzWVf6nvdF7d3eglbtf59+zG7O7llV0xSSoFiieQBsr GvqDInXYX/4mRRXMtyhM353/tixC9RWLs1oofyYmCPPXXY7h9R7en3B8BoVrRFcdzlIY/NFN hFGW/9dkEiGjgna2Rk6e15kln4ZvFBWUg23p93w/pqXcxY6+k/8TEk+C4R+M6w7o2PLGOjdZ +kPiUcw5H85zf/yZJwQXzisXaNduwWB6Vads9YC9dj6kPR1c4VGRqAaYL++LAEOqrlvm2Tvq QqZRtnEAEQEAAcLAfAQYAQgAJgIbDBYhBOQ+WEYd/Hy/RGkVpZn6f8tZ/DuBBQJoGNI2BQkd EODdAAoJEJn6f8tZ/DuBfw0IAKTsfD40teP/pp+bsLLMSxPXUYrrprTj7WFB5v61p6dkpSr/ qXmMlyahdxQFaPmfVgVirB1Vk/kHiWNnnGjfUV9nB2Zg9LI0Xb9/ts3LsUiRWXzG3tkMY6XL vsVOxW4XFRND9l2q+WW93aZ1DZl+fqWfYgMvsusFRhmGFOKTRfKPta2Pkv+AhA24N4+PrR5p bU4k2MO8PAGiK8eaYKGFG1bHKuAvoDoF7WXJ3FHxuWqLnKEt4dfOLm5pAe3zq1Lt6q8azT9i QWGpSAK5vQUWQHBHpiDjdPeqKZ6HiAXIIKfSmb+jrvXBqoP+D6/K7rUjG2aXiRtTIAXms9sm VRu7cmw= In-Reply-To: <1005500.1774542586@sss.pgh.pa.us> List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk This is a multi-part message in MIME format. --------------FbX0CnbFlTLuZPD9M1g2tTKC Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit On 2026-03-26 Th 12:29 PM, Tom Lane wrote: > Akshay Joshi writes: >> I have addressed the review comments from Andrew. >> Attached is the v2 patch, ready for review. > I'm not sure I want to expend the brain cells to figure out whether > this is a correct/complete patch. If pg_bsd_indent were less of an > undercommented spaghetti-code nightmare, maybe fixing it here would > be reasonable. But as things stand, why don't we just fix this in > the perl wrapper, as attached? Well, I thought we were trying to reduce the fixups we did in pgindent. However, I take your point about the ugly nature of the pg_bsd_indent code. So I'm ok with this fix, which is quite straightforward. > > (In any case, I'm not in favor of adding a test case, because that > would require putting a trailing-newline-less .c file into our tree. > At best there would be a permanent hazard of something "fixing" > the file.) > > fair point. cheers andrew -- Andrew Dunstan EDB:https://www.enterprisedb.com --------------FbX0CnbFlTLuZPD9M1g2tTKC Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: 7bit


On 2026-03-26 Th 12:29 PM, Tom Lane wrote:
Akshay Joshi <akshay.joshi@enterprisedb.com> writes:
I have addressed the review comments from Andrew.
Attached is the v2 patch, ready for review.
I'm not sure I want to expend the brain cells to figure out whether
this is a correct/complete patch.  If pg_bsd_indent were less of an
undercommented spaghetti-code nightmare, maybe fixing it here would
be reasonable.  But as things stand, why don't we just fix this in
the perl wrapper, as attached?


Well, I thought we were trying to reduce the fixups we did in pgindent. However, I take your point about the ugly nature of the pg_bsd_indent code. So I'm ok with this fix, which is quite straightforward.



(In any case, I'm not in favor of adding a test case, because that
would require putting a trailing-newline-less .c file into our tree.
At best there would be a permanent hazard of something "fixing"
the file.)

			


fair point.


cheers


andrew

--
Andrew Dunstan
EDB: https://www.enterprisedb.com
--------------FbX0CnbFlTLuZPD9M1g2tTKC--