emacs: Invoke gpg with --batch and --no-tty
authorDaniel Kahn Gillmor <dkg@fifthhorseman.net>
Sat, 9 Feb 2019 17:34:37 +0000 (12:34 -0500)
committerDavid Bremner <david@tethera.net>
Sun, 10 Feb 2019 13:47:12 +0000 (09:47 -0400)
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>
emacs/notmuch-crypto.el

index fc2b53013f8140922fc8fcd37357585f5904e0bc..353f721e2593c2fb977612a088d1378534e7ee21 100644 (file)
@@ -142,7 +142,7 @@ mode."
     (with-selected-window window
       (with-current-buffer buffer
        (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))))
 
 (defun notmuch-crypto-sigstatus-error-callback (button)
@@ -153,9 +153,9 @@ mode."
     (with-selected-window window
       (with-current-buffer buffer
        (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")
-       (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))
     (notmuch-show-refresh-view)))