GNU bug report logs -
#79356
31.0.50; 'C-x p r' fails when there are .gpg files EPA can't decrypt
Previous Next
Full log
View this message in rfc822 format
[Message part 1 (text/plain, inline)]
Your message dated Tue, 02 Sep 2025 15:43:46 +0100
with message-id <87v7m0ewyl.fsf <at> zephyr.silentflame.com>
and subject line Re: bug#79356: 31.0.50; 'C-x p r' fails when there are .gpg files EPA can't decrypt
has caused the debbugs.gnu.org bug report #79356,
regarding 31.0.50; 'C-x p r' fails when there are .gpg files EPA can't decrypt
to be marked as done.
(If you believe you have received this mail in error, please contact
help-debbugs <at> gnu.org.)
--
79356: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=79356
GNU Bug Tracking System
Contact help-debbugs <at> gnu.org with problems
[Message part 2 (message/rfc822, inline)]
X-debbugs-cc: monnier <at> iro.umontreal.ca
If you try to use 'C-x p r' in emacs.git it exits partway through
because insert-file-contents for etc/package-keyring.gpg cannot succeed.
EPA tries to decrypt the file but can't because it's a keyring.
It even suggests what the problem is:
--8<---------------cut here---------------start------------->8---
Error while decrypting with "/usr/bin/gpg2":
gpg: decrypt_message failed: Unexpected error
(File possibly not an encrypted file, but is perhaps a key ring file?)
--8<---------------cut here---------------end--------------->8---
The problem is a bit more general than just keyrings. In other
repositories I work with there are encrypted files used as test suite
data. I don't have the keys in my personal keyring; the keys too are
dummy test suite data, loaded up by the test suite.
In either case the presence of these files shouldn't make it impossible
to use 'C-x p r'. So how about doing something like this:
--8<---------------cut here---------------start------------->8---
diff --git a/lisp/fileloop.el b/lisp/fileloop.el
index d7d2aa7e0d5..fd749353753 100644
--- a/lisp/fileloop.el
+++ b/lisp/fileloop.el
@@ -121,10 +121,17 @@ fileloop-next-file
(kill-all-local-variables)
(erase-buffer)
(setq new next)
- (condition-case nil
+ (condition-case err
(insert-file-contents new nil)
(file-missing
- (fileloop-next-file novisit))))
+ (fileloop-next-file novisit))
+ (file-error
+ (unless
+ (and (equal (caddr err) "Can't decrypt")
+ (y-or-n-p (substitute-quotes
+ (format "Couldn't decrypt `%s'; skip it?"
+ (abbreviate-file-name new)))))
+ (signal (car err) (cdr err))))))
new)))
(defun fileloop-continue ()
--8<---------------cut here---------------end--------------->8---
--
Sean Whitton
[Message part 3 (message/rfc822, inline)]
Version: 31.1
Hello,
On Tue 02 Sep 2025 at 10:00am -04, Stefan Monnier via "Bug reports for GNU Emacs, the Swiss army knife of text editors" wrote:
> Not sure "<msg>, <new>" is the best syntax (I'd have used "<new>:
> <msg>", instead), but that looks good enough to me, thanks.
I did the colon-separated format first but then I noticed that other
file-errors which were firing were putting it at the end. I've switched
it back to the colon-separated format for now, anyway, and installed.
Thanks!
--
Sean Whitton
This bug report was last modified 4 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.