Do not try to run tty command if it doesn't exist

Signed-off-by: James McCoy <jamessan@jamessan.com>
This commit is contained in:
James McCoy
2019-08-23 19:02:29 -04:00
parent c2c9720584
commit 5001a8b45d

View File

@@ -213,18 +213,20 @@ function gnupg#init(bufread)
" modified just by detecting the correct tty value.
" Do the &undolevels dance so the :read and :delete don't get added into
" the undo tree, as the user needn't be aware of these.
let [mod, levels] = [&l:modified, &undolevels]
set undolevels=-1
silent read !tty
let $GPG_TTY = getline('.')
silent '[,']delete _
let [&l:modified, &undolevels] = [mod, levels]
" redraw is needed since we're using silent to run !tty, c.f. :help :!
redraw!
if (v:shell_error)
if executable('tty')
let [mod, levels] = [&l:modified, &undolevels]
set undolevels=-1
silent read !tty
let $GPG_TTY = getline('.')
silent '[,']delete _
let [&l:modified, &undolevels] = [mod, levels]
" redraw is needed since we're using silent to run !tty, c.f. :help :!
redraw!
endif
if v:shell_error || !exists("$GPG_TTY")
let $GPG_TTY = ""
echohl GPGWarning
echom "$GPG_TTY is not set and the `tty` command failed! gpg-agent might not work."
echom "$GPG_TTY is not set and the `tty` command failed/doesn't exist! gpg-agent might not work."
echohl None
endif
endif