From: Felipe Contreras Date: Fri, 06 Aug 2021 16:15:32 GMT Subject: Re: [PATCH] test: fix for COLUMNS and bash 5 Message-ID: <610d6024abb9d_1594208ae@natae.notmuch> In-Reply-To: <87k0kzzc91.fsf@evledraar.gmail.com> Ævar Arnfjörð Bjarmason wrote: > On Thu, Aug 05 2021, Felipe Contreras wrote: > > > Since c49a177bec (test-lib.sh: set COLUMNS=80 for --verbose > > repeatability, 2021-06-29) multiple tests have been failing when using > > bash 5 because checkwinsize is enabled by default, therefore COLUMNS is > > reset using TIOCGWINSZ even for non-interactive shells. > > > > It's debatable whether or not bash should even be doing that, but for > > now we can avoid this undesirable behavior by disabling this option. > > > > Reported-by: Fabian Stelzer > > Signed-off-by: Felipe Contreras > > I've got an alternative way of solving the same immeditate issue in[1], > there's discussion on that approach in the latest What's Cooking[2]. Yes, but I'm not allowed to participate in that discussion. > My preference for mine is in no small part that I'd like to not be > responsible for into-the-past test suite breakage the next time a > popular shell decides to be clever about COLUMNS. > > But this way we'll solve the immediate problem with bash, and I can say > I told you so if that submarine breakage occurs with this approach :) I believe what bash is doing is a mistake. I don't think COLUMNS should be updated within a non-interactive shell by default. I'll report that as a bug once I'm able to subsscribe to the bug-bash mailing list. So I think it's the opposite: not only would similar fixes not be needed for other shells, but it won't be needed for bash either. -- Felipe Contreras