git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: [PATCH] send-email: lazily assign editor variable

From
Jonathan Nieder <jrnieder@gmail.com>
Date
Mar 26, 2010, 21:45 UTC
Message-ID
<20100326214540.GA17503@progeny.tock>
In-Reply-To
<7v39zmlvz1.fsf@alter.siamese.dyndns.org>
Junio C Hamano wrote:
> Jonathan Nieder <jrnieder@gmail.com> writes:
Show 12 quoted lines
>> Yes, please.  It would be more precise to
>>
>>   s/without a tty/with TERM=dumb/
>>
>> in the second paragraph but regardless this is a good description of the
>> problem.
>
> Strictly speaking, with TERM=dumb the true "vi" fell back to the ex mode
> and should have been usable.  A purist might say it is a bug that we fatal
> out in this case (I know that it is deliberately done to help newbies from
> common confusion by not running any editor with TERM=dumb, but to a purist
> in me it feels somewhat wrong).

With DISPLAY set, running “TERM=dumb vi | cat” with an appropriate symlink in $PATH:

vim
	Prints “Vim: Warning: Output is not to a terminal” to stderr,
	waits about a second, then
	runs without clearing the screen, using ANSI escapes to move around.
elvis 1.4
	Prints “This termcap entry lacks the :up=: capability” to stderr,
	fails with status 1.
elvis 2 (more precisely, the elvisnox script from Debian)
	Prints “termcap needs up” to stderr,
	fails with status 1.
nvi
	Prints “ex/vi: Vi's standard input and output must be a terminal” to stderr,
	fails with status 1.

With TERM=dumb but standard output going straight to the terminal, the situation is not very different for vim and elvis, while nvi gets utterly confused (it only writes output to the bottom line for some reason).

So I think it still makes sense to work around this bug in the vi clones.

HTH, Jonathan

Previous: Junio C HamanoNext: Michael J Gruber
Message 9 of 14 in “[REGRESSION] git var GIT_EDITOR fails without tty”
  1. Uwe Kleine-KönigMar 22, 2010
  2. send-email: lazily assign editor variableMichael J Gruber, Mar 22, 2010
  3. Uwe Kleine-KönigMar 22, 2010
  4. Jonathan NiederMar 23, 2010
  5. Michael J GruberMar 23, 2010
  6. Junio C HamanoMar 24, 2010
  7. Jonathan NiederMar 25, 2010
  8. Junio C HamanoMar 26, 2010
  9. Jonathan NiederMar 26, 2010
  10. Michael J GruberMar 25, 2010
  11. Junio C HamanoMar 26, 2010
  12. send-email: do not check for editor until neededJonathan Nieder, Mar 22, 2010
  13. Peter KjellerstedtMar 23, 2010
  14. Jonathan NiederMar 23, 2010

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.