patch 8.0.0096
Problem:    When the input or output is not a tty Vim appears to hang.
Solution:   Add the --ttyfail argument.  Also add the "ttyin" and "ttyout"
            features to be able to check in Vim script.
diff --git a/runtime/doc/eval.txt b/runtime/doc/eval.txt
index b34bf48..1a11a41 100644
--- a/runtime/doc/eval.txt
+++ b/runtime/doc/eval.txt
@@ -8416,6 +8416,8 @@
 timers			Compiled with |timer_start()| support.
 title			Compiled with window title support |'title'|.
 toolbar			Compiled with support for |gui-toolbar|.
+ttyin			input is a terminal (tty)
+ttyout			output is a terminal (tty)
 unix			Unix version of Vim.
 user_commands		User-defined commands.
 vertsplit		Compiled with vertically split windows |:vsplit|.
diff --git a/runtime/doc/starting.txt b/runtime/doc/starting.txt
index 8ce3c63..34500fc 100644
--- a/runtime/doc/starting.txt
+++ b/runtime/doc/starting.txt
@@ -421,6 +421,10 @@
 		not connected to a terminal.  This will avoid the warning and
 		the two second delay that would happen. {not in Vi}
 
+							*--ttyfail*
+--ttyfail	When the stdin or stdout is not a terminal (tty) then exit
+		right away.
+
 							*-d*
 -d		Start in diff mode, like |vimdiff|.
 		{not in Vi} {not available when compiled without the |+diff|