emacs: Invoke gpg with --batch and --no-tty

When invoking gpg as a backgrounded tool, it's important to let gpg
know that it is backgrounded, to avoid spurious prompts or other
breakage.

In particular, https://bugs.debian.org/913614 was a regression in
GnuPG which causes problems when importing keys without a terminal,
but gpg expects one.

Ensuring that notmuch-emacs always invokes gpg as a background process
should avoid some of these unnecessary failure.

Thanks to Justus Winter for finding this problem.

Signed-off-by: Daniel Kahn Gillmor <dkg@fifthhorseman.net>
This commit is contained in:
Daniel Kahn Gillmor 2019-02-09 12:34:37 -05:00 committed by David Bremner
parent 32fb3c420a
commit 3c752b855f

View file

@ -142,7 +142,7 @@ mode."
(with-selected-window window (with-selected-window window
(with-current-buffer buffer (with-current-buffer buffer
(goto-char (point-max)) (goto-char (point-max))
(call-process epg-gpg-program nil t t "--list-keys" fingerprint)) (call-process epg-gpg-program nil t t "--batch" "--no-tty" "--list-keys" fingerprint))
(recenter -1)))) (recenter -1))))
(defun notmuch-crypto-sigstatus-error-callback (button) (defun notmuch-crypto-sigstatus-error-callback (button)
@ -153,9 +153,9 @@ mode."
(with-selected-window window (with-selected-window window
(with-current-buffer buffer (with-current-buffer buffer
(goto-char (point-max)) (goto-char (point-max))
(call-process epg-gpg-program nil t t "--recv-keys" keyid) (call-process epg-gpg-program nil t t "--batch" "--no-tty" "--recv-keys" keyid)
(insert "\n") (insert "\n")
(call-process epg-gpg-program nil t t "--list-keys" keyid)) (call-process epg-gpg-program nil t t "--batch" "--no-tty" "--list-keys" keyid))
(recenter -1)) (recenter -1))
(notmuch-show-refresh-view))) (notmuch-show-refresh-view)))