Uma alternativa, se você tiver um recente pinentry / gpg2 (testado com 0.9.7 e 2.1.11 respectivamente no Arch Linux), é usar link .
Instale pinentry
de M-x list-packages
e, em seguida, coloque
allow-emacs-pinentry
no seu .gnupg/gpg-agent.conf
e coloque
(setenv "INSIDE_EMACS" (format "%s,comint" emacs-version))
(pinentry-start)
no seu .emacs.d/init.el
.
Eu tive que colocar o setenv lá porque, apesar de INSIDE_EMACS ser definido quando rodando M-x shell
, ele não está definido quando simplesmente abrindo um arquivo .gpg
.
Agora o gpg-agent usa a versão regular de curses do terminal, e de dentro do Emacs usa read-passwd
(que oculta os caracteres do prompt e de view-lossage
).
EDIT: Parece que o pacote Debian tem um patch para remover o suporte do Emacs, então, por enquanto, esta solução só funciona para outras distros / pessoas preparadas para compilar o Pinentry.