unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
* bug#41276: [PATCH 0/9] Various small improvements to EasyPG
@ 2020-05-14 19:13 Jonas Bernoulli
  2020-05-14 19:13 ` bug#41272: [PATCH 1/9] * lisp/epa.el (epa-faces): Move definition Jonas Bernoulli
                   ` (13 more replies)
  0 siblings, 14 replies; 60+ messages in thread
From: Jonas Bernoulli @ 2020-05-14 19:13 UTC (permalink / raw)
  To: 41276

This patches make various cosmetic and hopefully uncontroversial
changes to epa and epg libraries.

I am now to contributing to Emacs itself and not yet comfortable
with the commit message conventions among other things.  Tell me
what I am doing wrong please.

  Cheers,
  Jonas


Jonas Bernoulli (9):
  * lisp/epa.el (epa-faces): Move definition
  Add all epa faces to epa-faces Custom group
  * lisp/epg-config.el (epg-config--make-gpg-configuration): Fix
    indentation
  Split EasyPG libraries into outline sections
  Improve and add doc-strings
  Drop unnecessary backward compatibility aliases
  Cosmetic changes to epa libraries
  epa-key-list-mode-map: Use widget-keymap as parent keymap
  * lisp/epa.el (epa-show-key): New command

 lisp/epa-dired.el  | 45 +++++++++++++++--------------------
 lisp/epa-file.el   | 39 +++++++++++++-----------------
 lisp/epa-hook.el   | 12 ++++++----
 lisp/epa-mail.el   |  9 +++++++
 lisp/epa.el        | 59 ++++++++++++++++++++++++++++++++++++----------
 lisp/epg-config.el | 22 +++++++++++------
 lisp/epg.el        | 26 +++++++++++++++++++-
 7 files changed, 139 insertions(+), 73 deletions(-)

-- 
2.26.0






^ permalink raw reply	[flat|nested] 60+ messages in thread

* bug#41272: [PATCH 1/9] * lisp/epa.el (epa-faces): Move definition
  2020-05-14 19:13 bug#41276: [PATCH 0/9] Various small improvements to EasyPG Jonas Bernoulli
@ 2020-05-14 19:13 ` Jonas Bernoulli
  2020-05-14 19:13 ` bug#41269: [PATCH 2/9] Add all epa faces to epa-faces Custom group Jonas Bernoulli
                   ` (12 subsequent siblings)
  13 siblings, 0 replies; 60+ messages in thread
From: Jonas Bernoulli @ 2020-05-14 19:13 UTC (permalink / raw)
  To: 41272

Previously option `epa-mail-aliases' was the only option that was
defined right after the group `epa-faces' and right before all the
faces.  Now it is defined with all the other options and thus before
the definition of the `epa-faces' group, which it does not belong to
for obvious reasons.
---
 lisp/epa.el | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/lisp/epa.el b/lisp/epa.el
index 8ec4218735..0dd1cff465 100644
--- a/lisp/epa.el
+++ b/lisp/epa.el
@@ -56,11 +56,6 @@ epa-info-window-height
   :type 'integer
   :group 'epa)
 
-(defgroup epa-faces nil
-  "Faces for epa-mode."
-  :version "23.1"
-  :group 'epa)
-
 (defcustom epa-mail-aliases nil
   "Alist of aliases of email addresses that stand for encryption keys.
 Each element is a list of email addresses (ALIAS EXPANSIONS...).
@@ -76,6 +71,11 @@ epa-mail-aliases
   :group 'epa
   :version "24.4")
 
+(defgroup epa-faces nil
+  "Faces for epa-mode."
+  :version "23.1"
+  :group 'epa)
+
 (defface epa-validity-high
   '((default :weight bold)
     (((class color) (background dark)) :foreground "PaleTurquoise"))
-- 
2.26.0






^ permalink raw reply related	[flat|nested] 60+ messages in thread

* bug#41269: [PATCH 2/9] Add all epa faces to epa-faces Custom group
  2020-05-14 19:13 bug#41276: [PATCH 0/9] Various small improvements to EasyPG Jonas Bernoulli
  2020-05-14 19:13 ` bug#41272: [PATCH 1/9] * lisp/epa.el (epa-faces): Move definition Jonas Bernoulli
@ 2020-05-14 19:13 ` Jonas Bernoulli
  2020-05-14 19:13 ` bug#41270: [PATCH 3/9] * lisp/epg-config.el (epg-config--make-gpg-configuration): Fix indentation Jonas Bernoulli
                   ` (11 subsequent siblings)
  13 siblings, 0 replies; 60+ messages in thread
From: Jonas Bernoulli @ 2020-05-14 19:13 UTC (permalink / raw)
  To: 41269

'epa-validity-face-alist' isn't actually a face but belongs in that
group anyway.

* lisp/epa.el (epa-field-name, epa-field-body,
epa-validity-face-alist): Add to epa-faces Custom group
---
 lisp/epa.el | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/lisp/epa.el b/lisp/epa.el
index 0dd1cff465..7fb5a92547 100644
--- a/lisp/epa.el
+++ b/lisp/epa.el
@@ -117,13 +117,13 @@ epa-field-name
   '((default :weight bold)
     (((class color) (background dark)) :foreground "PaleTurquoise"))
   "Face for the name of the attribute field."
-  :group 'epa)
+  :group 'epa-faces)
 
 (defface epa-field-body
   '((default :slant italic)
     (((class color) (background dark)) :foreground "turquoise"))
   "Face for the body of the attribute field."
-  :group 'epa)
+  :group 'epa-faces)
 
 (defcustom epa-validity-face-alist
   '((unknown . epa-validity-disabled)
@@ -139,7 +139,7 @@ epa-validity-face-alist
     (ultimate . epa-validity-high))
   "An alist mapping validity values to faces."
   :type '(repeat (cons symbol face))
-  :group 'epa)
+  :group 'epa-faces)
 
 (defvar epa-font-lock-keywords
   '(("^\\*"
-- 
2.26.0






^ permalink raw reply related	[flat|nested] 60+ messages in thread

* bug#41270: [PATCH 3/9] * lisp/epg-config.el (epg-config--make-gpg-configuration): Fix indentation
  2020-05-14 19:13 bug#41276: [PATCH 0/9] Various small improvements to EasyPG Jonas Bernoulli
  2020-05-14 19:13 ` bug#41272: [PATCH 1/9] * lisp/epa.el (epa-faces): Move definition Jonas Bernoulli
  2020-05-14 19:13 ` bug#41269: [PATCH 2/9] Add all epa faces to epa-faces Custom group Jonas Bernoulli
@ 2020-05-14 19:13 ` Jonas Bernoulli
  2020-05-14 19:13 ` bug#41275: [PATCH 4/9] Split EasyPG libraries into outline sections Jonas Bernoulli
                   ` (10 subsequent siblings)
  13 siblings, 0 replies; 60+ messages in thread
From: Jonas Bernoulli @ 2020-05-14 19:13 UTC (permalink / raw)
  To: 41270

---
 lisp/epg-config.el | 14 +++++++-------
 1 file changed, 7 insertions(+), 7 deletions(-)

diff --git a/lisp/epg-config.el b/lisp/epg-config.el
index daa9a5abd1..1c42924652 100644
--- a/lisp/epg-config.el
+++ b/lisp/epg-config.el
@@ -202,13 +202,13 @@ epg-config--make-gpg-configuration
 	(cond
 	 ((eq type 'group)
 	  (if (string-match "\\`\\([^:]+\\):" args)
-		  (setq groups
-			(cons (cons (downcase (match-string 1 args))
-				    (delete "" (split-string
-						(substring args
-							   (match-end 0))
-						";")))
-			      groups))
+	      (setq groups
+		    (cons (cons (downcase (match-string 1 args))
+				(delete "" (split-string
+					    (substring args
+						       (match-end 0))
+					    ";")))
+			  groups))
 	    (if epg-debug
 		(message "Invalid group configuration: %S" args))))
 	 ((memq type '(pubkey cipher digest compress))
-- 
2.26.0






^ permalink raw reply related	[flat|nested] 60+ messages in thread

* bug#41275: [PATCH 4/9] Split EasyPG libraries into outline sections
  2020-05-14 19:13 bug#41276: [PATCH 0/9] Various small improvements to EasyPG Jonas Bernoulli
                   ` (2 preceding siblings ...)
  2020-05-14 19:13 ` bug#41270: [PATCH 3/9] * lisp/epg-config.el (epg-config--make-gpg-configuration): Fix indentation Jonas Bernoulli
@ 2020-05-14 19:13 ` Jonas Bernoulli
  2020-05-14 19:13 ` bug#41277: [PATCH 5/9] Improve and add doc-strings Jonas Bernoulli
                   ` (9 subsequent siblings)
  13 siblings, 0 replies; 60+ messages in thread
From: Jonas Bernoulli @ 2020-05-14 19:13 UTC (permalink / raw)
  To: 41275

lisp/epa-dired.el, lisp/epa-file.el, lisp/epa-hook.el,
lisp/epa-mail.el, lisp/epa.el, lisp/epg-config.el, lisp/epg.el:
Split into outline sections.
---
 lisp/epa-dired.el  |  1 +
 lisp/epa-file.el   |  9 +++++++++
 lisp/epa-hook.el   |  1 +
 lisp/epa-mail.el   |  9 +++++++++
 lisp/epa.el        | 23 +++++++++++++++++++++++
 lisp/epg-config.el |  8 ++++++++
 lisp/epg.el        | 26 +++++++++++++++++++++++++-
 7 files changed, 76 insertions(+), 1 deletion(-)

diff --git a/lisp/epa-dired.el b/lisp/epa-dired.el
index f601d42656..1bcfb758ed 100644
--- a/lisp/epa-dired.el
+++ b/lisp/epa-dired.el
@@ -1,4 +1,5 @@
 ;;; epa-dired.el --- the EasyPG Assistant, dired extension -*- lexical-binding: t -*-
+
 ;; Copyright (C) 2006-2020 Free Software Foundation, Inc.
 
 ;; Author: Daiki Ueno <ueno@unixuser.org>
diff --git a/lisp/epa-file.el b/lisp/epa-file.el
index dedf20b0d7..43399d2852 100644
--- a/lisp/epa-file.el
+++ b/lisp/epa-file.el
@@ -1,4 +1,5 @@
 ;;; epa-file.el --- the EasyPG Assistant, transparent file encryption -*- lexical-binding: t -*-
+
 ;; Copyright (C) 2006-2020 Free Software Foundation, Inc.
 
 ;; Author: Daiki Ueno <ueno@unixuser.org>
@@ -25,6 +26,8 @@
 (require 'epa)
 (require 'epa-hook)
 
+;;; Options
+
 (defcustom epa-file-cache-passphrase-for-symmetric-encryption nil
   "If non-nil, cache passphrase for symmetric encryption.
 
@@ -49,6 +52,8 @@ epa-file-select-keys
 		 (const :tag "Don't ask" silent))
   :group 'epa-file)
 
+;;; Other
+
 (defvar epa-file-passphrase-alist nil)
 
 (eval-and-compile
@@ -82,6 +87,8 @@ epa-file-passphrase-callback-function
 		passphrase))))
     (epa-passphrase-callback-function context key-id file)))
 
+;;; File Handler
+
 (defvar epa-inhibit nil
   "Non-nil means don't try to decrypt .gpg files when operating on them.")
 
@@ -317,6 +324,8 @@ epa-file-write-region
 	(message "Wrote %s" buffer-file-name))))
 (put 'write-region 'epa-file 'epa-file-write-region)
 
+;;; Commands
+
 (defun epa-file-select-keys ()
   "Select recipients for encryption."
   (interactive)
diff --git a/lisp/epa-hook.el b/lisp/epa-hook.el
index d424e7a9fa..002f46ad27 100644
--- a/lisp/epa-hook.el
+++ b/lisp/epa-hook.el
@@ -1,4 +1,5 @@
 ;;; epa-hook.el --- preloaded code to enable epa-file.el -*- lexical-binding: t -*-
+
 ;; Copyright (C) 2006-2020 Free Software Foundation, Inc.
 
 ;; Author: Daiki Ueno <ueno@unixuser.org>
diff --git a/lisp/epa-mail.el b/lisp/epa-mail.el
index 00f560af0b..4c57235394 100644
--- a/lisp/epa-mail.el
+++ b/lisp/epa-mail.el
@@ -1,4 +1,5 @@
 ;;; epa-mail.el --- the EasyPG Assistant, minor-mode for mail composer -*- lexical-binding: t -*-
+
 ;; Copyright (C) 2006-2020 Free Software Foundation, Inc.
 
 ;; Author: Daiki Ueno <ueno@unixuser.org>
@@ -25,6 +26,8 @@
 (require 'epa)
 (require 'mail-utils)
 
+;;; Local Mode
+
 (defvar epa-mail-mode-map
   (let ((keymap (make-sparse-keymap)))
     (define-key keymap "\C-c\C-ed" 'epa-mail-decrypt)
@@ -50,6 +53,8 @@ epa-mail-mode
   "A minor-mode for composing encrypted/clearsigned mails."
   nil " epa-mail" epa-mail-mode-map)
 
+;;; Utilities
+
 (defun epa-mail--find-usable-key (keys usage)
   "Find a usable key from KEYS for USAGE.
 USAGE would be `sign' or `encrypt'."
@@ -64,6 +69,8 @@ epa-mail--find-usable-key
 	  (setq pointer (cdr pointer))))
       (setq keys (cdr keys)))))
 
+;;; Commands
+
 ;;;###autoload
 (defun epa-mail-decrypt ()
   "Decrypt OpenPGP armors in the current buffer.
@@ -238,6 +245,8 @@ epa-mail-import-keys
   (interactive)
   (epa-import-armor-in-region (point-min) (point-max)))
 
