On Mon, Aug 19, 2024 at 10:57 AM Phillip Wood <phillip.wood123@xxxxxxxxx> 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 <gitster@xxxxxxxxx> 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)`.