Re: [PATCH v4 2/2] launch_editor(): indicate that Git waits for user input
- Date: Mon, 4 Dec 2017 12:30:24 -0500
- From: Jeff King <peff@xxxxxxxx>
- Subject: Re: [PATCH v4 2/2] launch_editor(): indicate that Git waits for user input
On Sat, Dec 02, 2017 at 09:15:29PM -0800, Junio C Hamano wrote:
> Jeff King <peff@xxxxxxxx> writes:
> > I tried to think of ways this "show a message and then delete it" could
> > go wrong. It should work OK with editors that just do curses-like
> > things, taking over the terminal and then restoring it at the end.
> > ...
> I think that it is not worth to special-case "dumb" terminals like
> this round of the patches do. If it so much disturbs reviewers that
> "\e[K" may not work everywhere, we can do without the "then delete
> it" part. It was merely trying to be extra nice, and the more
> important part of the "feature" is to be noticeable, and I do think
> that not showing anything on "dumb", only because the message cannot
> be retracted, is putting the cart before the horse.
> Since especially now people are hiding this behind an advise.*
> thing, I think it is OK to show a message and waste a line, even.
Yeah, I was tempted to suggest just dropping this terminal magic
completely. But it probably _does_ work and is helpful in the majority
of cases (i.e., where people have in-terminal editors). I dunno.
I am a little wary of hiding behind "but you can disable it with a
config option", because that's still a thing that users have to actually
do to get the previous behavior. And I expect to get some "ugh, git is
too chatty and annoying" backlash once this is in a released version.
But maybe that is just being paranoid. It's not like we don't have a lot
of other advice flags. I really could go either way on this whole thing
(but I'll be setting the advice flag myself ;) ).
> > An even worse case (and yes, this is really reaching) is:
> > $ GIT_EDITOR='echo one; printf "two\\r"; vim' git commit
> > hint: Waiting for your editor input...one
> > Aborting commit due to empty commit message.
> > There we ate the "two" line.
> Yes, I would have to agree that this one is reaching, as there isn't
> any valid reason other than "the editor then wanted to do \e[K
> later" for it to end its last line with CR. So our eating that line
> is not a problem.
Yeah, this was just me trying to come up with all possible implications.
I agree it's probably not worth worrying about.