Subject: bug#43704: 26.1: gpg error on passphrase typo

From: Lars Ingebrigtsen <[email-masked]>
Date: Tue, 29 Sep 2020 16:37:49 +0200

Boruch Baum <[email-masked]> writes:

> When making a mistake typing a gpg passphrase, an 'error' is generated,
> instead of a 'user-error'. The significance of the difference is that if
> the user has enabled 'toggle-debug-on-error', the typo generates an
> annoying backtrace buffer that then needs to be killed, followed by a
> window navigation to the gpg buffer in use.

Is this the backtrace you get?

Debugger entered--Lisp error: (file-missing "Opening input file" "Decryption failed" "")
  signal(file-missing ("Opening input file" "Decryption failed" ""))
  epa-file--find-file-not-found-function()
  run-hook-with-args-until-success(epa-file--find-file-not-found-function)
  find-file-noselect-1(#<killed buffer> "/tmp/foo.gpg" nil nil "/tmp/foo.gpg" (24379592 66306))
  find-file-noselect("/tmp/foo.gpg" nil nil t)
  find-file("/tmp/foo.gpg" t)
  funcall-interactively(find-file "/tmp/foo.gpg" t)
  call-interactively(find-file nil nil)
  command-execute(find-file)

I'm not sure whether there's any way for epa to know at this point
whether the failure was due to a wrong password or something else, so
I'm not sure a user-error would be appropriate.  Anybody know?

-- 
(domestic pets only, the antidote for overdose, milk.)
   bloggy blog: http://lars.ingebrigtsen.no