From: Noam Postavsky <npostavs@gmail.com>
To: Toon Claes <toon@iotcl.com>
Cc: Joseph Mingrone <jrm@ftfl.ca>,
26298@debbugs.gnu.org,
Torsten Bronger <bronger@physik.rwth-aachen.de>
Subject: bug#26298: 26.0.50; Gnus fails to sign mail with PGP
Date: Fri, 18 May 2018 09:38:17 -0400 [thread overview]
Message-ID: <87muwxhynq.fsf@gmail.com> (raw)
In-Reply-To: <87lgchi8yy.fsf@tcd.ie> (Basil L. Contovounesios's message of "Fri, 18 May 2018 10:55:33 +0100")
[-- Attachment #1: Type: text/plain, Size: 847 bytes --]
"Basil L. Contovounesios" <contovob@tcd.ie> writes:
> Noam Postavsky <npostavs@gmail.com> writes:
>
>> * lisp/epa-file.el (epa-file-insert-file-contents)
>> (epa-file-write-region):
>> * lisp/epa.el(epa-decrypt-file, epa-sign-file)
> ^^
> Should there be a space here, or does it not matter?
>> +** 'epa-pinentry-mode' is renamed to 'epg-pinentry-mode',
>
> Looks like that trailing comma should be a full stop.
>> +(define-obsolete-variable-alias
>> + 'epa-entry-mode 'epg-entry-mode "27.1")
>
> These should be epa-pinentry-mode and epg-pinentry-mode, respectively,
> right?
Oops, thanks for catching these; especially that last one, yikes.
>> +(defcustom epg-pinentry-mode nil
>> + :group 'epa
> Should the :group be changed to 'epg?
Or we can just remove it altogether since :group defaults to the last
created group.
[-- Attachment #2: patch --]
[-- Type: text/plain, Size: 6870 bytes --]
From 23caf10d96f14ecc4ec81a8e373001c96b82e5fc Mon Sep 17 00:00:00 2001
From: Noam Postavsky <npostavs@gmail.com>
Date: Sun, 29 Apr 2018 10:32:03 -0400
Subject: [PATCH v3] Move epa-pinentry-mode to epg-config (Bug#26298)
* lisp/epa.el (epa-pinentry-mode): Make into obsolete alias for...
* lisp/epg-config.el (epg-pinentry-mode): ...this new user option.
* lisp/epg.el (epg-context): Use it as the default value for
pinentry-mode.
* etc/NEWS: Announce name change.
* lisp/epa-file.el (epa-file-insert-file-contents)
(epa-file-write-region):
* lisp/epa.el (epa-decrypt-file, epa-sign-file)
(epa-encrypt-file, epa-decrypt-region)
(epa-sign-region, epa-encrypt-region): Don't change
epg-context-pinentry-mode from the default.
---
etc/NEWS | 3 +++
lisp/epa-file.el | 2 --
lisp/epa.el | 30 ++----------------------------
lisp/epg-config.el | 21 +++++++++++++++++++++
lisp/epg.el | 2 +-
5 files changed, 27 insertions(+), 31 deletions(-)
diff --git a/etc/NEWS b/etc/NEWS
index c7ffb17ad3..ba9f58a73f 100644
--- a/etc/NEWS
+++ b/etc/NEWS
@@ -442,6 +442,9 @@ are formatted as MIME digests.
*** 'message-forward-included-headers' has changed its default to
exclude most headers when forwarding.
+** 'epa-pinentry-mode' is renamed to 'epg-pinentry-mode'.
+It now applies to epg functions as well as epa functions.
+
* New Modes and Packages in Emacs 27.1
+++
diff --git a/lisp/epa-file.el b/lisp/epa-file.el
index 1de2f9ba2d..866a4ae03a 100644
--- a/lisp/epa-file.el
+++ b/lisp/epa-file.el
@@ -147,7 +147,6 @@ epa-file-insert-file-contents
context
(cons #'epa-progress-callback-function
(format "Decrypting %s" file)))
- (setf (epg-context-pinentry-mode context) epa-pinentry-mode)
(unwind-protect
(progn
(if replace
@@ -236,7 +235,6 @@ epa-file-write-region
(cons #'epa-progress-callback-function
(format "Encrypting %s" file)))
(setf (epg-context-armor context) epa-armor)
- (setf (epg-context-pinentry-mode context) epa-pinentry-mode)
(condition-case error
(setq string
(epg-encrypt-string
diff --git a/lisp/epa.el b/lisp/epa.el
index a375cd6170..16621659a6 100644
--- a/lisp/epa.el
+++ b/lisp/epa.el
@@ -56,27 +56,8 @@ epa-info-window-height
:type 'integer
:group 'epa)
-;; In the doc string below, we say "symbol `error'" to avoid producing
-;; a hyperlink for `error' the function.
-(defcustom epa-pinentry-mode nil
- "The pinentry mode.
-
-GnuPG 2.1 or later has an option to control the behavior of
-Pinentry invocation. The value should be the symbol `error',
-`ask', `cancel', or `loopback'. See the GnuPG manual for the
-meanings.
-
-In epa commands, a particularly useful mode is `loopback', which
-redirects all Pinentry queries to the caller, so Emacs can query
-passphrase through the minibuffer, instead of external Pinentry
-program."
- :type '(choice (const nil)
- (const ask)
- (const cancel)
- (const error)
- (const loopback))
- :group 'epa
- :version "25.1")
+(define-obsolete-variable-alias
+ 'epa-pinentry-mode 'epg-pinentry-mode "27.1")
(defgroup epa-faces nil
"Faces for epa-mode."
@@ -695,7 +676,6 @@ epa-decrypt-file
#'epa-progress-callback-function
(format "Decrypting %s..."
(file-name-nondirectory decrypt-file))))
- (setf (epg-context-pinentry-mode context) epa-pinentry-mode)
(message "Decrypting %s..." (file-name-nondirectory decrypt-file))
(condition-case error
(epg-decrypt-file context decrypt-file plain-file)
@@ -791,7 +771,6 @@ epa-sign-file
#'epa-progress-callback-function
(format "Signing %s..."
(file-name-nondirectory file))))
- (setf (epg-context-pinentry-mode context) epa-pinentry-mode)
(message "Signing %s..." (file-name-nondirectory file))
(condition-case error
(epg-sign-file context file signature mode)
@@ -822,7 +801,6 @@ epa-encrypt-file
#'epa-progress-callback-function
(format "Encrypting %s..."
(file-name-nondirectory file))))
- (setf (epg-context-pinentry-mode context) epa-pinentry-mode)
(message "Encrypting %s..." (file-name-nondirectory file))
(condition-case error
(epg-encrypt-file context file recipients cipher)
@@ -865,7 +843,6 @@ epa-decrypt-region
(cons
#'epa-progress-callback-function
"Decrypting..."))
- (setf (epg-context-pinentry-mode context) epa-pinentry-mode)
(message "Decrypting...")
(condition-case error
(setq plain (epg-decrypt-string context (buffer-substring start end)))
@@ -1070,7 +1047,6 @@ epa-sign-region
(cons
#'epa-progress-callback-function
"Signing..."))
- (setf (epg-context-pinentry-mode context) epa-pinentry-mode)
(message "Signing...")
(condition-case error
(setq signature (epg-sign-string context
@@ -1159,7 +1135,6 @@ epa-encrypt-region
(cons
#'epa-progress-callback-function
"Encrypting..."))
- (setf (epg-context-pinentry-mode context) epa-pinentry-mode)
(message "Encrypting...")
(condition-case error
(setq cipher (epg-encrypt-string context
@@ -1328,7 +1303,6 @@ epa-insert-keys
;; (cons
;; #'epa-progress-callback-function
;; "Signing keys..."))
-;; (setf (epg-context-pinentry-mode context) epa-pinentry-mode)
;; (message "Signing keys...")
;; (epg-sign-keys context keys local)
;; (message "Signing keys...done")))
diff --git a/lisp/epg-config.el b/lisp/epg-config.el
index d30ebea2d6..33262394a7 100644
--- a/lisp/epg-config.el
+++ b/lisp/epg-config.el
@@ -74,6 +74,27 @@ epg-passphrase-coding-system
:group 'epg
:type 'symbol)
+
+;; In the doc string below, we say "symbol `error'" to avoid producing
+;; a hyperlink for `error' the function.
+(defcustom epg-pinentry-mode nil
+ "The pinentry mode.
+
+GnuPG 2.1 or later has an option to control the behavior of
+Pinentry invocation. The value should be the symbol `error',
+`ask', `cancel', or `loopback'. See the GnuPG manual for the
+meanings.
+
+A particularly useful mode is `loopback', which redirects all
+Pinentry queries to the caller, so Emacs can query passphrase
+through the minibuffer, instead of external Pinentry program."
+ :type '(choice (const nil)
+ (const ask)
+ (const cancel)
+ (const error)
+ (const loopback))
+ :version "27.1")
+
(defcustom epg-debug nil
"If non-nil, debug output goes to the \" *epg-debug*\" buffer.
Note that the buffer name starts with a space."
diff --git a/lisp/epg.el b/lisp/epg.el
index e6b4af2b36..f79f2046de 100644
--- a/lisp/epg.el
+++ b/lisp/epg.el
@@ -207,7 +207,7 @@ 'epg-error
output-file
result
operation
- pinentry-mode
+ (pinentry-mode epg-pinentry-mode)
(error-output "")
error-buffer)
--
2.11.0
next prev parent reply other threads:[~2018-05-18 13:38 UTC|newest]
Thread overview: 22+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-03-29 12:15 bug#26298: 26.0.50; Gnus fails to sign mail with PGP Torsten Bronger
2017-08-14 20:33 ` Toon Claes
2017-08-14 21:19 ` Toon Claes
2017-08-14 23:46 ` npostavs
2017-08-15 5:54 ` Toon Claes
2017-08-15 15:23 ` Noam Postavsky
2018-01-28 19:39 ` Toon Claes
2018-01-28 21:23 ` Noam Postavsky
2018-04-11 22:06 ` Lars Ingebrigtsen
2018-04-12 7:25 ` Noam Postavsky
2018-04-12 11:37 ` Lars Ingebrigtsen
2018-04-12 12:45 ` Noam Postavsky
2018-04-14 6:52 ` Toon Claes
2018-04-14 13:12 ` Lars Ingebrigtsen
2018-04-14 13:36 ` Toon Claes
2018-04-14 13:54 ` Lars Ingebrigtsen
2018-04-14 13:15 ` Lars Ingebrigtsen
2018-04-29 14:38 ` Noam Postavsky
2018-05-17 23:41 ` Noam Postavsky
2018-05-18 9:55 ` Basil L. Contovounesios
2018-05-18 13:38 ` Noam Postavsky [this message]
2018-05-23 23:09 ` Noam Postavsky
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=87muwxhynq.fsf@gmail.com \
--to=npostavs@gmail.com \
--cc=26298@debbugs.gnu.org \
--cc=bronger@physik.rwth-aachen.de \
--cc=jrm@ftfl.ca \
--cc=toon@iotcl.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this external index
https://git.savannah.gnu.org/cgit/emacs.git
https://git.savannah.gnu.org/cgit/emacs/org-mode.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.