From 16b0aeda7dda8790d026873f5efd7d6fb344a1dd Mon Sep 17 00:00:00 2001 From: Junegunn Choi Date: Sun, 21 May 2023 13:51:06 +0900 Subject: Make sure 'become' process is given a proper tty device --- src/terminal.go | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'src') diff --git a/src/terminal.go b/src/terminal.go index f25cd2f3..7f6adade 100644 --- a/src/terminal.go +++ b/src/terminal.go @@ -2961,6 +2961,14 @@ func (t *Terminal) Loop() { if t.history != nil { t.history.append(string(t.input)) } + /* + FIXME: It is not at all clear why this is required. + The following command will report 'not a tty', unless we open + /dev/tty *twice* after closing the standard input for 'reload' + in Reader.terminate(). + : | fzf --bind 'start:reload:ls' --bind 'enter:become:tty' + */ + tui.TtyIn() util.SetStdin(tui.TtyIn()) syscall.Exec(shellPath, []string{shell, "-c", command}, os.Environ()) } -- cgit v1.2.3