From: Matheus Tavares Bernardino Date: Tue, 20 Aug 2024 22:23:57 GMT Subject: Re: [PATCH v2] rebase -x: don't print "Executing:" msgs with --quiet Message-ID: In-Reply-To: <08dc334a-e1d9-4aa1-945e-c543de549163@gmail.com> On Mon, Aug 19, 2024 at 10:57 AM Phillip Wood wrote: > > Hi Matheus > > On 18/08/2024 14:03, Matheus Tavares Bernardino wrote: > > On Sat, Aug 17, 2024 at 8:22 AM Junio C Hamano wrote: > > The idea is that, when running in --quiet mode, we don't want to print > > anything, not even a line-cleaning char sequence. > > > > Nonetheless, since these are invisible chars (assuming we haven't > > printed anything to be "cleaned" before them), printing them doesn't > > actually make a difference to the user running rebase in the terminal, > > as they won't see the chars anyways. > > > > The actual issue is when piping/redirecting the rebase output, which > > will include these invisible chars... So perhaps, instead of modifying > > the sequencer.c to use "if (!opts->quiet && !opts->verbose) > > term_clean_line()", the correct approach would be to modify > > "term_clean_line()" to return earlier "if (!isatty(1))". What do you > > think? > > On the face of it that sounds like a good idea but I haven't thought too > much about it. These messages are all going to stderr rather than > stdout. Oh, good point. So `isatty(2)`, actually. > If we do go that way we'll need to adjust > launch_specified_editor() in editor.c to either suppress the hint or > terminate it with '\n' if stderr is not a terminal. Hmm, isn't that what we do already? The hint printing is conditional on `print_waiting_for_editor` which, in turn, is conditional on `isatty(2)`.