+;;; Global Mode
+
 ;;;###autoload
 (define-minor-mode epa-global-mail-mode
   "Minor mode to hook EasyPG into Mail mode."
diff --git a/lisp/epa.el b/lisp/epa.el
index 7fb5a92547..62a4941f9d 100644
--- a/lisp/epa.el
+++ b/lisp/epa.el
@@ -28,6 +28,8 @@
 (eval-when-compile (require 'wid-edit))
 (require 'derived)
 
+;;; Options
+
 (defgroup epa nil
   "The EasyPG Assistant"
   :version "23.1"
@@ -71,6 +73,8 @@ epa-mail-aliases
   :group 'epa
   :version "24.4")
 
+;;; Faces
+
 (defgroup epa-faces nil
   "Faces for epa-mode."
   :version "23.1"
@@ -141,6 +145,8 @@ epa-validity-face-alist
   :type '(repeat (cons symbol face))
   :group 'epa-faces)
 
+;;; Variables
+
 (defvar epa-font-lock-keywords
   '(("^\\*"
      (0 'epa-mark))
@@ -245,6 +251,8 @@ epa-info-mode-map
 
 (defvar epa-exit-buffer-function #'quit-window)
 
+;;; Key Widget
+
 (define-widget 'epa-key 'push-button
   "Button for representing an epg-key object."
   :format "%[%v%]"
@@ -286,6 +294,8 @@ epa--key-widget-help-echo
 	  (epg-sub-key-id (car (epg-key-sub-key-list
 				(widget-get widget :value))))))
 
+;;; Modes
+
 (define-derived-mode epa-key-list-mode special-mode "EPA Keys"
   "Major mode for `epa-list-keys'."
   (buffer-disable-undo)
@@ -309,6 +319,9 @@ epa-info-mode
   (setq truncate-lines t
 	buffer-read-only t))
 
+;;; Commands
+;;;; Marking
+
 (defun epa-mark-key (&optional arg)
   "Mark a key on the current line.
 If ARG is non-nil, unmark the key."
@@ -331,12 +344,16 @@ epa-unmark-key
   (interactive "P")
   (epa-mark-key (not arg)))
 
+;;;; Quitting
+
 (defun epa-exit-buffer ()
   "Exit the current buffer.
 `epa-exit-buffer-function' is called if it is set."
   (interactive)
   (funcall epa-exit-buffer-function))
 
+;;;; Listing and Selecting
+
 (defun epa--insert-keys (keys)
   (save-excursion
     (save-restriction
@@ -500,6 +517,8 @@ epa-select-keys
   (let ((keys (epg-list-keys context names secret)))
     (epa--select-keys prompt keys)))
 
+;;;; Key Details
+
 (defun epa--show-key (key)
   (let* ((primary-sub-key (car (epg-key-sub-key-list key)))
 	 (entry (assoc (epg-sub-key-id primary-sub-key)
@@ -578,6 +597,8 @@ epa--show-key
     (goto-char (point-min))
     (pop-to-buffer (current-buffer))))
 
+;;;; Encryption and Signatures
+
 (defun epa-display-info (info)
   (if epa-popup-info-window
       (save-selected-window
@@ -1178,6 +1199,8 @@ epa-encrypt-region
 				 'start-open t
 				 'end-open t)))))
 
+;;;; Key Management
+
 ;;;###autoload
 (defun epa-delete-keys (keys &optional allow-secret)
   "Delete selected KEYS."
diff --git a/lisp/epg-config.el b/lisp/epg-config.el
index 1c42924652..a148737f1c 100644
--- a/lisp/epg-config.el
+++ b/lisp/epg-config.el
@@ -25,6 +25,8 @@
 
 (eval-when-compile (require 'cl-lib))
 
+;;; Constants (1/2)
+
 (defconst epg-package-name "epg"
   "Name of this package.")
 
@@ -34,6 +36,8 @@ epg-version-number
 (define-obsolete-variable-alias 'epg-bug-report-address
   'report-emacs-bug-address "27.1")
 
+;;; Options
+
 (defgroup epg ()
   "Interface to the GNU Privacy Guard (GnuPG)."
   :tag "EasyPG"
@@ -106,6 +110,8 @@ epg-debug
 Note that the buffer name starts with a space."
   :type 'boolean)
 
+;;; Constants (2/2)
+
 (defconst epg-gpg-minimum-version "1.4.3")
 (defconst epg-gpg2-minimum-version "2.1.6")
 
@@ -133,6 +139,8 @@ epg-config--configuration-constructor-alist
 either `OpenPGP' or `CMS'.  The second element is a function
 which constructs a configuration object (actually a plist).")
 
+;;; "Configuration"
+
 (defvar epg--configurations nil)
 
 ;;;###autoload
diff --git a/lisp/epg.el b/lisp/epg.el
index 222fd913e1..4bb9e998e1 100644
--- a/lisp/epg.el
+++ b/lisp/epg.el
@@ -1,4 +1,5 @@
 ;;; epg.el --- the EasyPG Library -*- lexical-binding: t -*-
+
 ;; Copyright (C) 1999-2000, 2002-2020 Free Software Foundation, Inc.
 
 ;; Author: Daiki Ueno <ueno@unixuser.org>
@@ -25,6 +26,10 @@
 (require 'epg-config)
 (eval-when-compile (require 'cl-lib))
 
+(define-error 'epg-error "GPG error")
+
+;;; Variables
+
 (defvar epg-user-id nil
   "GnuPG ID of your default identity.")
 
@@ -41,6 +46,8 @@ epg-debug-buffer
 (defvar epg-agent-file nil)
 (defvar epg-agent-mtime nil)
 
+;;; Enums
+
 ;; from gnupg/common/openpgpdefs.h
 (defconst epg-cipher-algorithm-alist
   '((0 . "NONE")
@@ -169,7 +176,8 @@ epg-dn-type-alist
 
 (defvar epg-prompt-alist nil)
 
-(define-error 'epg-error "GPG error")
+;;; Structs
+;;;; Data Struct
 
 (cl-defstruct (epg-data
                (:constructor nil)
@@ -180,6 +188,8 @@ 'epg-error
   (file nil :read-only t)
   (string nil :read-only t))
 
+;;;; Context Struct
+
 (cl-defstruct (epg-context
                (:constructor nil)
                (:constructor epg-context--make
@@ -218,6 +228,8 @@ 'epg-error
   (error-output "")
   error-buffer)
 
+;;;; Context Methods
+
 ;; This is not an alias, just so we can mark it as autoloaded.
 ;;;###autoload
 (defun epg-make-context (&optional protocol armor textmode include-certs
@@ -281,6 +293,8 @@ epg-context-set-signers
   (declare (obsolete setf "25.1"))
   (setf (epg-context-signers context) signers))
 
+;;;; Other Structs
+
 (cl-defstruct (epg-signature
                (:constructor nil)
                (:constructor epg-make-signature
@@ -385,6 +399,8 @@ epg-context-set-signers
   secret-unchanged not-imported
   imports)
 
+;;; Functions
+
 (defun epg-context-result-for (context name)
   "Return the result of CONTEXT associated with NAME."
   (cdr (assq name (epg-context-result context))))
@@ -859,6 +875,8 @@ epg--prompt-GET_BOOL-untrusted_key.override
 		  (format "Untrusted key %s %s.  Use anyway? " key-id user-id))
 	      "Use untrusted key anyway? ")))
 
+;;; Status Functions
+
 (defun epg--status-GET_BOOL (context string)
   (let (inhibit-quit)
     (condition-case nil
@@ -1234,6 +1252,8 @@ epg--status-IMPORT_RES
 			     (epg-context-result-for context 'import-status)))
     (epg-context-set-result-for context 'import-status nil)))
 
+;;; Functions
+
 (defun epg-passphrase-callback-function (context key-id _handback)
   (declare (obsolete epa-passphrase-callback-function "23.1"))
   (if (eq key-id 'SYM)
@@ -1303,6 +1323,8 @@ epg--make-sub-key-1
    (if (aref line 6)
        (epg--time-from-seconds (aref line 6)))))
 
+;;; Public Functions
+
 (defun epg-list-keys (context &optional name mode)
   "Return a list of epg-key objects matched with NAME.
 If MODE is nil or `public', only public keyring should be searched.
@@ -2031,6 +2053,8 @@ epg-edit-key
 			    (epg-errors-to-string errors))))))
     (epg-reset context)))
 
+;;; Decode Functions
+
 (defun epg--decode-percent-escape (string)
   (setq string (encode-coding-string string 'raw-text))
   (let ((index 0))
-- 
2.26.0






^ permalink raw reply related	[flat|nested] 60+ messages in thread

* bug#41277: [PATCH 5/9] Improve and add doc-strings
  2020-05-14 19:13 bug#41276: [PATCH 0/9] Various small improvements to EasyPG Jonas Bernoulli
                   ` (3 preceding siblings ...)
  2020-05-14 19:13 ` bug#41275: [PATCH 4/9] Split EasyPG libraries into outline sections Jonas Bernoulli
@ 2020-05-14 19:13 ` Jonas Bernoulli
  2020-05-14 19:13 ` bug#41268: [PATCH 6/9] Drop unnecessary backward compatibility aliases Jonas Bernoulli
                   ` (8 subsequent siblings)
  13 siblings, 0 replies; 60+ messages in thread
From: Jonas Bernoulli @ 2020-05-14 19:13 UTC (permalink / raw)
  To: 41277

* lisp/epa-file.el (epa-file-select-keys), lisp/epa-hook.el
  (epa-file-name-regexp), lisp/epa.el (epa-exit-buffer): Improve
  doc-string.

* lisp/epa-hook.el (epa-file-name-regexp-update): Add doc-string.
---
 lisp/epa-file.el |  4 ++--
 lisp/epa-hook.el | 11 +++++++----
 lisp/epa.el      |  3 +--
 3 files changed, 10 insertions(+), 8 deletions(-)

diff --git a/lisp/epa-file.el b/lisp/epa-file.el
index 43399d2852..ede7177054 100644
--- a/lisp/epa-file.el
+++ b/lisp/epa-file.el
@@ -43,9 +43,9 @@ epa-file-cache-passphrase-for-symmetric-encryption
 (defcustom epa-file-select-keys nil
   "Control whether or not to pop up the key selection dialog.
 
-If t, always asks user to select recipients.
+If t, always ask user to select recipients.
 If nil, query user only when `epa-file-encrypt-to' is not set.
-If neither t nor nil, doesn't ask user.  In this case, symmetric
+If neither t nor nil, don't ask user.  In this case, symmetric
 encryption is used."
   :type '(choice (const :tag "Ask always" t)
 		 (const :tag "Ask when recipients are not set" nil)
diff --git a/lisp/epa-hook.el b/lisp/epa-hook.el
index 002f46ad27..6f12f8a6bf 100644
--- a/lisp/epa-hook.el
+++ b/lisp/epa-hook.el
@@ -36,10 +36,10 @@ epa-file--file-name-regexp-set
 (defcustom epa-file-name-regexp (purecopy "\\.gpg\\(~\\|\\.~[0-9]+~\\)?\\'")
   "Regexp which matches filenames to be encrypted with GnuPG.
 
-If you set this outside Custom while epa-file is already enabled, you
-have to call `epa-file-name-regexp-update' after setting it to
-properly update file-name-handler-alist.  Setting this through Custom
-does that automatically."
+If you set this outside Custom while epa-file is already enabled,
+you have to call `epa-file-name-regexp-update' after setting it
+to properly update `file-name-handler-alist'.  Setting this
+through Custom does that automatically."
   :type 'regexp
   :group 'epa-file
   :set 'epa-file--file-name-regexp-set)
@@ -73,6 +73,9 @@ epa-file-auto-mode-alist-entry
   (list epa-file-name-regexp nil 'epa-file))
 
 (defun epa-file-name-regexp-update ()
+  "Update `file-name-handler-alist' after configuring outside Custom.
+After setting `epa-file-name-regexp-update' outside the Custom
+interface, update `file-name-handler-alist'."
   (interactive)
   (unless (equal (car epa-file-handler) epa-file-name-regexp)
     (setcar epa-file-handler epa-file-name-regexp)))
diff --git a/lisp/epa.el b/lisp/epa.el
index 62a4941f9d..b06b0ac8e4 100644
--- a/lisp/epa.el
+++ b/lisp/epa.el
@@ -347,8 +347,7 @@ epa-unmark-key
 ;;;; Quitting
 
 (defun epa-exit-buffer ()
-  "Exit the current buffer.
-`epa-exit-buffer-function' is called if it is set."
+  "Exit the current buffer using `epa-exit-buffer-function'."
   (interactive)
   (funcall epa-exit-buffer-function))
 
-- 
2.26.0






^ permalink raw reply related	[flat|nested] 60+ messages in thread

* bug#41268: [PATCH 6/9] Drop unnecessary backward compatibility aliases
  2020-05-14 19:13 bug#41276: [PATCH 0/9] Various small improvements to EasyPG Jonas Bernoulli
                   ` (4 preceding siblings ...)
  2020-05-14 19:13 ` bug#41277: [PATCH 5/9] Improve and add doc-strings Jonas Bernoulli
@ 2020-05-14 19:13 ` Jonas Bernoulli
  2020-05-14 19:13 ` bug#41271: [PATCH 7/9] Cosmetic changes to epa libraries Jonas Bernoulli
                   ` (7 subsequent siblings)
  13 siblings, 0 replies; 60+ messages in thread
From: Jonas Bernoulli @ 2020-05-14 19:13 UTC (permalink / raw)
  To: 41268

* lisp/epa-file.el (epa-file--encode-coding-string,
  epa-file--decode-coding-string): Remove aliases for
  encode-coding-string and decode-coding-string.

* lisp/epa-file.el (epa-file-write-region): Use encode-coding-string
  instead of removed epa-file--encode-coding-string.

encode-coding-string and decode-coding-string existed every since
4ed4686978bd18292e2bb7b87a7b0e0407ecb3b1 added them in 1997.
---
 lisp/epa-file.el | 22 ++++------------------
 1 file changed, 4 insertions(+), 18 deletions(-)

diff --git a/lisp/epa-file.el b/lisp/epa-file.el
index ede7177054..3e23c09a51 100644
--- a/lisp/epa-file.el
+++ b/lisp/epa-file.el
@@ -56,16 +56,6 @@ epa-file-select-keys
 
 (defvar epa-file-passphrase-alist nil)
 
-(eval-and-compile
-  (if (fboundp 'encode-coding-string)
-      (defalias 'epa-file--encode-coding-string 'encode-coding-string)
-    (defalias 'epa-file--encode-coding-string 'identity)))
-
-(eval-and-compile
-  (if (fboundp 'decode-coding-string)
-      (defalias 'epa-file--decode-coding-string 'decode-coding-string)
-    (defalias 'epa-file--decode-coding-string 'identity)))
-
 (defun epa-file-passphrase-callback-function (context key-id file)
   (if (and epa-file-cache-passphrase-for-symmetric-encryption
 	   (eq key-id 'SYM))
@@ -243,11 +233,7 @@ epa-file-write-region
   (setq file (expand-file-name file))
   (let* ((coding-system (or coding-system-for-write
 			    (if (fboundp 'select-safe-coding-system)
-				;; This is needed since Emacs 22 has
-				;; no-conversion setting for *.gpg in
-				;; `auto-coding-alist'.
-			        (let ((buffer-file-name
-				       (file-name-sans-extension file)))
+			        (let ((buffer-file-name file))
 				  (select-safe-coding-system
 				   (point-min) (point-max)))
 			      buffer-file-coding-system)))
@@ -273,7 +259,7 @@ epa-file-write-region
 	      (epg-encrypt-string
 	       context
 	       (if (stringp start)
-		   (epa-file--encode-coding-string start coding-system)
+		   (encode-coding-string start coding-system)
 		 (unless start
 		   (setq start (point-min)
 			 end (point-max)))
@@ -287,8 +273,8 @@ epa-file-write-region
 		   ;; decrypted contents.
 		   (format-encode-buffer (with-current-buffer buffer
 					   buffer-file-format))
-		   (epa-file--encode-coding-string (buffer-string)
-						   coding-system)))
+		   (encode-coding-string (buffer-string)
+					 coding-system)))
 	       (if (or (eq epa-file-select-keys t)
 		       (and (null epa-file-select-keys)
 			    (not (local-variable-p 'epa-file-encrypt-to
-- 
2.26.0






^ permalink raw reply related	[flat|nested] 60+ messages in thread

* bug#41271: [PATCH 7/9] Cosmetic changes to epa libraries
  2020-05-14 19:13 bug#41276: [PATCH 0/9] Various small improvements to EasyPG Jonas Bernoulli
                   ` (5 preceding siblings ...)
  2020-05-14 19:13 ` bug#41268: [PATCH 6/9] Drop unnecessary backward compatibility aliases Jonas Bernoulli
@ 2020-05-14 19:13 ` Jonas Bernoulli
  2020-05-14 19:13 ` bug#41273: [PATCH 8/9] epa-key-list-mode-map: Use widget-keymap as parent keymap Jonas Bernoulli
                   ` (6 subsequent siblings)
  13 siblings, 0 replies; 60+ messages in thread
From: Jonas Bernoulli @ 2020-05-14 19:13 UTC (permalink / raw)
  To: 41271

* lisp/epa-dired.el (epa-dired-do-decrypt, epa-dired-do-verify
epa-dired-do-sign, epa-dired-do-encrypt): Use dolist instead of while.

* lisp/epa-file.el (epa-file-passphrase-callback-function): Set just
  one variable per setq call.
---
 lisp/epa-dired.el | 44 ++++++++++++++++++--------------------------
 lisp/epa-file.el  |  4 ++--
 2 files changed, 20 insertions(+), 28 deletions(-)

diff --git a/lisp/epa-dired.el b/lisp/epa-dired.el
index 1bcfb758ed..4ff1ba3394 100644
--- a/lisp/epa-dired.el
+++ b/lisp/epa-dired.el
@@ -30,48 +30,40 @@
 (defun epa-dired-do-decrypt ()
   "Decrypt marked files."
   (interactive)
-  (let ((file-list (dired-get-marked-files)))
-    (while file-list
-      (epa-decrypt-file (expand-file-name (car file-list)))
-      (setq file-list (cdr file-list)))
-    (revert-buffer)))
+  (dolist (file (dired-get-marked-files))
+    (epa-decrypt-file (expand-file-name file)))
+  (revert-buffer))
 
 ;;;###autoload
 (defun epa-dired-do-verify ()
   "Verify marked files."
   (interactive)
-  (let ((file-list (dired-get-marked-files)))
-    (while file-list
-      (epa-verify-file (expand-file-name (car file-list)))
-      (setq file-list (cdr file-list)))))
+  (dolist (file (dired-get-marked-files))
+    (epa-verify-file (expand-file-name file))))
 
 ;;;###autoload
 (defun epa-dired-do-sign ()
   "Sign marked files."
   (interactive)
-  (let ((file-list (dired-get-marked-files)))
-    (while file-list
-      (epa-sign-file
-       (expand-file-name (car file-list))
-       (epa-select-keys (epg-make-context) "Select keys for signing.
+  (dolist (file (dired-get-marked-files))
+    (epa-sign-file
+     (expand-file-name file)
+     (epa-select-keys (epg-make-context) "Select keys for signing.
 If no one is selected, default secret key is used.  "
-			nil t)
-       (y-or-n-p "Make a detached signature? "))
-      (setq file-list (cdr file-list)))
-    (revert-buffer)))
+		      nil t)
+     (y-or-n-p "Make a detached signature? ")))
+  (revert-buffer))
 
 ;;;###autoload
 (defun epa-dired-do-encrypt ()
   "Encrypt marked files."
   (interactive)
-  (let ((file-list (dired-get-marked-files)))
-    (while file-list
-      (epa-encrypt-file
-       (expand-file-name (car file-list))
-       (epa-select-keys (epg-make-context) "Select recipients for encryption.
-If no one is selected, symmetric encryption will be performed.  "))
-      (setq file-list (cdr file-list)))
-    (revert-buffer)))
+  (dolist (file (dired-get-marked-files))
+    (epa-encrypt-file
+     (expand-file-name file)
+     (epa-select-keys (epg-make-context) "Select recipients for encryption.
+If no one is selected, symmetric encryption will be performed.  ")))
+  (revert-buffer))
 
 (provide 'epa-dired)
 
diff --git a/lisp/epa-file.el b/lisp/epa-file.el
index 3e23c09a51..de51c59c34 100644
--- a/lisp/epa-file.el
+++ b/lisp/epa-file.el
@@ -66,8 +66,8 @@ epa-file-passphrase-callback-function
 	  (or (copy-sequence (cdr entry))
 	      (progn
 		(unless entry
-		  (setq entry (list file)
-			epa-file-passphrase-alist
+		  (setq entry (list file))
+		  (setq epa-file-passphrase-alist
 			(cons entry
 			      epa-file-passphrase-alist)))
 		(setq passphrase (epa-passphrase-callback-function context
-- 
2.26.0






^ permalink raw reply related	[flat|nested] 60+ messages in thread

* bug#41273: [PATCH 8/9] epa-key-list-mode-map: Use widget-keymap as parent keymap
  2020-05-14 19:13 bug#41276: [PATCH 0/9] Various small improvements to EasyPG Jonas Bernoulli
                   ` (6 preceding siblings ...)
  2020-05-14 19:13 ` bug#41271: [PATCH 7/9] Cosmetic changes to epa libraries Jonas Bernoulli
@ 2020-05-14 19:13 ` Jonas Bernoulli
  2020-05-14 19:13 ` bug#41274: [PATCH 9/9] * lisp/epa.el (epa-show-key): New command Jonas Bernoulli
                   ` (5 subsequent siblings)
  13 siblings, 0 replies; 60+ messages in thread
From: Jonas Bernoulli @ 2020-05-14 19:13 UTC (permalink / raw)
  To: 41273

* lisp/epa.el (epa-key-list-mode-map): Set the parent of this keymap
  while defining this keymap.

* lisp/epa.el (epa--list-keys): Do not set the parent of the local
  keymap here.
---
 lisp/epa.el | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/lisp/epa.el b/lisp/epa.el
index b06b0ac8e4..1e0a0132d2 100644
--- a/lisp/epa.el
+++ b/lisp/epa.el
@@ -191,6 +191,7 @@ epa-last-coding-system-specified
 (defvar epa-key-list-mode-map
   (let ((keymap (make-sparse-keymap))
 	(menu-map (make-sparse-keymap)))
+    (set-keymap-parent keymap widget-keymap)
     (define-key keymap "m" 'epa-mark-key)
     (define-key keymap "u" 'epa-unmark-key)
     (define-key keymap "d" 'epa-decrypt-file)
@@ -413,8 +414,7 @@ epa--list-keys
       (goto-char point))
 
     (epa--insert-keys (epg-list-keys context name secret))
-    (widget-setup)
-    (set-keymap-parent (current-local-map) widget-keymap))
+    (widget-setup))
   (make-local-variable 'epa-list-keys-arguments)
   (setq epa-list-keys-arguments (list name secret))
   (goto-char (point-min))
-- 
2.26.0






^ permalink raw reply related	[flat|nested] 60+ messages in thread

* bug#41274: [PATCH 9/9] * lisp/epa.el (epa-show-key): New command
  2020-05-14 19:13 bug#41276: [PATCH 0/9] Various small improvements to EasyPG Jonas Bernoulli
                   ` (7 preceding siblings ...)
  2020-05-14 19:13 ` bug#41273: [PATCH 8/9] epa-key-list-mode-map: Use widget-keymap as parent keymap Jonas Bernoulli
@ 2020-05-14 19:13 ` Jonas Bernoulli
  2020-06-23 22:57   ` Basil L. Contovounesios
       [not found] ` <handler.41276.B.15894836275636.ack@debbugs.gnu.org>
                   ` (4 subsequent siblings)
  13 siblings, 1 reply; 60+ messages in thread
From: Jonas Bernoulli @ 2020-05-14 19:13 UTC (permalink / raw)
  To: 41274

Users can move in `epa-key-list-mode' buffers using either
`next-line'/`previous-line' or `widget-forward'/`widget-backward'.
When using the first set of commands, then the cursor stays in the
column and that normally is the first column.  The key widgets do
not begin until the third character of their respective lines.

All `epa' commands work regardless of whether the cursor is on the
widget or before them.  The `epa-show-key' command did not exist until
now because the `widget-button-press' already performs its task.  But
because the widgets don't span complete lines we actually need this
command too.
---
 lisp/epa.el | 13 ++++++++++++-
 1 file changed, 12 insertions(+), 1 deletion(-)

diff --git a/lisp/epa.el b/lisp/epa.el
index 1e0a0132d2..fe5dd4321a 100644
--- a/lisp/epa.el
+++ b/lisp/epa.el
@@ -25,7 +25,9 @@
 (require 'epg)
 (require 'font-lock)
 (require 'widget)
-(eval-when-compile (require 'wid-edit))
+(eval-when-compile
+  (require 'subr-x)
+  (require 'wid-edit))
 (require 'derived)
 
 ;;; Options
@@ -192,6 +194,7 @@ epa-key-list-mode-map
   (let ((keymap (make-sparse-keymap))
 	(menu-map (make-sparse-keymap)))
     (set-keymap-parent keymap widget-keymap)
+    (define-key keymap "\C-m" 'epa-show-key)
     (define-key keymap "m" 'epa-mark-key)
     (define-key keymap "u" 'epa-unmark-key)
     (define-key keymap "d" 'epa-decrypt-file)
@@ -518,6 +521,14 @@ epa-select-keys
 
 ;;;; Key Details
 
+(defun epa-show-key ()
+  "Show a key on the current line."
+  (interactive)
+  (if-let ((key (get-text-property (point) 'epa-key)))
+      (save-selected-window
+        (epa--show-key key))
+    (error "No key on this line")))
+
 (defun epa--show-key (key)
   (let* ((primary-sub-key (car (epg-key-sub-key-list key)))
 	 (entry (assoc (epg-sub-key-id primary-sub-key)
-- 
2.26.0






^ permalink raw reply related	[flat|nested] 60+ messages in thread

* bug#41276: Acknowledgement ([PATCH 0/9] Various small improvements to EasyPG)
       [not found] ` <handler.41276.B.15894836275636.ack@debbugs.gnu.org>
@ 2020-05-14 20:14   ` Jonas Bernoulli
  2020-05-14 22:33     ` Stefan Kangas
  2020-05-15  7:26     ` Eli Zaretskii
  0 siblings, 2 replies; 60+ messages in thread
From: Jonas Bernoulli @ 2020-05-14 20:14 UTC (permalink / raw)
  To: 41276

Please excuse me for ending up opening an issue per commit and just
delete issues 41268-41275 and 41277 (but not 41276, this issue).

I sent the patches using:
  git send-email 000* --to=bug-gnu-emacs@gnu.org

I should have used
  git send-email 0000-cover-letter.patch --to=bug-gnu-emacs@gnu.org
wait for the response
> If you wish to submit further information on this problem, please
> send it to 41276@debbugs.gnu.org.
and then
  0000-cover-letter.patch
  git send-email 000* --to=41276@debbugs.gnu.org

which is what I am gonna do now.  Fingers crossed.  The patches may
arrive in the wrong order again, I don't know how to prevent that.





^ permalink raw reply	[flat|nested] 60+ messages in thread

* bug#41276: [PATCH 1/9] * lisp/epa.el (epa-faces): Move definition
  2020-05-14 19:13 bug#41276: [PATCH 0/9] Various small improvements to EasyPG Jonas Bernoulli
                   ` (9 preceding siblings ...)
       [not found] ` <handler.41276.B.15894836275636.ack@debbugs.gnu.org>
@ 2020-05-14 20:16 ` Jonas Bernoulli
  2020-05-14 20:16   ` bug#41276: [PATCH 2/9] Add all epa faces to epa-faces Custom group Jonas Bernoulli
                     ` (7 more replies)
  2020-05-14 23:04 ` bug#41276: [PATCH 0/9] Various small improvements to EasyPG Stefan Kangas
                   ` (2 subsequent siblings)
  13 siblings, 8 replies; 60+ messages in thread
From: Jonas Bernoulli @ 2020-05-14 20:16 UTC (permalink / raw)
  To: 41276

Previously option `epa-mail-aliases' was the only option that was
defined right after the group `epa-faces' and right before all the
faces.  Now it is defined with all the other options and thus before
the definition of the `epa-faces' group, which it does not belong to
for obvious reasons.
---
 lisp/epa.el | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/lisp/epa.el b/lisp/epa.el
index 8ec4218735..0dd1cff465 100644
--- a/lisp/epa.el
+++ b/lisp/epa.el
@@ -56,11 +56,6 @@ epa-info-window-height
   :type 'integer
   :group 'epa)
 
-(defgroup epa-faces nil
-  "Faces for epa-mode."
-  :version "23.1"
-  :group 'epa)
-
 (defcustom epa-mail-aliases nil
   "Alist of aliases of email addresses that stand for encryption keys.
 Each element is a list of email addresses (ALIAS EXPANSIONS...).
@@ -76,6 +71,11 @@ epa-mail-aliases
   :group 'epa
   :version "24.4")
 
+(defgroup epa-faces nil
+  "Faces for epa-mode."
+  :version "23.1"
+  :group 'epa)
+
 (defface epa-validity-high
   '((default :weight bold)
     (((class color) (background dark)) :foreground "PaleTurquoise"))
-- 
2.26.0






^ permalink raw reply related	[flat|nested] 60+ messages in thread

* bug#41276: [PATCH 2/9] Add all epa faces to epa-faces Custom group
  2020-05-14 20:16 ` bug#41276: [PATCH 1/9] * lisp/epa.el (epa-faces): Move definition Jonas Bernoulli
@ 2020-05-14 20:16   ` Jonas Bernoulli
  2020-05-15  9:32     ` Robert Pluim
  2020-05-14 20:16   ` bug#41276: [PATCH 3/9] * lisp/epg-config.el (epg-config--make-gpg-configuration): Fix indentation Jonas Bernoulli
                     ` (6 subsequent siblings)
  7 siblings, 1 reply; 60+ messages in thread
From: Jonas Bernoulli @ 2020-05-14 20:16 UTC (permalink / raw)
  To: 41276

'epa-validity-face-alist' isn't actually a face but belongs in that
group anyway.

* lisp/epa.el (epa-field-name, epa-field-body,
epa-validity-face-alist): Add to epa-faces Custom group
---
 lisp/epa.el | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/lisp/epa.el b/lisp/epa.el
index 0dd1cff465..7fb5a92547 100644
--- a/lisp/epa.el
+++ b/lisp/epa.el
@@ -117,13 +117,13 @@ epa-field-name
   '((default :weight bold)
     (((class color) (background dark)) :foreground "PaleTurquoise"))
   "Face for the name of the attribute field."
-  :group 'epa)
+  :group 'epa-faces)
 
 (defface epa-field-body
   '((default :slant italic)
     (((class color) (background dark)) :foreground "turquoise"))
   "Face for the body of the attribute field."
-  :group 'epa)
+  :group 'epa-faces)
 
 (defcustom epa-validity-face-alist
   '((unknown . epa-validity-disabled)
@@ -139,7 +139,7 @@ epa-validity-face-alist
     (ultimate . epa-validity-high))
   "An alist mapping validity values to faces."
   :type '(repeat (cons symbol face))
-  :group 'epa)
+  :group 'epa-faces)
 
 (defvar epa-font-lock-keywords
   '(("^\\*"
-- 
2.26.0






^ permalink raw reply related	[flat|nested] 60+ messages in thread

* bug#41276: [PATCH 3/9] * lisp/epg-config.el (epg-config--make-gpg-configuration): Fix indentation
  2020-05-14 20:16 ` bug#41276: [PATCH 1/9] * lisp/epa.el (epa-faces): Move definition Jonas Bernoulli
  2020-05-14 20:16   ` bug#41276: [PATCH 2/9] Add all epa faces to epa-faces Custom group Jonas Bernoulli
@ 2020-05-14 20:16   ` Jonas Bernoulli
  2020-05-14 20:16   ` bug#41276: [PATCH 4/9] Split EasyPG libraries into outline sections Jonas Bernoulli
                     ` (5 subsequent siblings)
  7 siblings, 0 replies; 60+ messages in thread
From: Jonas Bernoulli @ 2020-05-14 20:16 UTC (permalink / raw)
  To: 41276

---
 lisp/epg-config.el | 14 +++++++-------
 1 file changed, 7 insertions(+), 7 deletions(-)

diff --git a/lisp/epg-config.el b/lisp/epg-config.el
index daa9a5abd1..1c42924652 100644
--- a/lisp/epg-config.el
+++ b/lisp/epg-config.el
@@ -202,13 +202,13 @@ epg-config--make-gpg-configuration
 	(cond
 	 ((eq type 'group)
 	  (if (string-match "\\`\\([^:]+\\):" args)
-		  (setq groups
-			(cons (cons (downcase (match-string 1 args))
-				    (delete "" (split-string
-						(substring args
-							   (match-end 0))
-						";")))
-			      groups))
+	      (setq groups
+		    (cons (cons (downcase (match-string 1 args))
+				(delete "" (split-string
+					    (substring args
+						       (match-end 0))
+					    ";")))
+			  groups))
 	    (if epg-debug
 		(message "Invalid group configuration: %S" args))))
 	 ((memq type '(pubkey cipher digest compress))
-- 
2.26.0






^ permalink raw reply related	[flat|nested] 60+ messages in thread

* bug#41276: [PATCH 4/9] Split EasyPG libraries into outline sections
  2020-05-14 20:16 ` bug#41276: [PATCH 1/9] * lisp/epa.el (epa-faces): Move definition Jonas Bernoulli
  2020-05-14 20:16   ` bug#41276: [PATCH 2/9] Add all epa faces to epa-faces Custom group Jonas Bernoulli
  2020-05-14 20:16   ` bug#41276: [PATCH 3/9] * lisp/epg-config.el (epg-config--make-gpg-configuration): Fix indentation Jonas Bernoulli
@ 2020-05-14 20:16   ` Jonas Bernoulli
  2020-05-14 20:16   ` bug#41276: [PATCH 5/9] Improve and add doc-strings Jonas Bernoulli
                     ` (4 subsequent siblings)
  7 siblings, 0 replies; 60+ messages in thread
From: Jonas Bernoulli @ 2020-05-14 20:16 UTC (permalink / raw)
  To: 41276

lisp/epa-dired.el, lisp/epa-file.el, lisp/epa-hook.el,
lisp/epa-mail.el, lisp/epa.el, lisp/epg-config.el, lisp/epg.el:
Split into outline sections.
---
 lisp/epa-dired.el  |  1 +
 lisp/epa-file.el   |  9 +++++++++
 lisp/epa-hook.el   |  1 +
 lisp/epa-mail.el   |  9 +++++++++
 lisp/epa.el        | 23 +++++++++++++++++++++++
 lisp/epg-config.el |  8 ++++++++
 lisp/epg.el        | 26 +++++++++++++++++++++++++-
 7 files changed, 76 insertions(+), 1 deletion(-)

diff --git a/lisp/epa-dired.el b/lisp/epa-dired.el
index f601d42656..1bcfb758ed 100644
--- a/lisp/epa-dired.el
+++ b/lisp/epa-dired.el
@@ -1,4 +1,5 @@
 ;;; epa-dired.el --- the EasyPG Assistant, dired extension -*- lexical-binding: t -*-
+
 ;; Copyright (C) 2006-2020 Free Software Foundation, Inc.
 
 ;; Author: Daiki Ueno <ueno@unixuser.org>
diff --git a/lisp/epa-file.el b/lisp/epa-file.el
index dedf20b0d7..43399d2852 100644
--- a/lisp/epa-file.el
+++ b/lisp/epa-file.el
@@ -1,4 +1,5 @@
 ;;; epa-file.el --- the EasyPG Assistant, transparent file encryption -*- lexical-binding: t -*-
+
 ;; Copyright (C) 2006-2020 Free Software Foundation, Inc.
 
 ;; Author: Daiki Ueno <ueno@unixuser.org>
@@ -25,6 +26,8 @@
 (require 'epa)
 (require 'epa-hook)
 
+;;; Options
+
 (defcustom epa-file-cache-passphrase-for-symmetric-encryption nil
   "If non-nil, cache passphrase for symmetric encryption.
 
@@ -49,6 +52,8 @@ epa-file-select-keys
 		 (const :tag "Don't ask" silent))
   :group 'epa-file)
 
+;;; Other
+
 (defvar epa-file-passphrase-alist nil)
 
 (eval-and-compile
@@ -82,6 +87,8 @@ epa-file-passphrase-callback-function
 		passphrase))))
     (epa-passphrase-callback-function context key-id file)))
 
+;;; File Handler
+
 (defvar epa-inhibit nil
   "Non-nil means don't try to decrypt .gpg files when operating on them.")
 
@@ -317,6 +324,8 @@ epa-file-write-region
 	(message "Wrote %s" buffer-file-name))))
 (put 'write-region 'epa-file 'epa-file-write-region)
 
+;;; Commands
+
 (defun epa-file-select-keys ()
   "Select recipients for encryption."
   (interactive)
diff --git a/lisp/epa-hook.el b/lisp/epa-hook.el
index d424e7a9fa..002f46ad27 100644
--- a/lisp/epa-hook.el
+++ b/lisp/epa-hook.el
@@ -1,4 +1,5 @@
 ;;; epa-hook.el --- preloaded code to enable epa-file.el -*- lexical-binding: t -*-
+
 ;; Copyright (C) 2006-2020 Free Software Foundation, Inc.
 
 ;; Author: Daiki Ueno <ueno@unixuser.org>
diff --git a/lisp/epa-mail.el b/lisp/epa-mail.el
index 00f560af0b..4c57235394 100644
--- a/lisp/epa-mail.el
+++ b/lisp/epa-mail.el
@@ -1,4 +1,5 @@
 ;;; epa-mail.el --- the EasyPG Assistant, minor-mode for mail composer -*- lexical-binding: t -*-
+
 ;; Copyright (C) 2006-2020 Free Software Foundation, Inc.
 
 ;; Author: Daiki Ueno <ueno@unixuser.org>
@@ -25,6 +26,8 @@
 (require 'epa)
 (require 'mail-utils)
 
+;;; Local Mode
+
 (defvar epa-mail-mode-map
   (let ((keymap (make-sparse-keymap)))
     (define-key keymap "\C-c\C-ed" 'epa-mail-decrypt)
@@ -50,6 +53,8 @@ epa-mail-mode
   "A minor-mode for composing encrypted/clearsigned mails."
   nil " epa-mail" epa-mail-mode-map)
 
+;;; Utilities
+
 (defun epa-mail--find-usable-key (keys usage)
   "Find a usable key from KEYS for USAGE.
 USAGE would be `sign' or `encrypt'."
@@ -64,6 +69,8 @@ epa-mail--find-usable-key
 	  (setq pointer (cdr pointer))))
       (setq keys (cdr keys)))))
 
+;;; Commands
+
 ;;;###autoload
 (defun epa-mail-decrypt ()
   "Decrypt OpenPGP armors in the current buffer.
@@ -238,6 +245,8 @@ epa-mail-import-keys
   (interactive)
   (epa-import-armor-in-region (point-min) (point-max)))
 
+;;; Global Mode
+
 ;;;###autoload
 (define-minor-mode epa-global-mail-mode
   "Minor mode to hook EasyPG into Mail mode."
diff --git a/lisp/epa.el b/lisp/epa.el
index 7fb5a92547..62a4941f9d 100644
--- a/lisp/epa.el
+++ b/lisp/epa.el
@@ -28,6 +28,8 @@
 (eval-when-compile (require 'wid-edit))
 (require 'derived)
 
+;;; Options
+
 (defgroup epa nil
   "The EasyPG Assistant"
   :version "23.1"
@@ -71,6 +73,8 @@ epa-mail-aliases
   :group 'epa
   :version "24.4")
 
+;;; Faces
+
 (defgroup epa-faces nil
   "Faces for epa-mode."
   :version "23.1"
@@ -141,6 +145,8 @@ epa-validity-face-alist
   :type '(repeat (cons symbol face))
   :group 'epa-faces)
 
+;;; Variables
+
 (defvar epa-font-lock-keywords
   '(("^\\*"
      (0 'epa-mark))
@@ -245,6 +251,8 @@ epa-info-mode-map
 
 (defvar epa-exit-buffer-function #'quit-window)
 
+;;; Key Widget
+
 (define-widget 'epa-key 'push-button
   "Button for representing an epg-key object."
   :format "%[%v%]"
@@ -286,6 +294,8 @@ epa--key-widget-help-echo
 	  (epg-sub-key-id (car (epg-key-sub-key-list
 				(widget-get widget :value))))))
 
+;;; Modes
+
 (define-derived-mode epa-key-list-mode special-mode "EPA Keys"
   "Major mode for `epa-list-keys'."
   (buffer-disable-undo)
@@ -309,6 +319,9 @@ epa-info-mode
   (setq truncate-lines t
 	buffer-read-only t))
 
+;;; Commands
+;;;; Marking
+
 (defun epa-mark-key (&optional arg)
   "Mark a key on the current line.
 If ARG is non-nil, unmark the key."
@@ -331,12 +344,16 @@ epa-unmark-key
   (interactive "P")
   (epa-mark-key (not arg)))
 
+;;;; Quitting
+
 (defun epa-exit-buffer ()
   "Exit the current buffer.
 `epa-exit-buffer-function' is called if it is set."
   (interactive)
   (funcall epa-exit-buffer-function))
 
+;;;; Listing and Selecting
+
 (defun epa--insert-keys (keys)
   (save-excursion
     (save-restriction
@@ -500,6 +517,8 @@ epa-select-keys
   (let ((keys (epg-list-keys context names secret)))
     (epa--select-keys prompt keys)))
 
+;;;; Key Details
+
 (defun epa--show-key (key)
   (let* ((primary-sub-key (car (epg-key-sub-key-list key)))
 	 (entry (assoc (epg-sub-key-id primary-sub-key)
@@ -578,6 +597,8 @@ epa--show-key
     (goto-char (point-min))
     (pop-to-buffer (current-buffer))))
 
+;;;; Encryption and Signatures
+
 (defun epa-display-info (info)
   (if epa-popup-info-window
       (save-selected-window
@@ -1178,6 +1199,8 @@ epa-encrypt-region
 				 'start-open t
 				 'end-open t)))))
 
+;;;; Key Management
+
 ;;;###autoload
 (defun epa-delete-keys (keys &optional allow-secret)
   "Delete selected KEYS."
diff --git a/lisp/epg-config.el b/lisp/epg-config.el
index 1c42924652..a148737f1c 100644
--- a/lisp/epg-config.el
+++ b/lisp/epg-config.el
@@ -25,6 +25,8 @@
 
 (eval-when-compile (require 'cl-lib))
 
+;;; Constants (1/2)
+
 (defconst epg-package-name "epg"
   "Name of this package.")
 
@@ -34,6 +36,8 @@ epg-version-number
 (define-obsolete-variable-alias 'epg-bug-report-address
   'report-emacs-bug-address "27.1")
 
+;;; Options
+
 (defgroup epg ()
   "Interface to the GNU Privacy Guard (GnuPG)."
   :tag "EasyPG"
@@ -106,6 +110,8 @@ epg-debug
 Note that the buffer name starts with a space."
   :type 'boolean)
 
+;;; Constants (2/2)
+
 (defconst epg-gpg-minimum-version "1.4.3")
 (defconst epg-gpg2-minimum-version "2.1.6")
 
@@ -133,6 +139,8 @@ epg-config--configuration-constructor-alist
 either `OpenPGP' or `CMS'.  The second element is a function
 which constructs a configuration object (actually a plist).")
 
+;;; "Configuration"
+
 (defvar epg--configurations nil)
 
 ;;;###autoload
diff --git a/lisp/epg.el b/lisp/epg.el
index 222fd913e1..4bb9e998e1 100644
--- a/lisp/epg.el
+++ b/lisp/epg.el
@@ -1,4 +1,5 @@
 ;;; epg.el --- the EasyPG Library -*- lexical-binding: t -*-
+
 ;; Copyright (C) 1999-2000, 2002-2020 Free Software Foundation, Inc.
 
 ;; Author: Daiki Ueno <ueno@unixuser.org>
@@ -25,6 +26,10 @@
 (require 'epg-config)
 (eval-when-compile (require 'cl-lib))
 
+(define-error 'epg-error "GPG error")
+
+;;; Variables
+
 (defvar epg-user-id nil
   "GnuPG ID of your default identity.")
 
@@ -41,6 +46,8 @@ epg-debug-buffer
 (defvar epg-agent-file nil)
 (defvar epg-agent-mtime nil)
 
+;;; Enums
+
 ;; from gnupg/common/openpgpdefs.h
 (defconst epg-cipher-algorithm-alist
   '((0 . "NONE")
@@ -169,7 +176,8 @@ epg-dn-type-alist
 
 (defvar epg-prompt-alist nil)
 
-(define-error 'epg-error "GPG error")
+;;; Structs
+;;;; Data Struct
 
 (cl-defstruct (epg-data
                (:constructor nil)
@@ -180,6 +188,8 @@ 'epg-error
   (file nil :read-only t)
   (string nil :read-only t))
 
+;;;; Context Struct
+
 (cl-defstruct (epg-context
                (:constructor nil)
                (:constructor epg-context--make
@@ -218,6 +228,8 @@ 'epg-error
   (error-output "")
   error-buffer)
 
+;;;; Context Methods
+
 ;; This is not an alias, just so we can mark it as autoloaded.
 ;;;###autoload
 (defun epg-make-context (&optional protocol armor textmode include-certs
@@ -281,6 +293,8 @@ epg-context-set-signers
   (declare (obsolete setf "25.1"))
   (setf (epg-context-signers context) signers))
 
+;;;; Other Structs
+
 (cl-defstruct (epg-signature
                (:constructor nil)
                (:constructor epg-make-signature
@@ -385,6 +399,8 @@ epg-context-set-signers
   secret-unchanged not-imported
   imports)
 
+;;; Functions
+
 (defun epg-context-result-for (context name)
   "Return the result of CONTEXT associated with NAME."
   (cdr (assq name (epg-context-result context))))
@@ -859,6 +875,8 @@ epg--prompt-GET_BOOL-untrusted_key.override
 		  (format "Untrusted key %s %s.  Use anyway? " key-id user-id))
 	      "Use untrusted key anyway? ")))
 
+;;; Status Functions
+
 (defun epg--status-GET_BOOL (context string)
   (let (inhibit-quit)
     (condition-case nil
@@ -1234,6 +1252,8 @@ epg--status-IMPORT_RES
 			     (epg-context-result-for context 'import-status)))
     (epg-context-set-result-for context 'import-status nil)))
 
+;;; Functions
+
 (defun epg-passphrase-callback-function (context key-id _handback)
   (declare (obsolete epa-passphrase-callback-function "23.1"))
   (if (eq key-id 'SYM)
@@ -1303,6 +1323,8 @@ epg--make-sub-key-1
    (if (aref line 6)
        (epg--time-from-seconds (aref line 6)))))
 
+;;; Public Functions
+
 (defun epg-list-keys (context &optional name mode)
   "Return a list of epg-key objects matched with NAME.
 If MODE is nil or `public', only public keyring should be searched.
@@ -2031,6 +2053,8 @@ epg-edit-key
 			    (epg-errors-to-string errors))))))
     (epg-reset context)))
 
+;;; Decode Functions
+
 (defun epg--decode-percent-escape (string)
   (setq string (encode-coding-string string 'raw-text))
   (let ((index 0))
-- 
2.26.0






^ permalink raw reply related	[flat|nested] 60+ messages in thread

* bug#41276: [PATCH 5/9] Improve and add doc-strings
  2020-05-14 20:16 ` bug#41276: [PATCH 1/9] * lisp/epa.el (epa-faces): Move definition Jonas Bernoulli
                     ` (2 preceding siblings ...)
  2020-05-14 20:16   ` bug#41276: [PATCH 4/9] Split EasyPG libraries into outline sections Jonas Bernoulli
@ 2020-05-14 20:16   ` Jonas Bernoulli
  2020-05-14 20:16   ` bug#41276: [PATCH 6/9] Drop unnecessary backward compatibility aliases Jonas Bernoulli
                     ` (3 subsequent siblings)
  7 siblings, 0 replies; 60+ messages in thread
From: Jonas Bernoulli @ 2020-05-14 20:16 UTC (permalink / raw)
  To: 41276

* lisp/epa-file.el (epa-file-select-keys), lisp/epa-hook.el
  (epa-file-name-regexp), lisp/epa.el (epa-exit-buffer): Improve
  doc-string.

* lisp/epa-hook.el (epa-file-name-regexp-update): Add doc-string.
---
 lisp/epa-file.el |  4 ++--
 lisp/epa-hook.el | 11 +++++++----
 lisp/epa.el      |  3 +--
 3 files changed, 10 insertions(+), 8 deletions(-)

diff --git a/lisp/epa-file.el b/lisp/epa-file.el
index 43399d2852..ede7177054 100644
--- a/lisp/epa-file.el
+++ b/lisp/epa-file.el
@@ -43,9 +43,9 @@ epa-file-cache-passphrase-for-symmetric-encryption
 (defcustom epa-file-select-keys nil
   "Control whether or not to pop up the key selection dialog.
 
-If t, always asks user to select recipients.
+If t, always ask user to select recipients.
 If nil, query user only when `epa-file-encrypt-to' is not set.
-If neither t nor nil, doesn't ask user.  In this case, symmetric
+If neither t nor nil, don't ask user.  In this case, symmetric
 encryption is used."
   :type '(choice (const :tag "Ask always" t)
 		 (const :tag "Ask when recipients are not set" nil)
diff --git a/lisp/epa-hook.el b/lisp/epa-hook.el
index 002f46ad27..6f12f8a6bf 100644
--- a/lisp/epa-hook.el
+++ b/lisp/epa-hook.el
@@ -36,10 +36,10 @@ epa-file--file-name-regexp-set
 (defcustom epa-file-name-regexp (purecopy "\\.gpg\\(~\\|\\.~[0-9]+~\\)?\\'")
   "Regexp which matches filenames to be encrypted with GnuPG.
 
-If you set this outside Custom while epa-file is already enabled, you
-have to call `epa-file-name-regexp-update' after setting it to
-properly update file-name-handler-alist.  Setting this through Custom
-does that automatically."
+If you set this outside Custom while epa-file is already enabled,
+you have to call `epa-file-name-regexp-update' after setting it
+to properly update `file-name-handler-alist'.  Setting this
+through Custom does that automatically."
   :type 'regexp
   :group 'epa-file
   :set 'epa-file--file-name-regexp-set)
@@ -73,6 +73,9 @@ epa-file-auto-mode-alist-entry
   (list epa-file-name-regexp nil 'epa-file))
 
 (defun epa-file-name-regexp-update ()
+  "Update `file-name-handler-alist' after configuring outside Custom.
+After setting `epa-file-name-regexp-update' outside the Custom
+interface, update `file-name-handler-alist'."
   (interactive)
   (unless (equal (car epa-file-handler) epa-file-name-regexp)
     (setcar epa-file-handler epa-file-name-regexp)))
diff --git a/lisp/epa.el b/lisp/epa.el
index 62a4941f9d..b06b0ac8e4 100644
--- a/lisp/epa.el
+++ b/lisp/epa.el
@@ -347,8 +347,7 @@ epa-unmark-key
 ;;;; Quitting
 
 (defun epa-exit-buffer ()
-  "Exit the current buffer.
-`epa-exit-buffer-function' is called if it is set."
+  "Exit the current buffer using `epa-exit-buffer-function'."
   (interactive)
   (funcall epa-exit-buffer-function))
 
-- 
2.26.0






^ permalink raw reply related	[flat|nested] 60+ messages in thread

* bug#41276: [PATCH 6/9] Drop unnecessary backward compatibility aliases
  2020-05-14 20:16 ` bug#41276: [PATCH 1/9] * lisp/epa.el (epa-faces): Move definition Jonas Bernoulli
                     ` (3 preceding siblings ...)
  2020-05-14 20:16   ` bug#41276: [PATCH 5/9] Improve and add doc-strings Jonas Bernoulli
@ 2020-05-14 20:16   ` Jonas Bernoulli
  2020-05-14 20:16   ` bug#41276: [PATCH 7/9] Cosmetic changes to epa libraries Jonas Bernoulli
                     ` (2 subsequent siblings)
  7 siblings, 0 replies; 60+ messages in thread
From: Jonas Bernoulli @ 2020-05-14 20:16 UTC (permalink / raw)
  To: 41276

* lisp/epa-file.el (epa-file--encode-coding-string,
  epa-file--decode-coding-string): Remove aliases for
  encode-coding-string and decode-coding-string.

* lisp/epa-file.el (epa-file-write-region): Use encode-coding-string
  instead of removed epa-file--encode-coding-string.

encode-coding-string and decode-coding-string existed every since
4ed4686978bd18292e2bb7b87a7b0e0407ecb3b1 added them in 1997.
---
 lisp/epa-file.el | 22 ++++------------------
 1 file changed, 4 insertions(+), 18 deletions(-)

diff --git a/lisp/epa-file.el b/lisp/epa-file.el
index ede7177054..3e23c09a51 100644
--- a/lisp/epa-file.el
+++ b/lisp/epa-file.el
@@ -56,16 +56,6 @@ epa-file-select-keys
 
 (defvar epa-file-passphrase-alist nil)
 
-(eval-and-compile
-  (if (fboundp 'encode-coding-string)
-      (defalias 'epa-file--encode-coding-string 'encode-coding-string)
-    (defalias 'epa-file--encode-coding-string 'identity)))
-
-(eval-and-compile
-  (if (fboundp 'decode-coding-string)
-      (defalias 'epa-file--decode-coding-string 'decode-coding-string)
-    (defalias 'epa-file--decode-coding-string 'identity)))
-
 (defun epa-file-passphrase-callback-function (context key-id file)
   (if (and epa-file-cache-passphrase-for-symmetric-encryption
 	   (eq key-id 'SYM))
@@ -243,11 +233,7 @@ epa-file-write-region
   (setq file (expand-file-name file))
   (let* ((coding-system (or coding-system-for-write
 			    (if (fboundp 'select-safe-coding-system)
-				;; This is needed since Emacs 22 has
-				;; no-conversion setting for *.gpg in
-				;; `auto-coding-alist'.
-			        (let ((buffer-file-name
-				       (file-name-sans-extension file)))
+			        (let ((buffer-file-name file))
 				  (select-safe-coding-system
 				   (point-min) (point-max)))
 			      buffer-file-coding-system)))
@@ -273,7 +259,7 @@ epa-file-write-region
 	      (epg-encrypt-string
 	       context
 	       (if (stringp start)
-		   (epa-file--encode-coding-string start coding-system)
+		   (encode-coding-string start coding-system)
 		 (unless start
 		   (setq start (point-min)
 			 end (point-max)))
@@ -287,8 +273,8 @@ epa-file-write-region
 		   ;; decrypted contents.
 		   (format-encode-buffer (with-current-buffer buffer
 					   buffer-file-format))
-		   (epa-file--encode-coding-string (buffer-string)
-						   coding-system)))
+		   (encode-coding-string (buffer-string)
+					 coding-system)))
 	       (if (or (eq epa-file-select-keys t)
 		       (and (null epa-file-select-keys)
 			    (not (local-variable-p 'epa-file-encrypt-to
-- 
2.26.0






^ permalink raw reply related	[flat|nested] 60+ messages in thread

* bug#41276: [PATCH 7/9] Cosmetic changes to epa libraries
  2020-05-14 20:16 ` bug#41276: [PATCH 1/9] * lisp/epa.el (epa-faces): Move definition Jonas Bernoulli
                     ` (4 preceding siblings ...)
  2020-05-14 20:16   ` bug#41276: [PATCH 6/9] Drop unnecessary backward compatibility aliases Jonas Bernoulli
@ 2020-05-14 20:16   ` Jonas Bernoulli
  2020-05-14 20:16   ` bug#41276: [PATCH 8/9] epa-key-list-mode-map: Use widget-keymap as parent keymap Jonas Bernoulli
  2020-05-14 20:16   ` bug#41276: [PATCH 9/9] * lisp/epa.el (epa-show-key): New command Jonas Bernoulli
  7 siblings, 0 replies; 60+ messages in thread
From: Jonas Bernoulli @ 2020-05-14 20:16 UTC (permalink / raw)
  To: 41276

* lisp/epa-dired.el (epa-dired-do-decrypt, epa-dired-do-verify
epa-dired-do-sign, epa-dired-do-encrypt): Use dolist instead of while.

* lisp/epa-file.el (epa-file-passphrase-callback-function): Set just
  one variable per setq call.
---
 lisp/epa-dired.el | 44 ++++++++++++++++++--------------------------
 lisp/epa-file.el  |  4 ++--
 2 files changed, 20 insertions(+), 28 deletions(-)

diff --git a/lisp/epa-dired.el b/lisp/epa-dired.el
index 1bcfb758ed..4ff1ba3394 100644
--- a/lisp/epa-dired.el
+++ b/lisp/epa-dired.el
@@ -30,48 +30,40 @@
 (defun epa-dired-do-decrypt ()
   "Decrypt marked files."
   (interactive)
-  (let ((file-list (dired-get-marked-files)))
-    (while file-list
-      (epa-decrypt-file (expand-file-name (car file-list)))
-      (setq file-list (cdr file-list)))
-    (revert-buffer)))
+  (dolist (file (dired-get-marked-files))
+    (epa-decrypt-file (expand-file-name file)))
+  (revert-buffer))
 
 ;;;###autoload
 (defun epa-dired-do-verify ()
   "Verify marked files."
   (interactive)
-  (let ((file-list (dired-get-marked-files)))
-    (while file-list
-      (epa-verify-file (expand-file-name (car file-list)))
-      (setq file-list (cdr file-list)))))
+  (dolist (file (dired-get-marked-files))
+    (epa-verify-file (expand-file-name file))))
 
 ;;;###autoload
 (defun epa-dired-do-sign ()
   "Sign marked files."
   (interactive)
-  (let ((file-list (dired-get-marked-files)))
-    (while file-list
-      (epa-sign-file
-       (expand-file-name (car file-list))
-       (epa-select-keys (epg-make-context) "Select keys for signing.
+  (dolist (file (dired-get-marked-files))
+    (epa-sign-file
+     (expand-file-name file)
+     (epa-select-keys (epg-make-context) "Select keys for signing.
 If no one is selected, default secret key is used.  "
-			nil t)
-       (y-or-n-p "Make a detached signature? "))
-      (setq file-list (cdr file-list)))
-    (revert-buffer)))
+		      nil t)
+     (y-or-n-p "Make a detached signature? ")))
+  (revert-buffer))
 
 ;;;###autoload
 (defun epa-dired-do-encrypt ()
   "Encrypt marked files."
   (interactive)
-  (let ((file-list (dired-get-marked-files)))
-    (while file-list
-      (epa-encrypt-file
-       (expand-file-name (car file-list))
-       (epa-select-keys (epg-make-context) "Select recipients for encryption.
-If no one is selected, symmetric encryption will be performed.  "))
-      (setq file-list (cdr file-list)))
-    (revert-buffer)))
+  (dolist (file (dired-get-marked-files))
+    (epa-encrypt-file
+     (expand-file-name file)
+     (epa-select-keys (epg-make-context) "Select recipients for encryption.
+If no one is selected, symmetric encryption will be performed.  ")))
+  (revert-buffer))
 
 (provide 'epa-dired)
 
diff --git a/lisp/epa-file.el b/lisp/epa-file.el
index 3e23c09a51..de51c59c34 100644
--- a/lisp/epa-file.el
+++ b/lisp/epa-file.el
@@ -66,8 +66,8 @@ epa-file-passphrase-callback-function
 	  (or (copy-sequence (cdr entry))
 	      (progn
 		(unless entry
-		  (setq entry (list file)
-			epa-file-passphrase-alist
+		  (setq entry (list file))
+		  (setq epa-file-passphrase-alist
 			(cons entry
 			      epa-file-passphrase-alist)))
 		(setq passphrase (epa-passphrase-callback-function context
-- 
2.26.0






^ permalink raw reply related	[flat|nested] 60+ messages in thread

* bug#41276: [PATCH 8/9] epa-key-list-mode-map: Use widget-keymap as parent keymap
  2020-05-14 20:16 ` bug#41276: [PATCH 1/9] * lisp/epa.el (epa-faces): Move definition Jonas Bernoulli
                     ` (5 preceding siblings ...)
  2020-05-14 20:16   ` bug#41276: [PATCH 7/9] Cosmetic changes to epa libraries Jonas Bernoulli
@ 2020-05-14 20:16   ` Jonas Bernoulli
  2020-05-15  7:27     ` Eli Zaretskii
  2020-05-14 20:16   ` bug#41276: [PATCH 9/9] * lisp/epa.el (epa-show-key): New command Jonas Bernoulli
  7 siblings, 1 reply; 60+ messages in thread
From: Jonas Bernoulli @ 2020-05-14 20:16 UTC (permalink / raw)
  To: 41276

* lisp/epa.el (epa-key-list-mode-map): Set the parent of this keymap
  while defining this keymap.

* lisp/epa.el (epa--list-keys): Do not set the parent of the local
  keymap here.
---
 lisp/epa.el | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/lisp/epa.el b/lisp/epa.el
index b06b0ac8e4..1e0a0132d2 100644
--- a/lisp/epa.el
+++ b/lisp/epa.el
@@ -191,6 +191,7 @@ epa-last-coding-system-specified
 (defvar epa-key-list-mode-map
   (let ((keymap (make-sparse-keymap))
 	(menu-map (make-sparse-keymap)))
+    (set-keymap-parent keymap widget-keymap)
     (define-key keymap "m" 'epa-mark-key)
     (define-key keymap "u" 'epa-unmark-key)
     (define-key keymap "d" 'epa-decrypt-file)
@@ -413,8 +414,7 @@ epa--list-keys
       (goto-char point))
 
     (epa--insert-keys (epg-list-keys context name secret))
-    (widget-setup)
-    (set-keymap-parent (current-local-map) widget-keymap))
+    (widget-setup))
   (make-local-variable 'epa-list-keys-arguments)
   (setq epa-list-keys-arguments (list name secret))
   (goto-char (point-min))
-- 
2.26.0






^ permalink raw reply related	[flat|nested] 60+ messages in thread

* bug#41276: [PATCH 9/9] * lisp/epa.el (epa-show-key): New command
  2020-05-14 20:16 ` bug#41276: [PATCH 1/9] * lisp/epa.el (epa-faces): Move definition Jonas Bernoulli
                     ` (6 preceding siblings ...)
  2020-05-14 20:16   ` bug#41276: [PATCH 8/9] epa-key-list-mode-map: Use widget-keymap as parent keymap Jonas Bernoulli
@ 2020-05-14 20:16   ` Jonas Bernoulli
  7 siblings, 0 replies; 60+ messages in thread
From: Jonas Bernoulli @ 2020-05-14 20:16 UTC (permalink / raw)
  To: 41276

Users can move in `epa-key-list-mode' buffers using either
`next-line'/`previous-line' or `widget-forward'/`widget-backward'.
When using the first set of commands, then the cursor stays in the
column and that normally is the first column.  The key widgets do
not begin until the third character of their respective lines.

All `epa' commands work regardless of whether the cursor is on the
widget or before them.  The `epa-show-key' command did not exist until
now because the `widget-button-press' already performs its task.  But
because the widgets don't span complete lines we actually need this
command too.
---
 lisp/epa.el | 13 ++++++++++++-
 1 file changed, 12 insertions(+), 1 deletion(-)

diff --git a/lisp/epa.el b/lisp/epa.el
index 1e0a0132d2..fe5dd4321a 100644
--- a/lisp/epa.el
+++ b/lisp/epa.el
@@ -25,7 +25,9 @@
 (require 'epg)
 (require 'font-lock)
 (require 'widget)
-(eval-when-compile (require 'wid-edit))
+(eval-when-compile
+  (require 'subr-x)
+  (require 'wid-edit))
 (require 'derived)
 
 ;;; Options
@@ -192,6 +194,7 @@ epa-key-list-mode-map
   (let ((keymap (make-sparse-keymap))
 	(menu-map (make-sparse-keymap)))
     (set-keymap-parent keymap widget-keymap)
+    (define-key keymap "\C-m" 'epa-show-key)
     (define-key keymap "m" 'epa-mark-key)
     (define-key keymap "u" 'epa-unmark-key)
     (define-key keymap "d" 'epa-decrypt-file)
@@ -518,6 +521,14 @@ epa-select-keys
 
 ;;;; Key Details
 
+(defun epa-show-key ()
+  "Show a key on the current line."
+  (interactive)
+  (if-let ((key (get-text-property (point) 'epa-key)))
+      (save-selected-window
+        (epa--show-key key))
+    (error "No key on this line")))
+
 (defun epa--show-key (key)
   (let* ((primary-sub-key (car (epg-key-sub-key-list key)))
 	 (entry (assoc (epg-sub-key-id primary-sub-key)
-- 
2.26.0






^ permalink raw reply related	[flat|nested] 60+ messages in thread

* bug#41276: Acknowledgement ([PATCH 0/9] Various small improvements to EasyPG)
  2020-05-14 20:14   ` bug#41276: Acknowledgement ([PATCH 0/9] Various small improvements to EasyPG) Jonas Bernoulli
@ 2020-05-14 22:33     ` Stefan Kangas
  2020-05-15  7:26     ` Eli Zaretskii
  1 sibling, 0 replies; 60+ messages in thread
From: Stefan Kangas @ 2020-05-14 22:33 UTC (permalink / raw)
  To: Jonas Bernoulli; +Cc: 41276

Jonas Bernoulli <jonas@bernoul.li> writes:

> Please excuse me for ending up opening an issue per commit and just
> delete issues 41268-41275 and 41277 (but not 41276, this issue).

I merged the bugs for now, since AFAIK there's no way to delete bugs in
debbugs.  If anyone has a better solution, please go ahead.

Best regards,
Stefan Kangas





^ permalink raw reply	[flat|nested] 60+ messages in thread

* bug#41276: [PATCH 0/9] Various small improvements to EasyPG
  2020-05-14 19:13 bug#41276: [PATCH 0/9] Various small improvements to EasyPG Jonas Bernoulli
                   ` (10 preceding siblings ...)
  2020-05-14 20:16 ` bug#41276: [PATCH 1/9] * lisp/epa.el (epa-faces): Move definition Jonas Bernoulli
@ 2020-05-14 23:04 ` Stefan Kangas
  2020-05-15  9:26   ` Robert Pluim
  2020-07-07 15:47 ` bug#41276: [PATCH v2 0/8] " Jonas Bernoulli
  2020-08-05 19:03 ` bug#41276: [PATCH 0/9] " Lars Ingebrigtsen
  13 siblings, 1 reply; 60+ messages in thread
From: Stefan Kangas @ 2020-05-14 23:04 UTC (permalink / raw)
  To: Jonas Bernoulli; +Cc: 41276

Jonas Bernoulli <jonas@bernoul.li> writes:

> This patches make various cosmetic and hopefully uncontroversial
> changes to epa and epg libraries.
>
> I am now to contributing to Emacs itself and not yet comfortable
> with the commit message conventions among other things.  Tell me
> what I am doing wrong please.

You might want to use `add-change-log-entry-other-window' or
`log-edit-generate-changelog-from-diff' to generate the ChangeLog
entries.  That way it's faster to write them, and easier to get right.

Best regards,
Stefan Kangas





^ permalink raw reply	[flat|nested] 60+ messages in thread

* bug#41276: Acknowledgement ([PATCH 0/9] Various small improvements to EasyPG)
  2020-05-14 20:14   ` bug#41276: Acknowledgement ([PATCH 0/9] Various small improvements to EasyPG) Jonas Bernoulli
  2020-05-14 22:33     ` Stefan Kangas
@ 2020-05-15  7:26     ` Eli Zaretskii
  2020-05-15 11:27       ` Jonas Bernoulli
  1 sibling, 1 reply; 60+ messages in thread
From: Eli Zaretskii @ 2020-05-15  7:26 UTC (permalink / raw)
  To: Jonas Bernoulli; +Cc: 41276

> From: Jonas Bernoulli <jonas@bernoul.li>
> Date: Thu, 14 May 2020 22:14:36 +0200
> 
> Please excuse me for ending up opening an issue per commit and just
> delete issues 41268-41275 and 41277 (but not 41276, this issue).
> 
> I sent the patches using:
>   git send-email 000* --to=bug-gnu-emacs@gnu.org
> 
> I should have used
>   git send-email 0000-cover-letter.patch --to=bug-gnu-emacs@gnu.org
> wait for the response
> > If you wish to submit further information on this problem, please
> > send it to 41276@debbugs.gnu.org.
> and then
>   0000-cover-letter.patch
>   git send-email 000* --to=41276@debbugs.gnu.org
> 
> which is what I am gonna do now.  Fingers crossed.  The patches may
> arrive in the wrong order again, I don't know how to prevent that.

A few of the patches in the series don't have commit log messages, or
the commit log messages are not in our usual format (see CONTRIBUTE,
and also look at the other commits in the repository for examples).

Also, since you are submitting the patches after you already know the
bug number, please mention the bug number in the commit log messages,
as doing that saves whoever actually installs the changeset from doing
the equivalent of "git commit --amend" to add the reference to the bug
number before pushing.

Thanks.  Let's wait with pushing for a few days so that others could
comment.





^ permalink raw reply	[flat|nested] 60+ messages in thread

* bug#41276: [PATCH 8/9] epa-key-list-mode-map: Use widget-keymap as parent keymap
  2020-05-14 20:16   ` bug#41276: [PATCH 8/9] epa-key-list-mode-map: Use widget-keymap as parent keymap Jonas Bernoulli
@ 2020-05-15  7:27     ` Eli Zaretskii
  0 siblings, 0 replies; 60+ messages in thread
From: Eli Zaretskii @ 2020-05-15  7:27 UTC (permalink / raw)
  To: Jonas Bernoulli; +Cc: 41276

> From: Jonas Bernoulli <jonas@bernoul.li>
> Date: Thu, 14 May 2020 22:16:17 +0200
> 
> * lisp/epa.el (epa-key-list-mode-map): Set the parent of this keymap
>   while defining this keymap.
> 
> * lisp/epa.el (epa--list-keys): Do not set the parent of the local
>   keymap here.

I'd appreciate some rationale for the changes in this case.





^ permalink raw reply	[flat|nested] 60+ messages in thread

* bug#41276: [PATCH 0/9] Various small improvements to EasyPG
  2020-05-14 23:04 ` bug#41276: [PATCH 0/9] Various small improvements to EasyPG Stefan Kangas
@ 2020-05-15  9:26   ` Robert Pluim
  2020-05-25  1:34     ` Noam Postavsky
  0 siblings, 1 reply; 60+ messages in thread
From: Robert Pluim @ 2020-05-15  9:26 UTC (permalink / raw)
  To: Stefan Kangas; +Cc: 41276, Jonas Bernoulli

>>>>> On Thu, 14 May 2020 16:04:36 -0700, Stefan Kangas <stefan@marxist.se> said:

    Stefan> Jonas Bernoulli <jonas@bernoul.li> writes:
    >> This patches make various cosmetic and hopefully uncontroversial
    >> changes to epa and epg libraries.
    >> 
    >> I am now to contributing to Emacs itself and not yet comfortable
    >> with the commit message conventions among other things.  Tell me
    >> what I am doing wrong please.

    Stefan> You might want to use `add-change-log-entry-other-window' or
    Stefan> `log-edit-generate-changelog-from-diff' to generate the ChangeLog
    Stefan> entries.  That way it's faster to write them, and easier to get right.

Itʼs a real shame that log-edit-generate-changelog-from-diff doesn't
work correctly when committing via Magit, it really helps you get all
the annoying details of ChangeLog entries right.

Robert





^ permalink raw reply	[flat|nested] 60+ messages in thread

* bug#41276: [PATCH 2/9] Add all epa faces to epa-faces Custom group
  2020-05-14 20:16   ` bug#41276: [PATCH 2/9] Add all epa faces to epa-faces Custom group Jonas Bernoulli
@ 2020-05-15  9:32     ` Robert Pluim
  2020-06-23 22:57       ` Basil L. Contovounesios
  0 siblings, 1 reply; 60+ messages in thread
From: Robert Pluim @ 2020-05-15  9:32 UTC (permalink / raw)
  To: Jonas Bernoulli; +Cc: 41276

>>>>> On Thu, 14 May 2020 22:16:11 +0200, Jonas Bernoulli <jonas@bernoul.li> said:

    Jonas> 'epa-validity-face-alist' isn't actually a face but belongs in that
    Jonas> group anyway.

    Jonas> * lisp/epa.el (epa-field-name, epa-field-body,
    Jonas> epa-validity-face-alist): Add to epa-faces Custom group
    Jonas> ---
    Jonas>  lisp/epa.el | 6 +++---
    Jonas>  1 file changed, 3 insertions(+), 3 deletions(-)

Hmm, is this cause for setting the :version string on those
definitions (and on the relevant group(s))?

(info "(elisp)Customization") says:

‘:version VERSION’
     This keyword specifies that the item was first introduced in Emacs
     version VERSION, or that its default value was changed in that
     version.  The value VERSION must be a string.

Theyʼre not new, but theyʼre new in the group youʼre moving them to.

Robert





^ permalink raw reply	[flat|nested] 60+ messages in thread

* bug#41276: Acknowledgement ([PATCH 0/9] Various small improvements to EasyPG)
  2020-05-15  7:26     ` Eli Zaretskii
@ 2020-05-15 11:27       ` Jonas Bernoulli
  2020-05-15 11:52         ` Eli Zaretskii
  0 siblings, 1 reply; 60+ messages in thread
From: Jonas Bernoulli @ 2020-05-15 11:27 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: 41276

Eli Zaretskii <eliz@gnu.org> writes:
> A few of the patches in the series don't have commit log messages,

All of the patches do have commit messages.  The mail subject field is
used as the commit message subject line, except that the "[PATCH n/m] "
has to be removed.

> or
> the commit log messages are not in our usual format (see CONTRIBUTE,
> and also look at the other commits in the repository for examples).

I tried to follow the conventions and I did look at examples, but not
everything is crystal clear and I made some mistakes and did take some
liberties.  I am reworking the commit messages and will later publish
a new iteration.





^ permalink raw reply	[flat|nested] 60+ messages in thread

* bug#41276: Acknowledgement ([PATCH 0/9] Various small improvements to EasyPG)
  2020-05-15 11:27       ` Jonas Bernoulli
@ 2020-05-15 11:52         ` Eli Zaretskii
  2020-05-15 16:56           ` Jonas Bernoulli
  0 siblings, 1 reply; 60+ messages in thread
From: Eli Zaretskii @ 2020-05-15 11:52 UTC (permalink / raw)
  To: Jonas Bernoulli; +Cc: 41276

> From: Jonas Bernoulli <jonas@bernoul.li>
> Cc: 41276@debbugs.gnu.org
> Date: Fri, 15 May 2020 13:27:10 +0200
> 
> Eli Zaretskii <eliz@gnu.org> writes:
> > A few of the patches in the series don't have commit log messages,
> 
> All of the patches do have commit messages.  The mail subject field is
> used as the commit message subject line, except that the "[PATCH n/m] "
> has to be removed.

Right, that's the header line.  I meant the part after it, which
mentions the file(s) and the function(s) where the changes are done.





^ permalink raw reply	[flat|nested] 60+ messages in thread

* bug#41276: Acknowledgement ([PATCH 0/9] Various small improvements to EasyPG)
  2020-05-15 11:52         ` Eli Zaretskii
@ 2020-05-15 16:56           ` Jonas Bernoulli
  2020-05-15 17:42             ` Eli Zaretskii
  0 siblings, 1 reply; 60+ messages in thread
From: Jonas Bernoulli @ 2020-05-15 16:56 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: 41276

Eli Zaretskii <eliz@gnu.org> writes:

>> From: Jonas Bernoulli <jonas@bernoul.li>
>> Cc: 41276@debbugs.gnu.org
>> Date: Fri, 15 May 2020 13:27:10 +0200
>> 
>> Eli Zaretskii <eliz@gnu.org> writes:
>> > A few of the patches in the series don't have commit log messages,
>> 
>> All of the patches do have commit messages.  The mail subject field is
>> used as the commit message subject line, except that the "[PATCH n/m] "
>> has to be removed.
>
> Right, that's the header line.  I meant the part after it, which
> mentions the file(s) and the function(s) where the changes are done.

I can only see one commit that lacks a commit message body in addition
to the commit message summary line.

[I am a little confused because while I agree that I failed to follow
the conventions and need to fix that, you do talk about multiple commits
that have this particular defect while I can see only a single commit,
which might potentially have that defect.]

The subject of the respective mail is:

  [PATCH 3/9] * lisp/epg-config.el (epg-config--make-gpg-configuration): Fix indentation

So the complete commit message becomes:

  * lisp/epg-config.el (epg-config--make-gpg-configuration): Fix indentation

Which I though was allowed or even encouraged.  From CONTRIBUTE:

> - If only a single file is changed, the summary line can be the normal
>   file first line (starting with the asterisk).  Then there is no
>   individual files section.

The wording confuses me.  I have decided to interpret it like so (and if
that interpretation is correct, then I suggest that CONTRIBUTE is
updated to use this wording).

> - If only a single file is changed, then the first (and in this case
>   only) individual file entry can at the same time serve as the summary
>   line, provided that the entry fits on a single line.  In this case
>   the summary should begin with an asterisk but not end with a period.
                                              -------
                                      or on the contrary "and"

I added that last sentence because there is some ambiguity that needs to
be resolved, namely:

> - Start with a single unindented summary line explaining the change;
>   do not end this line with a period. [...]

> - Some commenting rules in the GNU coding standards also apply
>   to ChangeLog entries: they must be in English, and be complete
>   sentences starting with a capital and ending with a period (except
>   the summary line should not end in a period).

However I feel it would make more sense for the first rule to override
the second.  From recent commits it looks like you and some others seem
to agree with me:

,----
| ; * src/xdisp.c: Improve the introductory commentary.
`----

but Stefan does not:

,----
| * lisp/emacs-lisp/pcase.el (pcase--fgrep): Look inside vectors
`----





^ permalink raw reply	[flat|nested] 60+ messages in thread

* bug#41276: Acknowledgement ([PATCH 0/9] Various small improvements to EasyPG)
  2020-05-15 16:56           ` Jonas Bernoulli
@ 2020-05-15 17:42             ` Eli Zaretskii
  2020-05-15 22:42               ` Jonas Bernoulli
  0 siblings, 1 reply; 60+ messages in thread
From: Eli Zaretskii @ 2020-05-15 17:42 UTC (permalink / raw)
  To: Jonas Bernoulli; +Cc: 41276

> From: Jonas Bernoulli <jonas@bernoul.li>
> Cc: 41276@debbugs.gnu.org
> Date: Fri, 15 May 2020 18:56:06 +0200
> 
> > Right, that's the header line.  I meant the part after it, which
> > mentions the file(s) and the function(s) where the changes are done.
> 
> I can only see one commit that lacks a commit message body in addition
> to the commit message summary line.
> 
> [I am a little confused because while I agree that I failed to follow
> the conventions and need to fix that, you do talk about multiple commits
> that have this particular defect while I can see only a single commit,
> which might potentially have that defect.]
> 
> The subject of the respective mail is:
> 
>   [PATCH 3/9] * lisp/epg-config.el (epg-config--make-gpg-configuration): Fix indentation

Ah, okay.  Please forgive me, I almost never read the Subject line,
and expect all the important stuff to be in the body.  So I will blame
Git in this case ;-)

> However I feel it would make more sense for the first rule to override
> the second.  From recent commits it looks like you and some others seem
> to agree with me:
> 
> ,----
> | ; * src/xdisp.c: Improve the introductory commentary.
> `----
> 
> but Stefan does not:
> 
> ,----
> | * lisp/emacs-lisp/pcase.el (pcase--fgrep): Look inside vectors
> `----

You need to keep in mind how these are used: they are copied into the
ChangeLog file we generate when we are about to release a new Emacs
version.  So if the header line is followed by a series of
ChangeLog-formatted entries, it should not end in a period, but when
the header line is _itself_ a ChangeLog-formatted entry, then it
should follow the ChangeLog rules, which is that every entry shall end
in a period.  IOW, the second rule in this case overrides the first.

And while we are at that: please don't follow examples like this:

   * foobarbz/barfooquux/baz.xx (some_long_function_name):

   Fix this and that.

That is, if the log entry takes more than one line, do NOT try to
avoid adding the header line by "reusing" the first line of the entry
as a header line, and leaving an empty line between the first line of
the log message and the rest of them.  The reason is still the same:
this will look awkward, to say the least, in the generated ChangeLog.





^ permalink raw reply	[flat|nested] 60+ messages in thread

* bug#41276: Acknowledgement ([PATCH 0/9] Various small improvements to EasyPG)
  2020-05-15 17:42             ` Eli Zaretskii
@ 2020-05-15 22:42               ` Jonas Bernoulli
  2020-05-16  6:45                 ` Eli Zaretskii
  0 siblings, 1 reply; 60+ messages in thread
From: Jonas Bernoulli @ 2020-05-15 22:42 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: 41276

Eli Zaretskii <eliz@gnu.org> writes:
> You need to keep in mind how these are used: they are copied into the
> ChangeLog file we generate when we are about to release a new Emacs
> version.  So if the header line is followed by a series of
> ChangeLog-formatted entries, it should not end in a period, but when
> the header line is _itself_ a ChangeLog-formatted entry, then it
> should follow the ChangeLog rules, which is that every entry shall end
> in a period.  IOW, the second rule in this case overrides the first.

We are in agreement.  We numbered the rules differently, which resulted
in some confusion.

How do you feel about my suggestion to clarify one of the rules like so?

-- If only a single file is changed, the summary line can be the normal
-  file first line (starting with the asterisk).  Then there is no
-  individual files section.
+- If only a single file is changed, then the first (and in this case
+  only) file entry can at the same time serve as the summary line,
+  provided that this entry fits on a single line.  In this case the
+  summary should begin with an asterisk and end with a period, like
+  all file entries always do.

The "provided that the entry fits on a single line" addresses the next
concern you raised.

> And while we are at that: please don't follow examples like this:
>
>    * foobarbz/barfooquux/baz.xx (some_long_function_name):
>
>    Fix this and that.





^ permalink raw reply	[flat|nested] 60+ messages in thread

* bug#41276: Acknowledgement ([PATCH 0/9] Various small improvements to EasyPG)
  2020-05-15 22:42               ` Jonas Bernoulli
@ 2020-05-16  6:45                 ` Eli Zaretskii
  0 siblings, 0 replies; 60+ messages in thread
From: Eli Zaretskii @ 2020-05-16  6:45 UTC (permalink / raw)
  To: Jonas Bernoulli; +Cc: 41276

> From: Jonas Bernoulli <jonas@bernoul.li>
> Cc: 41276@debbugs.gnu.org
> Date: Sat, 16 May 2020 00:42:26 +0200
> 
> We are in agreement.  We numbered the rules differently, which resulted
> in some confusion.

Yes, that's what I thought.

> How do you feel about my suggestion to clarify one of the rules like so?
> 
> -- If only a single file is changed, the summary line can be the normal
> -  file first line (starting with the asterisk).  Then there is no
> -  individual files section.
> +- If only a single file is changed, then the first (and in this case
> +  only) file entry can at the same time serve as the summary line,
> +  provided that this entry fits on a single line.  In this case the
> +  summary should begin with an asterisk and end with a period, like
> +  all file entries always do.

It's fine with me, and it's what I do in my commits.

Thanks.





^ permalink raw reply	[flat|nested] 60+ messages in thread

* bug#41276: [PATCH 0/9] Various small improvements to EasyPG
  2020-05-15  9:26   ` Robert Pluim
@ 2020-05-25  1:34     ` Noam Postavsky
  2020-07-17  7:30       ` Robert Pluim
  0 siblings, 1 reply; 60+ messages in thread
From: Noam Postavsky @ 2020-05-25  1:34 UTC (permalink / raw)
  To: Robert Pluim; +Cc: 41276, Jonas Bernoulli, Stefan Kangas

Robert Pluim <rpluim@gmail.com> writes:

> Itʼs a real shame that log-edit-generate-changelog-from-diff doesn't
> work correctly when committing via Magit, it really helps you get all
> the annoying details of ChangeLog entries right.

You can try out https://github.com/magit/magit/pull/3928 which makes
this functionality accessible from magit.  Also linked there is
https://github.com/dickmao/magit-patch-changelog which takes a slightly
different approach.





^ permalink raw reply	[flat|nested] 60+ messages in thread

* bug#41276: [PATCH 2/9] Add all epa faces to epa-faces Custom group
  2020-05-15  9:32     ` Robert Pluim
@ 2020-06-23 22:57       ` Basil L. Contovounesios
  2020-07-07 15:32         ` Jonas Bernoulli
  0 siblings, 1 reply; 60+ messages in thread
From: Basil L. Contovounesios @ 2020-06-23 22:57 UTC (permalink / raw)
  To: Robert Pluim; +Cc: 41276, Jonas Bernoulli

Robert Pluim <rpluim@gmail.com> writes:

>>>>>> On Thu, 14 May 2020 22:16:11 +0200, Jonas Bernoulli <jonas@bernoul.li> said:
>
>     Jonas> 'epa-validity-face-alist' isn't actually a face but belongs in that
>     Jonas> group anyway.
>
>     Jonas> * lisp/epa.el (epa-field-name, epa-field-body,
>     Jonas> epa-validity-face-alist): Add to epa-faces Custom group
>     Jonas> ---
>     Jonas>  lisp/epa.el | 6 +++---
>     Jonas>  1 file changed, 3 insertions(+), 3 deletions(-)
>
> Hmm, is this cause for setting the :version string on those
> definitions (and on the relevant group(s))?

I believe so, because they're user-facing changes.

-- 
Basil





^ permalink raw reply	[flat|nested] 60+ messages in thread

* bug#41274: [PATCH 9/9] * lisp/epa.el (epa-show-key): New command
  2020-05-14 19:13 ` bug#41274: [PATCH 9/9] * lisp/epa.el (epa-show-key): New command Jonas Bernoulli
@ 2020-06-23 22:57   ` Basil L. Contovounesios
  2020-07-07 15:34     ` Jonas Bernoulli
  0 siblings, 1 reply; 60+ messages in thread
From: Basil L. Contovounesios @ 2020-06-23 22:57 UTC (permalink / raw)
  To: Jonas Bernoulli; +Cc: 41274

Jonas Bernoulli <jonas@bernoul.li> writes:

> diff --git a/lisp/epa.el b/lisp/epa.el
> index 1e0a0132d2..fe5dd4321a 100644
> --- a/lisp/epa.el
> +++ b/lisp/epa.el
> @@ -25,7 +25,9 @@
>  (require 'epg)
>  (require 'font-lock)
>  (require 'widget)
> -(eval-when-compile (require 'wid-edit))
> +(eval-when-compile
> +  (require 'subr-x)
> +  (require 'wid-edit))
>  (require 'derived)
>  
>  ;;; Options
> @@ -518,6 +521,14 @@ epa-select-keys
>  
>  ;;;; Key Details
>  
> +(defun epa-show-key ()
> +  "Show a key on the current line."
> +  (interactive)
> +  (if-let ((key (get-text-property (point) 'epa-key)))
> +      (save-selected-window
> +        (epa--show-key key))
> +    (error "No key on this line")))

If you prefer, you can avoid loading subr-x via

  (let ((key (or (get-text-property ...)
                 (error ...))))
    ...)

-- 
Basil





^ permalink raw reply	[flat|nested] 60+ messages in thread

* bug#41276: [PATCH 2/9] Add all epa faces to epa-faces Custom group
  2020-06-23 22:57       ` Basil L. Contovounesios
@ 2020-07-07 15:32         ` Jonas Bernoulli
  0 siblings, 0 replies; 60+ messages in thread
From: Jonas Bernoulli @ 2020-07-07 15:32 UTC (permalink / raw)
  To: Basil L. Contovounesios, Robert Pluim; +Cc: 41276

"Basil L. Contovounesios" <contovob@tcd.ie> writes:

> Robert Pluim <rpluim@gmail.com> writes:

>> Hmm, is this cause for setting the :version string on those
>> definitions (and on the relevant group(s))?
>
> I believe so, because they're user-facing changes.

Done.





^ permalink raw reply	[flat|nested] 60+ messages in thread

* bug#41274: [PATCH 9/9] * lisp/epa.el (epa-show-key): New command
  2020-06-23 22:57   ` Basil L. Contovounesios
@ 2020-07-07 15:34     ` Jonas Bernoulli
  0 siblings, 0 replies; 60+ messages in thread
From: Jonas Bernoulli @ 2020-07-07 15:34 UTC (permalink / raw)
  To: Basil L. Contovounesios; +Cc: 41274

"Basil L. Contovounesios" <contovob@tcd.ie> writes:

> If you prefer, you can avoid loading subr-x via
>
>   (let ((key (or (get-text-property ...)
>                  (error ...))))
>     ...)

I do not prefer that, so I haven't done it.
Tell me if I *should* do it.





^ permalink raw reply	[flat|nested] 60+ messages in thread

* bug#41276: [PATCH v2 0/8] Various small improvements to EasyPG
  2020-05-14 19:13 bug#41276: [PATCH 0/9] Various small improvements to EasyPG Jonas Bernoulli
                   ` (11 preceding siblings ...)
  2020-05-14 23:04 ` bug#41276: [PATCH 0/9] Various small improvements to EasyPG Stefan Kangas
@ 2020-07-07 15:47 ` Jonas Bernoulli
  2020-07-07 15:47   ` bug#41276: [PATCH v2 1/8] * lisp/epa.el (epa-faces): Move definition Jonas Bernoulli
  2020-07-07 18:30   ` bug#41276: [PATCH v2 0/8] Various small improvements to EasyPG Eli Zaretskii
  2020-08-05 19:03 ` bug#41276: [PATCH 0/9] " Lars Ingebrigtsen
  13 siblings, 2 replies; 60+ messages in thread
From: Jonas Bernoulli @ 2020-07-07 15:47 UTC (permalink / raw)
  To: 41276

Here's v2.  I believe I have addressed all the feedback.

I have removed one commit, to be resubmitted at a later time.

Sorry for the delay.

[These patch series was created using git-format-patch, which means
that the commit message summary lines can be found in the mail subject
lines.  I am the author of all of these commits, I am not just the
person who is submitting them.]

     Jonas


Jonas Bernoulli (8):
  * lisp/epa.el (epa-faces): Move definition.
  Add all epa faces to epa-faces Custom group
  * lisp/epg-config.el (epg-config--make-gpg-configuration): Fix
    indentation.
  Improve and add doc-strings
  Drop unnecessary backward compatibility aliases
  Cosmetic changes to epa libraries
  epa-key-list-mode-map: Use widget-keymap as parent keymap
  * lisp/epa.el (epa-show-key): New command.

 lisp/epa-dired.el  | 44 ++++++++++++++++++--------------------------
 lisp/epa-file.el   | 30 ++++++++----------------------
 lisp/epa-hook.el   | 11 +++++++----
 lisp/epa.el        | 39 ++++++++++++++++++++++++++-------------
 lisp/epg-config.el | 14 +++++++-------
 5 files changed, 66 insertions(+), 72 deletions(-)

-- 
2.26.0






^ permalink raw reply	[flat|nested] 60+ messages in thread

* bug#41276: [PATCH v2 1/8] * lisp/epa.el (epa-faces): Move definition.
  2020-07-07 15:47 ` bug#41276: [PATCH v2 0/8] " Jonas Bernoulli
@ 2020-07-07 15:47   ` Jonas Bernoulli
  2020-07-07 15:47     ` bug#41276: [PATCH v2 2/8] Add all epa faces to epa-faces Custom group Jonas Bernoulli
  2020-07-07 18:30   ` bug#41276: [PATCH v2 0/8] Various small improvements to EasyPG Eli Zaretskii
  1 sibling, 1 reply; 60+ messages in thread
From: Jonas Bernoulli @ 2020-07-07 15:47 UTC (permalink / raw)
  To: 41276

Previously option `epa-mail-aliases' was the only option that was
defined right after the group `epa-faces' and right before all the
faces.  Now it is defined with all the other options and thus before
the definition of the `epa-faces' group, which it does not belong to.
---
 lisp/epa.el | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/lisp/epa.el b/lisp/epa.el
index 8ec4218735..0dd1cff465 100644
--- a/lisp/epa.el
+++ b/lisp/epa.el
@@ -56,11 +56,6 @@ epa-info-window-height
   :type 'integer
   :group 'epa)
 
-(defgroup epa-faces nil
-  "Faces for epa-mode."
-  :version "23.1"
-  :group 'epa)
-
 (defcustom epa-mail-aliases nil
   "Alist of aliases of email addresses that stand for encryption keys.
 Each element is a list of email addresses (ALIAS EXPANSIONS...).
@@ -76,6 +71,11 @@ epa-mail-aliases
   :group 'epa
   :version "24.4")
 
+(defgroup epa-faces nil
+  "Faces for epa-mode."
+  :version "23.1"
+  :group 'epa)
+
 (defface epa-validity-high
   '((default :weight bold)
     (((class color) (background dark)) :foreground "PaleTurquoise"))
-- 
2.26.0






^ permalink raw reply related	[flat|nested] 60+ messages in thread

* bug#41276: [PATCH v2 2/8] Add all epa faces to epa-faces Custom group
  2020-07-07 15:47   ` bug#41276: [PATCH v2 1/8] * lisp/epa.el (epa-faces): Move definition Jonas Bernoulli
@ 2020-07-07 15:47     ` Jonas Bernoulli
  2020-07-07 15:47       ` bug#41276: [PATCH v2 3/8] * lisp/epg-config.el (epg-config--make-gpg-configuration): Fix indentation Jonas Bernoulli
  0 siblings, 1 reply; 60+ messages in thread
From: Jonas Bernoulli @ 2020-07-07 15:47 UTC (permalink / raw)
  To: 41276

`epa-validity-face-alist' isn't actually a face but belongs
in that group anyway.

* lisp/epa.el (epa-field-name, epa-field-body)
(epa-validity-face-alist): Add to epa-faces Custom group.
---
 lisp/epa.el | 9 ++++++---
 1 file changed, 6 insertions(+), 3 deletions(-)

diff --git a/lisp/epa.el b/lisp/epa.el
index 0dd1cff465..40b3861ea8 100644
--- a/lisp/epa.el
+++ b/lisp/epa.el
@@ -117,13 +117,15 @@ epa-field-name
   '((default :weight bold)
     (((class color) (background dark)) :foreground "PaleTurquoise"))
   "Face for the name of the attribute field."
-  :group 'epa)
+  :version "28.1"
+  :group 'epa-faces)
 
 (defface epa-field-body
   '((default :slant italic)
     (((class color) (background dark)) :foreground "turquoise"))
   "Face for the body of the attribute field."
-  :group 'epa)
+  :version "28.1"
+  :group 'epa-faces)
 
 (defcustom epa-validity-face-alist
   '((unknown . epa-validity-disabled)
@@ -138,8 +140,9 @@ epa-validity-face-alist
     (full . epa-validity-high)
     (ultimate . epa-validity-high))
   "An alist mapping validity values to faces."
+  :version "28.1"
   :type '(repeat (cons symbol face))
-  :group 'epa)
+  :group 'epa-faces)
 
 (defvar epa-font-lock-keywords
   '(("^\\*"
-- 
2.26.0






^ permalink raw reply related	[flat|nested] 60+ messages in thread

* bug#41276: [PATCH v2 3/8] * lisp/epg-config.el (epg-config--make-gpg-configuration): Fix indentation.
  2020-07-07 15:47     ` bug#41276: [PATCH v2 2/8] Add all epa faces to epa-faces Custom group Jonas Bernoulli
@ 2020-07-07 15:47       ` Jonas Bernoulli
  2020-07-07 15:47         ` bug#41276: [PATCH v2 4/8] Improve and add doc-strings Jonas Bernoulli
  0 siblings, 1 reply; 60+ messages in thread
From: Jonas Bernoulli @ 2020-07-07 15:47 UTC (permalink / raw)
  To: 41276

---
 lisp/epg-config.el | 14 +++++++-------
 1 file changed, 7 insertions(+), 7 deletions(-)

diff --git a/lisp/epg-config.el b/lisp/epg-config.el
index daa9a5abd1..1c42924652 100644
--- a/lisp/epg-config.el
+++ b/lisp/epg-config.el
@@ -202,13 +202,13 @@ epg-config--make-gpg-configuration
 	(cond
 	 ((eq type 'group)
 	  (if (string-match "\\`\\([^:]+\\):" args)
-		  (setq groups
-			(cons (cons (downcase (match-string 1 args))
-				    (delete "" (split-string
-						(substring args
-							   (match-end 0))
-						";")))
-			      groups))
+	      (setq groups
+		    (cons (cons (downcase (match-string 1 args))
+				(delete "" (split-string
+					    (substring args
+						       (match-end 0))
+					    ";")))
+			  groups))
 	    (if epg-debug
 		(message "Invalid group configuration: %S" args))))
 	 ((memq type '(pubkey cipher digest compress))
-- 
2.26.0






^ permalink raw reply related	[flat|nested] 60+ messages in thread

* bug#41276: [PATCH v2 4/8] Improve and add doc-strings
  2020-07-07 15:47       ` bug#41276: [PATCH v2 3/8] * lisp/epg-config.el (epg-config--make-gpg-configuration): Fix indentation Jonas Bernoulli
@ 2020-07-07 15:47         ` Jonas Bernoulli
  2020-07-07 15:47           ` bug#41276: [PATCH v2 5/8] Drop unnecessary backward compatibility aliases Jonas Bernoulli
  0 siblings, 1 reply; 60+ messages in thread
From: Jonas Bernoulli @ 2020-07-07 15:47 UTC (permalink / raw)
  To: 41276

* lisp/epa-file.el (epa-file-select-keys):
lisp/epa-hook.el (epa-file-name-regexp):
lisp/epa.el (epa-exit-buffer): Improve doc-string.
* lisp/epa-hook.el (epa-file-name-regexp-update): Add doc-string.
---
 lisp/epa-file.el |  4 ++--
 lisp/epa-hook.el | 11 +++++++----
 lisp/epa.el      |  3 +--
 3 files changed, 10 insertions(+), 8 deletions(-)

diff --git a/lisp/epa-file.el b/lisp/epa-file.el
index dedf20b0d7..22c3dc1146 100644
--- a/lisp/epa-file.el
+++ b/lisp/epa-file.el
@@ -40,9 +40,9 @@ epa-file-cache-passphrase-for-symmetric-encryption
 (defcustom epa-file-select-keys nil
   "Control whether or not to pop up the key selection dialog.
 
-If t, always asks user to select recipients.
+If t, always ask user to select recipients.
 If nil, query user only when `epa-file-encrypt-to' is not set.
-If neither t nor nil, doesn't ask user.  In this case, symmetric
+If neither t nor nil, don't ask user.  In this case, symmetric
 encryption is used."
   :type '(choice (const :tag "Ask always" t)
 		 (const :tag "Ask when recipients are not set" nil)
diff --git a/lisp/epa-hook.el b/lisp/epa-hook.el
index d424e7a9fa..a86f23eb68 100644
--- a/lisp/epa-hook.el
+++ b/lisp/epa-hook.el
@@ -35,10 +35,10 @@ epa-file--file-name-regexp-set
 (defcustom epa-file-name-regexp (purecopy "\\.gpg\\(~\\|\\.~[0-9]+~\\)?\\'")
   "Regexp which matches filenames to be encrypted with GnuPG.
 
-If you set this outside Custom while epa-file is already enabled, you
-have to call `epa-file-name-regexp-update' after setting it to
-properly update file-name-handler-alist.  Setting this through Custom
-does that automatically."
+If you set this outside Custom while epa-file is already enabled,
+you have to call `epa-file-name-regexp-update' after setting it
+to properly update `file-name-handler-alist'.  Setting this
+through Custom does that automatically."
   :type 'regexp
   :group 'epa-file
   :set 'epa-file--file-name-regexp-set)
@@ -72,6 +72,9 @@ epa-file-auto-mode-alist-entry
   (list epa-file-name-regexp nil 'epa-file))
 
 (defun epa-file-name-regexp-update ()
+  "Update `file-name-handler-alist' after configuring outside Custom.
+After setting `epa-file-name-regexp-update' outside the Custom
+interface, update `file-name-handler-alist'."
   (interactive)
   (unless (equal (car epa-file-handler) epa-file-name-regexp)
     (setcar epa-file-handler epa-file-name-regexp)))
diff --git a/lisp/epa.el b/lisp/epa.el
index 40b3861ea8..e4d1e5b414 100644
--- a/lisp/epa.el
+++ b/lisp/epa.el
@@ -335,8 +335,7 @@ epa-unmark-key
   (epa-mark-key (not arg)))
 
 (defun epa-exit-buffer ()
-  "Exit the current buffer.
-`epa-exit-buffer-function' is called if it is set."
+  "Exit the current buffer using `epa-exit-buffer-function'."
   (interactive)
   (funcall epa-exit-buffer-function))
 
-- 
2.26.0






^ permalink raw reply related	[flat|nested] 60+ messages in thread

* bug#41276: [PATCH v2 5/8] Drop unnecessary backward compatibility aliases
  2020-07-07 15:47         ` bug#41276: [PATCH v2 4/8] Improve and add doc-strings Jonas Bernoulli
@ 2020-07-07 15:47           ` Jonas Bernoulli
  2020-07-07 15:47             ` bug#41276: [PATCH v2 6/8] Cosmetic changes to epa libraries Jonas Bernoulli
  0 siblings, 1 reply; 60+ messages in thread
From: Jonas Bernoulli @ 2020-07-07 15:47 UTC (permalink / raw)
  To: 41276

We can assume that `encode-coding-string' and `decode-coding-string'
are available; they were added in 1997.

* lisp/epa-file.el (epa-file--encode-coding-string)
(epa-file--decode-coding-string): Remove aliases for
encode-coding-string and decode-coding-string.
* lisp/epa-file.el (epa-file-write-region): Use encode-coding-string
instead of removed epa-file--encode-coding-string.
---
 lisp/epa-file.el | 22 ++++------------------
 1 file changed, 4 insertions(+), 18 deletions(-)

diff --git a/lisp/epa-file.el b/lisp/epa-file.el
index 22c3dc1146..14a169b13f 100644
--- a/lisp/epa-file.el
+++ b/lisp/epa-file.el
@@ -51,16 +51,6 @@ epa-file-select-keys
 
 (defvar epa-file-passphrase-alist nil)
 
-(eval-and-compile
-  (if (fboundp 'encode-coding-string)
-      (defalias 'epa-file--encode-coding-string 'encode-coding-string)
-    (defalias 'epa-file--encode-coding-string 'identity)))
-
-(eval-and-compile
-  (if (fboundp 'decode-coding-string)
-      (defalias 'epa-file--decode-coding-string 'decode-coding-string)
-    (defalias 'epa-file--decode-coding-string 'identity)))
-
 (defun epa-file-passphrase-callback-function (context key-id file)
   (if (and epa-file-cache-passphrase-for-symmetric-encryption
 	   (eq key-id 'SYM))
@@ -236,11 +226,7 @@ epa-file-write-region
   (setq file (expand-file-name file))
   (let* ((coding-system (or coding-system-for-write
 			    (if (fboundp 'select-safe-coding-system)
-				;; This is needed since Emacs 22 has
-				;; no-conversion setting for *.gpg in
-				;; `auto-coding-alist'.
-			        (let ((buffer-file-name
-				       (file-name-sans-extension file)))
+			        (let ((buffer-file-name file))
 				  (select-safe-coding-system
 				   (point-min) (point-max)))
 			      buffer-file-coding-system)))
@@ -266,7 +252,7 @@ epa-file-write-region
 	      (epg-encrypt-string
 	       context
 	       (if (stringp start)
-		   (epa-file--encode-coding-string start coding-system)
+		   (encode-coding-string start coding-system)
 		 (unless start
 		   (setq start (point-min)
 			 end (point-max)))
@@ -280,8 +266,8 @@ epa-file-write-region
 		   ;; decrypted contents.
 		   (format-encode-buffer (with-current-buffer buffer
 					   buffer-file-format))
-		   (epa-file--encode-coding-string (buffer-string)
-						   coding-system)))
+		   (encode-coding-string (buffer-string)
+					 coding-system)))
 	       (if (or (eq epa-file-select-keys t)
 		       (and (null epa-file-select-keys)
 			    (not (local-variable-p 'epa-file-encrypt-to
-- 
2.26.0






^ permalink raw reply related	[flat|nested] 60+ messages in thread

* bug#41276: [PATCH v2 6/8] Cosmetic changes to epa libraries
  2020-07-07 15:47           ` bug#41276: [PATCH v2 5/8] Drop unnecessary backward compatibility aliases Jonas Bernoulli
@ 2020-07-07 15:47             ` Jonas Bernoulli
  2020-07-07 15:47               ` bug#41276: [PATCH v2 7/8] epa-key-list-mode-map: Use widget-keymap as parent keymap Jonas Bernoulli
  0 siblings, 1 reply; 60+ messages in thread
From: Jonas Bernoulli @ 2020-07-07 15:47 UTC (permalink / raw)
  To: 41276

These changes make the code more readable.

* lisp/epa-dired.el (epa-dired-do-decrypt, epa-dired-do-verify)
(epa-dired-do-sign, epa-dired-do-encrypt): Use dolist instead
of while.
* lisp/epa-file.el (epa-file-passphrase-callback-function):
Set just one variable per setq call.
---
 lisp/epa-dired.el | 44 ++++++++++++++++++--------------------------
 lisp/epa-file.el  |  4 ++--
 2 files changed, 20 insertions(+), 28 deletions(-)

diff --git a/lisp/epa-dired.el b/lisp/epa-dired.el
index f601d42656..9269ea9707 100644
--- a/lisp/epa-dired.el
+++ b/lisp/epa-dired.el
@@ -29,48 +29,40 @@
 (defun epa-dired-do-decrypt ()
   "Decrypt marked files."
   (interactive)
-  (let ((file-list (dired-get-marked-files)))
-    (while file-list
-      (epa-decrypt-file (expand-file-name (car file-list)))
-      (setq file-list (cdr file-list)))
-    (revert-buffer)))
+  (dolist (file (dired-get-marked-files))
+    (epa-decrypt-file (expand-file-name file)))
+  (revert-buffer))
 
 ;;;###autoload
 (defun epa-dired-do-verify ()
   "Verify marked files."
   (interactive)
-  (let ((file-list (dired-get-marked-files)))
-    (while file-list
-      (epa-verify-file (expand-file-name (car file-list)))
-      (setq file-list (cdr file-list)))))
+  (dolist (file (dired-get-marked-files))
+    (epa-verify-file (expand-file-name file))))
 
 ;;;###autoload
 (defun epa-dired-do-sign ()
   "Sign marked files."
   (interactive)
-  (let ((file-list (dired-get-marked-files)))
-    (while file-list
-      (epa-sign-file
-       (expand-file-name (car file-list))
-       (epa-select-keys (epg-make-context) "Select keys for signing.
+  (dolist (file (dired-get-marked-files))
+    (epa-sign-file
+     (expand-file-name file)
+     (epa-select-keys (epg-make-context) "Select keys for signing.
 If no one is selected, default secret key is used.  "
-			nil t)
-       (y-or-n-p "Make a detached signature? "))
-      (setq file-list (cdr file-list)))
-    (revert-buffer)))
+		      nil t)
+     (y-or-n-p "Make a detached signature? ")))
+  (revert-buffer))
 
 ;;;###autoload
 (defun epa-dired-do-encrypt ()
   "Encrypt marked files."
   (interactive)
-  (let ((file-list (dired-get-marked-files)))
-    (while file-list
-      (epa-encrypt-file
-       (expand-file-name (car file-list))
-       (epa-select-keys (epg-make-context) "Select recipients for encryption.
-If no one is selected, symmetric encryption will be performed.  "))
-      (setq file-list (cdr file-list)))
-    (revert-buffer)))
+  (dolist (file (dired-get-marked-files))
+    (epa-encrypt-file
+     (expand-file-name file)
+     (epa-select-keys (epg-make-context) "Select recipients for encryption.
+If no one is selected, symmetric encryption will be performed.  ")))
+  (revert-buffer))
 
 (provide 'epa-dired)
 
diff --git a/lisp/epa-file.el b/lisp/epa-file.el
index 14a169b13f..20043a9eae 100644
--- a/lisp/epa-file.el
+++ b/lisp/epa-file.el
@@ -61,8 +61,8 @@ epa-file-passphrase-callback-function
 	  (or (copy-sequence (cdr entry))
 	      (progn
 		(unless entry
-		  (setq entry (list file)
-			epa-file-passphrase-alist
+		  (setq entry (list file))
+		  (setq epa-file-passphrase-alist
 			(cons entry
 			      epa-file-passphrase-alist)))
 		(setq passphrase (epa-passphrase-callback-function context
-- 
2.26.0






^ permalink raw reply related	[flat|nested] 60+ messages in thread

* bug#41276: [PATCH v2 7/8] epa-key-list-mode-map: Use widget-keymap as parent keymap
  2020-07-07 15:47             ` bug#41276: [PATCH v2 6/8] Cosmetic changes to epa libraries Jonas Bernoulli
@ 2020-07-07 15:47               ` Jonas Bernoulli
  2020-07-07 15:47                 ` bug#41276: [PATCH v2 8/8] * lisp/epa.el (epa-show-key): New command Jonas Bernoulli
  0 siblings, 1 reply; 60+ messages in thread
From: Jonas Bernoulli @ 2020-07-07 15:47 UTC (permalink / raw)
  To: 41276

Normally when one keymap is to be treated as the parent of another,
then that relationship is setup once at the time when the child is
being defined, i.e. at birth.  For some reason, this was not done
here; instead `widget-keymap' is set as `epa-key-list-mode-map'
parent every time the former is setup to be used as the local map.

This appears to be a mistake.  A few other keymaps use `widget-keymap'
as their parent and in those cases the relationship is established
just once. `epa-key-list-mode-map' is the only exception and because
there is absolutely no indication that that is justified, we remove
this inconsistency.

* lisp/epa.el (epa-key-list-mode-map): Set the parent of this keymap
while defining it.
* lisp/epa.el (epa--list-keys): Do not set the parent of the local
keymap here.
---
 lisp/epa.el | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/lisp/epa.el b/lisp/epa.el
index e4d1e5b414..8f45c667b9 100644
--- a/lisp/epa.el
+++ b/lisp/epa.el
@@ -188,6 +188,7 @@ epa-last-coding-system-specified
 (defvar epa-key-list-mode-map
   (let ((keymap (make-sparse-keymap))
 	(menu-map (make-sparse-keymap)))
+    (set-keymap-parent keymap widget-keymap)
     (define-key keymap "m" 'epa-mark-key)
     (define-key keymap "u" 'epa-unmark-key)
     (define-key keymap "d" 'epa-decrypt-file)
@@ -399,8 +400,7 @@ epa--list-keys
       (goto-char point))
 
     (epa--insert-keys (epg-list-keys context name secret))
-    (widget-setup)
-    (set-keymap-parent (current-local-map) widget-keymap))
+    (widget-setup))
   (make-local-variable 'epa-list-keys-arguments)
   (setq epa-list-keys-arguments (list name secret))
   (goto-char (point-min))
-- 
2.26.0






^ permalink raw reply related	[flat|nested] 60+ messages in thread

* bug#41276: [PATCH v2 8/8] * lisp/epa.el (epa-show-key): New command.
  2020-07-07 15:47               ` bug#41276: [PATCH v2 7/8] epa-key-list-mode-map: Use widget-keymap as parent keymap Jonas Bernoulli
@ 2020-07-07 15:47                 ` Jonas Bernoulli
  0 siblings, 0 replies; 60+ messages in thread
From: Jonas Bernoulli @ 2020-07-07 15:47 UTC (permalink / raw)
  To: 41276

Users can move in `epa-key-list-mode' buffers using either
`next-line'/`previous-line' or `widget-forward'/`widget-backward'.
When using the first set of commands, then the cursor stays in the
current column and that normally is the first column.  The key
widgets do not begin until the third character of their respective
lines.

All `epa' commands work regardless of whether the cursor is on the
widget or before them.  The `epa-show-key' command did not exist until
now because the `widget-button-press' already performs its task.  But
because the widgets don't span complete lines we actually need this
command too.
---
 lisp/epa.el | 13 ++++++++++++-
 1 file changed, 12 insertions(+), 1 deletion(-)

diff --git a/lisp/epa.el b/lisp/epa.el
index 8f45c667b9..3c7dd8309a 100644
--- a/lisp/epa.el
+++ b/lisp/epa.el
@@ -25,7 +25,9 @@
 (require 'epg)
 (require 'font-lock)
 (require 'widget)
-(eval-when-compile (require 'wid-edit))
+(eval-when-compile
+  (require 'subr-x)
+  (require 'wid-edit))
 (require 'derived)
 
 (defgroup epa nil
@@ -189,6 +191,7 @@ epa-key-list-mode-map
   (let ((keymap (make-sparse-keymap))
 	(menu-map (make-sparse-keymap)))
     (set-keymap-parent keymap widget-keymap)
+    (define-key keymap "\C-m" 'epa-show-key)
     (define-key keymap "m" 'epa-mark-key)
     (define-key keymap "u" 'epa-unmark-key)
     (define-key keymap "d" 'epa-decrypt-file)
@@ -502,6 +505,14 @@ epa-select-keys
   (let ((keys (epg-list-keys context names secret)))
     (epa--select-keys prompt keys)))
 
+(defun epa-show-key ()
+  "Show a key on the current line."
+  (interactive)
+  (if-let ((key (get-text-property (point) 'epa-key)))
+      (save-selected-window
+        (epa--show-key key))
+    (error "No key on this line")))
+
 (defun epa--show-key (key)
   (let* ((primary-sub-key (car (epg-key-sub-key-list key)))
 	 (entry (assoc (epg-sub-key-id primary-sub-key)
-- 
2.26.0






^ permalink raw reply related	[flat|nested] 60+ messages in thread

* bug#41276: [PATCH v2 0/8] Various small improvements to EasyPG
  2020-07-07 15:47 ` bug#41276: [PATCH v2 0/8] " Jonas Bernoulli
  2020-07-07 15:47   ` bug#41276: [PATCH v2 1/8] * lisp/epa.el (epa-faces): Move definition Jonas Bernoulli
@ 2020-07-07 18:30   ` Eli Zaretskii
  2020-07-07 21:09     ` Jonas Bernoulli
  1 sibling, 1 reply; 60+ messages in thread
From: Eli Zaretskii @ 2020-07-07 18:30 UTC (permalink / raw)
  To: Jonas Bernoulli; +Cc: 41276

> From: Jonas Bernoulli <jonas@bernoul.li>
> Date: Tue,  7 Jul 2020 17:47:31 +0200
> 
> Here's v2.  I believe I have addressed all the feedback.

Thanks.  Are any of the changes NEWS-worthy?





^ permalink raw reply	[flat|nested] 60+ messages in thread

* bug#41276: [PATCH v2 0/8] Various small improvements to EasyPG
  2020-07-07 18:30   ` bug#41276: [PATCH v2 0/8] Various small improvements to EasyPG Eli Zaretskii
@ 2020-07-07 21:09     ` Jonas Bernoulli
  2020-07-08  2:29       ` Eli Zaretskii
  0 siblings, 1 reply; 60+ messages in thread
From: Jonas Bernoulli @ 2020-07-07 21:09 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: 41276

Eli Zaretskii <eliz@gnu.org> writes:
> Thanks.  Are any of the changes NEWS-worthy?

I don't think so.  It's all just cleanup.

Okay maybe the last commit:
* lisp/epa.el (epa-show-key): New command.
but that only *technically* adds a new command,
in practice it fixes the issue that previously
a key did not work in a certain location.

I don't that's newsworthy.

     Jonas





^ permalink raw reply	[flat|nested] 60+ messages in thread

* bug#41276: [PATCH v2 0/8] Various small improvements to EasyPG
  2020-07-07 21:09     ` Jonas Bernoulli
@ 2020-07-08  2:29       ` Eli Zaretskii
  2020-07-08 12:08         ` Jonas Bernoulli
  0 siblings, 1 reply; 60+ messages in thread
From: Eli Zaretskii @ 2020-07-08  2:29 UTC (permalink / raw)
  To: Jonas Bernoulli; +Cc: 41276

> From: Jonas Bernoulli <jonas@bernoul.li>
> Cc: 41276@debbugs.gnu.org
> Date: Tue, 07 Jul 2020 23:09:03 +0200
> 
> Eli Zaretskii <eliz@gnu.org> writes:
> > Thanks.  Are any of the changes NEWS-worthy?
> 
> I don't think so.  It's all just cleanup.
> 
> Okay maybe the last commit:
> * lisp/epa.el (epa-show-key): New command.
> but that only *technically* adds a new command,
> in practice it fixes the issue that previously
> a key did not work in a certain location.
> 
> I don't that's newsworthy.

NEWS-worthy means that some user of this functionality would like to
know about the change.  If you think they won't, that's fine by me.





^ permalink raw reply	[flat|nested] 60+ messages in thread

* bug#41276: [PATCH v2 0/8] Various small improvements to EasyPG
  2020-07-08  2:29       ` Eli Zaretskii
@ 2020-07-08 12:08         ` Jonas Bernoulli
  2020-07-14 18:09           ` Jonas Bernoulli
  0 siblings, 1 reply; 60+ messages in thread
From: Jonas Bernoulli @ 2020-07-08 12:08 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: 41276

Eli Zaretskii <eliz@gnu.org> writes:

>> From: Jonas Bernoulli <jonas@bernoul.li>
>> Cc: 41276@debbugs.gnu.org
>> Date: Tue, 07 Jul 2020 23:09:03 +0200
>> 
>> Eli Zaretskii <eliz@gnu.org> writes:
>> > Thanks.  Are any of the changes NEWS-worthy?
>> 
>> I don't think so.  It's all just cleanup.
>> 
>> Okay maybe the last commit:
>> * lisp/epa.el (epa-show-key): New command.
>> but that only *technically* adds a new command,
>> in practice it fixes the issue that previously
>> a key did not work in a certain location.
>> 
>> I don't that's newsworthy.
>
> NEWS-worthy means that some user of this functionality would like to
> know about the change.  If you think they won't, that's fine by me.

I think it is not newsworthy, please merge it without such a notice.





^ permalink raw reply	[flat|nested] 60+ messages in thread

* bug#41276: [PATCH v2 0/8] Various small improvements to EasyPG
  2020-07-08 12:08         ` Jonas Bernoulli
@ 2020-07-14 18:09           ` Jonas Bernoulli
  2020-07-14 18:16             ` Eli Zaretskii
  0 siblings, 1 reply; 60+ messages in thread
From: Jonas Bernoulli @ 2020-07-14 18:09 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: 41276

Jonas Bernoulli <jonas@bernoul.li> writes:

> Eli Zaretskii <eliz@gnu.org> writes:
>
>>> From: Jonas Bernoulli <jonas@bernoul.li>
>>> Cc: 41276@debbugs.gnu.org
>>> Date: Tue, 07 Jul 2020 23:09:03 +0200
>>> 
>>> Eli Zaretskii <eliz@gnu.org> writes:
>>> > Thanks.  Are any of the changes NEWS-worthy?
>>> 
>>> I don't think so.  It's all just cleanup.
>>> 
>>> Okay maybe the last commit:
>>> * lisp/epa.el (epa-show-key): New command.
>>> but that only *technically* adds a new command,
>>> in practice it fixes the issue that previously
>>> a key did not work in a certain location.
>>> 
>>> I don't that's newsworthy.
>>
>> NEWS-worthy means that some user of this functionality would like to
>> know about the change.  If you think they won't, that's fine by me.
>
> I think it is not newsworthy, please merge it without such a notice.

Eli, do you want me to do anything else before merging?





^ permalink raw reply	[flat|nested] 60+ messages in thread

* bug#41276: [PATCH v2 0/8] Various small improvements to EasyPG
  2020-07-14 18:09           ` Jonas Bernoulli
@ 2020-07-14 18:16             ` Eli Zaretskii
  2020-07-14 18:27               ` Jonas Bernoulli
  0 siblings, 1 reply; 60+ messages in thread
From: Eli Zaretskii @ 2020-07-14 18:16 UTC (permalink / raw)
  To: Jonas Bernoulli; +Cc: 41276

> From: Jonas Bernoulli <jonas@bernoul.li>
> Cc: 41276@debbugs.gnu.org
> Date: Tue, 14 Jul 2020 20:09:20 +0200
> 
> Eli, do you want me to do anything else before merging?

No, I think everything is in order.

Thanks.





^ permalink raw reply	[flat|nested] 60+ messages in thread

* bug#41276: [PATCH v2 0/8] Various small improvements to EasyPG
  2020-07-14 18:16             ` Eli Zaretskii
@ 2020-07-14 18:27               ` Jonas Bernoulli
  2020-07-14 18:57                 ` Eli Zaretskii
  0 siblings, 1 reply; 60+ messages in thread
From: Jonas Bernoulli @ 2020-07-14 18:27 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: 41276

Eli Zaretskii <eliz@gnu.org> writes:

>> From: Jonas Bernoulli <jonas@bernoul.li>
>> Cc: 41276@debbugs.gnu.org
>> Date: Tue, 14 Jul 2020 20:09:20 +0200
>> 
>> Eli, do you want me to do anything else before merging?
>
> No, I think everything is in order.
>
> Thanks.

Ah, I should have stuck with the question I was initially going to ask.

  Do you want *me* to push this myself?

I was waiting for someone else to do it, since I am new here.  But it
is certainly easiest for me to do it, so if that's how things are done
around here, then I would be happy to do that.





^ permalink raw reply	[flat|nested] 60+ messages in thread

* bug#41276: [PATCH v2 0/8] Various small improvements to EasyPG
  2020-07-14 18:27               ` Jonas Bernoulli
@ 2020-07-14 18:57                 ` Eli Zaretskii
  2020-07-14 20:20                   ` Jonas Bernoulli
  0 siblings, 1 reply; 60+ messages in thread
From: Eli Zaretskii @ 2020-07-14 18:57 UTC (permalink / raw)
  To: Jonas Bernoulli; +Cc: 41276

> From: Jonas Bernoulli <jonas@bernoul.li>
> Cc: 41276@debbugs.gnu.org
> Date: Tue, 14 Jul 2020 20:27:36 +0200
> 
>   Do you want *me* to push this myself?
> 
> I was waiting for someone else to do it, since I am new here.  But it
> is certainly easiest for me to do it, so if that's how things are done
> around here, then I would be happy to do that.

I don't mind pushing it, but maybe it's time for you to bite the
bullet?  What exactly are the unknowns that make you feel uncertain?

How about if you describe what you thought you'd do, and I see if
anything's missing?





^ permalink raw reply	[flat|nested] 60+ messages in thread

* bug#41276: [PATCH v2 0/8] Various small improvements to EasyPG
  2020-07-14 18:57                 ` Eli Zaretskii
@ 2020-07-14 20:20                   ` Jonas Bernoulli
  2020-07-15  2:22                     ` Eli Zaretskii
  0 siblings, 1 reply; 60+ messages in thread
From: Jonas Bernoulli @ 2020-07-14 20:20 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: 41276

Eli Zaretskii <eliz@gnu.org> writes:

>> From: Jonas Bernoulli <jonas@bernoul.li>
>> Cc: 41276@debbugs.gnu.org
>> Date: Tue, 14 Jul 2020 20:27:36 +0200
>> 
>>   Do you want *me* to push this myself?
>> 
>> I was waiting for someone else to do it, since I am new here.  But it
>> is certainly easiest for me to do it, so if that's how things are done
>> around here, then I would be happy to do that.
>
> I don't mind pushing it, but maybe it's time for you to bite the
> bullet?  What exactly are the unknowns that make you feel uncertain?

Nobody ever told me "you now have permission to push your changes to the
master branch".  Technically I do have push permissions because I needed
that for GNU Elpa and these changes here have been approved -

- I just didn't want to assume I am allowed to push when I might not be.

> How about if you describe what you thought you'd do, and I see if
> anything's missing?

I think from the technical side I've got things figured out, just wasn't
sure if I was supposed/allowed to carry out the push action myself.





^ permalink raw reply	[flat|nested] 60+ messages in thread

* bug#41276: [PATCH v2 0/8] Various small improvements to EasyPG
  2020-07-14 20:20                   ` Jonas Bernoulli
@ 2020-07-15  2:22                     ` Eli Zaretskii
  0 siblings, 0 replies; 60+ messages in thread
From: Eli Zaretskii @ 2020-07-15  2:22 UTC (permalink / raw)
  To: Jonas Bernoulli; +Cc: 41276

> From: Jonas Bernoulli <jonas@bernoul.li>
> Cc: 41276@debbugs.gnu.org
> Date: Tue, 14 Jul 2020 22:20:40 +0200
> 
> Nobody ever told me "you now have permission to push your changes to the
> master branch".

Well, you do, once the patch review is completed (as it is now).

> I think from the technical side I've got things figured out, just wasn't
> sure if I was supposed/allowed to carry out the push action myself.

Then there's no problem, please go ahead, and thanks.





^ permalink raw reply	[flat|nested] 60+ messages in thread

* bug#41276: [PATCH 0/9] Various small improvements to EasyPG
  2020-05-25  1:34     ` Noam Postavsky
@ 2020-07-17  7:30       ` Robert Pluim
  0 siblings, 0 replies; 60+ messages in thread
From: Robert Pluim @ 2020-07-17  7:30 UTC (permalink / raw)
  To: Noam Postavsky; +Cc: 41276, Jonas Bernoulli, Stefan Kangas

>>>>> On Sun, 24 May 2020 21:34:42 -0400, Noam Postavsky <npostavs@gmail.com> said:

    Noam> Robert Pluim <rpluim@gmail.com> writes:
    >> Itʼs a real shame that log-edit-generate-changelog-from-diff doesn't
    >> work correctly when committing via Magit, it really helps you get all
    >> the annoying details of ChangeLog entries right.

    Noam> You can try out https://github.com/magit/magit/pull/3928 which makes
    Noam> this functionality accessible from magit.  Also linked there is
    Noam> https://github.com/dickmao/magit-patch-changelog which takes a slightly
    Noam> different approach.

Thanks, Iʼll take a look at it. Last time I checked out
magit-patch-changelog it didnʼt quite work the way I wanted.

Robert





^ permalink raw reply	[flat|nested] 60+ messages in thread

* bug#41276: [PATCH 0/9] Various small improvements to EasyPG
  2020-05-14 19:13 bug#41276: [PATCH 0/9] Various small improvements to EasyPG Jonas Bernoulli
                   ` (12 preceding siblings ...)
  2020-07-07 15:47 ` bug#41276: [PATCH v2 0/8] " Jonas Bernoulli
@ 2020-08-05 19:03 ` Lars Ingebrigtsen
  2020-08-06  7:22   ` bug#41268: " Jonas Bernoulli
  13 siblings, 1 reply; 60+ messages in thread
From: Lars Ingebrigtsen @ 2020-08-05 19:03 UTC (permalink / raw)
  To: Jonas Bernoulli; +Cc: 41276, 41268

Jonas Bernoulli <jonas@bernoul.li> writes:

> This patches make various cosmetic and hopefully uncontroversial
> changes to epa and epg libraries.
>
> I am now to contributing to Emacs itself and not yet comfortable
> with the commit message conventions among other things.  Tell me
> what I am doing wrong please.

Looking at "git log", it seems that many of these patches were applied,
but I can't tell if there's any that weren't.  Is there anything further
to be done in this bug report, or can it be closed?

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





^ permalink raw reply	[flat|nested] 60+ messages in thread

* bug#41268: bug#41276: [PATCH 0/9] Various small improvements to EasyPG
  2020-08-05 19:03 ` bug#41276: [PATCH 0/9] " Lars Ingebrigtsen
@ 2020-08-06  7:22   ` Jonas Bernoulli
  2020-08-06  7:26     ` Lars Ingebrigtsen
  0 siblings, 1 reply; 60+ messages in thread
From: Jonas Bernoulli @ 2020-08-06  7:22 UTC (permalink / raw)
  To: Lars Ingebrigtsen; +Cc: 41276, 41268

Lars Ingebrigtsen <larsi@gnus.org> writes:

> Looking at "git log", it seems that many of these patches were applied,
> but I can't tell if there's any that weren't.  Is there anything further
> to be done in this bug report, or can it be closed?

This can be closed.

I took out one commit, but re-submitted it in another series.





^ permalink raw reply	[flat|nested] 60+ messages in thread

* bug#41268: bug#41276: [PATCH 0/9] Various small improvements to EasyPG
  2020-08-06  7:22   ` bug#41268: " Jonas Bernoulli
@ 2020-08-06  7:26     ` Lars Ingebrigtsen
  0 siblings, 0 replies; 60+ messages in thread
From: Lars Ingebrigtsen @ 2020-08-06  7:26 UTC (permalink / raw)
  To: Jonas Bernoulli; +Cc: 41276, 41268

Jonas Bernoulli <jonas@bernoul.li> writes:

>> Looking at "git log", it seems that many of these patches were applied,
>> but I can't tell if there's any that weren't.  Is there anything further
>> to be done in this bug report, or can it be closed?
>
> This can be closed.

OK, done.

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





^ permalink raw reply	[flat|nested] 60+ messages in thread

end of thread, other threads:[~2020-08-06  7:26 UTC | newest]

Thread overview: 60+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2020-05-14 19:13 bug#41276: [PATCH 0/9] Various small improvements to EasyPG Jonas Bernoulli
2020-05-14 19:13 ` bug#41272: [PATCH 1/9] * lisp/epa.el (epa-faces): Move definition Jonas Bernoulli
2020-05-14 19:13 ` bug#41269: [PATCH 2/9] Add all epa faces to epa-faces Custom group Jonas Bernoulli
2020-05-14 19:13 ` bug#41270: [PATCH 3/9] * lisp/epg-config.el (epg-config--make-gpg-configuration): Fix indentation Jonas Bernoulli
2020-05-14 19:13 ` bug#41275: [PATCH 4/9] Split EasyPG libraries into outline sections Jonas Bernoulli
2020-05-14 19:13 ` bug#41277: [PATCH 5/9] Improve and add doc-strings Jonas Bernoulli
2020-05-14 19:13 ` bug#41268: [PATCH 6/9] Drop unnecessary backward compatibility aliases Jonas Bernoulli
2020-05-14 19:13 ` bug#41271: [PATCH 7/9] Cosmetic changes to epa libraries Jonas Bernoulli
2020-05-14 19:13 ` bug#41273: [PATCH 8/9] epa-key-list-mode-map: Use widget-keymap as parent keymap Jonas Bernoulli
2020-05-14 19:13 ` bug#41274: [PATCH 9/9] * lisp/epa.el (epa-show-key): New command Jonas Bernoulli
2020-06-23 22:57   ` Basil L. Contovounesios
2020-07-07 15:34     ` Jonas Bernoulli
     [not found] ` <handler.41276.B.15894836275636.ack@debbugs.gnu.org>
2020-05-14 20:14   ` bug#41276: Acknowledgement ([PATCH 0/9] Various small improvements to EasyPG) Jonas Bernoulli
2020-05-14 22:33     ` Stefan Kangas
2020-05-15  7:26     ` Eli Zaretskii
2020-05-15 11:27       ` Jonas Bernoulli
2020-05-15 11:52         ` Eli Zaretskii
2020-05-15 16:56           ` Jonas Bernoulli
2020-05-15 17:42             ` Eli Zaretskii
2020-05-15 22:42               ` Jonas Bernoulli
2020-05-16  6:45                 ` Eli Zaretskii
2020-05-14 20:16 ` bug#41276: [PATCH 1/9] * lisp/epa.el (epa-faces): Move definition Jonas Bernoulli
2020-05-14 20:16   ` bug#41276: [PATCH 2/9] Add all epa faces to epa-faces Custom group Jonas Bernoulli
2020-05-15  9:32     ` Robert Pluim
2020-06-23 22:57       ` Basil L. Contovounesios
2020-07-07 15:32         ` Jonas Bernoulli
2020-05-14 20:16   ` bug#41276: [PATCH 3/9] * lisp/epg-config.el (epg-config--make-gpg-configuration): Fix indentation Jonas Bernoulli
2020-05-14 20:16   ` bug#41276: [PATCH 4/9] Split EasyPG libraries into outline sections Jonas Bernoulli
2020-05-14 20:16   ` bug#41276: [PATCH 5/9] Improve and add doc-strings Jonas Bernoulli
2020-05-14 20:16   ` bug#41276: [PATCH 6/9] Drop unnecessary backward compatibility aliases Jonas Bernoulli
2020-05-14 20:16   ` bug#41276: [PATCH 7/9] Cosmetic changes to epa libraries Jonas Bernoulli
2020-05-14 20:16   ` bug#41276: [PATCH 8/9] epa-key-list-mode-map: Use widget-keymap as parent keymap Jonas Bernoulli
2020-05-15  7:27     ` Eli Zaretskii
2020-05-14 20:16   ` bug#41276: [PATCH 9/9] * lisp/epa.el (epa-show-key): New command Jonas Bernoulli
2020-05-14 23:04 ` bug#41276: [PATCH 0/9] Various small improvements to EasyPG Stefan Kangas
2020-05-15  9:26   ` Robert Pluim
2020-05-25  1:34     ` Noam Postavsky
2020-07-17  7:30       ` Robert Pluim
2020-07-07 15:47 ` bug#41276: [PATCH v2 0/8] " Jonas Bernoulli
2020-07-07 15:47   ` bug#41276: [PATCH v2 1/8] * lisp/epa.el (epa-faces): Move definition Jonas Bernoulli
2020-07-07 15:47     ` bug#41276: [PATCH v2 2/8] Add all epa faces to epa-faces Custom group Jonas Bernoulli
2020-07-07 15:47       ` bug#41276: [PATCH v2 3/8] * lisp/epg-config.el (epg-config--make-gpg-configuration): Fix indentation Jonas Bernoulli
2020-07-07 15:47         ` bug#41276: [PATCH v2 4/8] Improve and add doc-strings Jonas Bernoulli
2020-07-07 15:47           ` bug#41276: [PATCH v2 5/8] Drop unnecessary backward compatibility aliases Jonas Bernoulli
2020-07-07 15:47             ` bug#41276: [PATCH v2 6/8] Cosmetic changes to epa libraries Jonas Bernoulli
2020-07-07 15:47               ` bug#41276: [PATCH v2 7/8] epa-key-list-mode-map: Use widget-keymap as parent keymap Jonas Bernoulli
2020-07-07 15:47                 ` bug#41276: [PATCH v2 8/8] * lisp/epa.el (epa-show-key): New command Jonas Bernoulli
2020-07-07 18:30   ` bug#41276: [PATCH v2 0/8] Various small improvements to EasyPG Eli Zaretskii
2020-07-07 21:09     ` Jonas Bernoulli
2020-07-08  2:29       ` Eli Zaretskii
2020-07-08 12:08         ` Jonas Bernoulli
2020-07-14 18:09           ` Jonas Bernoulli
2020-07-14 18:16             ` Eli Zaretskii
2020-07-14 18:27               ` Jonas Bernoulli
2020-07-14 18:57                 ` Eli Zaretskii
2020-07-14 20:20                   ` Jonas Bernoulli
2020-07-15  2:22                     ` Eli Zaretskii
2020-08-05 19:03 ` bug#41276: [PATCH 0/9] " Lars Ingebrigtsen
2020-08-06  7:22   ` bug#41268: " Jonas Bernoulli
2020-08-06  7:26     ` Lars Ingebrigtsen

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).