bug-gnu-emacs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

bug#69133: [PATCH] Make key selection method configurable in EPA.


From: Aleksandr Vityazev
Subject: bug#69133: [PATCH] Make key selection method configurable in EPA.
Date: Thu, 15 Feb 2024 23:22:29 +0300


Thanks, added the fixes, attached the version 2 patch

On 2024-02-15 08:07, Eli Zaretskii wrote:

>> Date: Wed, 14 Feb 2024 22:47:08 +0300
>> From:  Aleksandr Vityazev via "Bug reports for GNU Emacs,
>>  the Swiss army knife of text editors" <bug-gnu-emacs@gnu.org>
>> 
>> Currently in epa.el it is possible to select keys only through a
>> separate buffer, I think adding the option to select via minibuffer
>> would be a nice addition. The current behavior is set to default. Any
>> comments?
>
> Thanks, some comments below,
>
>> --- a/etc/NEWS
>> +++ b/etc/NEWS
>> @@ -1352,6 +1352,14 @@ characters, such as ½ (U+00BD VULGAR FRACTION ONE 
>> HALF), are also
>>  recognized as rational fractions.  They have been since 2004, but it
>>  looks like it was never mentioned in the NEWS, or even the manual.
>> 
>> +** EasyPG
>> +
>> +---
>> +*** New user option 'epa-keys-select-method'
>
> Heading lines in NEWS should end with a period.
>

Fixed

>> +This allows the user to customize the key selection method, a minibuffer
>> +or buffer option is available, which is set by default and was used in
>> +all earlier versions.
>
> This sentence is too complex.  Suggest to reword as two sentences:
>
>   This allows the user to customize the key selection method, which
>   can be either by using a pop-up buffer or from the minibuffer.  The
>   pop-up buffer method is the default, which preserves previous
>   behavior.
>

Applied

> Also, why did you decide not to document this in the manual?  epa.el
> has its own manual, so how about adding this option to it?

Added

>
>> +(defcustom epa-keys-select-method 'buffer
>> +  "Method used to select keys.
>> +It can have two values: buffer or minibuffer.
>> +Can have two values: buffer or minibuffer.  In the first case, the keys
>> +can be selected via a pop-up buffer. In the second case, the keys
>> +can be selected via a minibuffer and `completing-read-multiple' will be
>> +used."
>
> The doc string could also be simplified.  Like this, for example:
>
>     Method used to select keys in `epa-select-keys'.
>   If the value is \\='buffer, the default, keys are selected via a
>   pop-up buffer.  If the value is \\='minibuffer, keys are selected
>   via the minibuffer instead, using `completing-read-multiple'.
>
Applied

> This avoids explaining the values twice (first what they are, then
> what they do), and also mentions the default value.
>
> Please also make sure comments, doc strings, and commit log messages
> leave two spaces between sentences, per our conventions.  You had a
> couple of problems with that in the patch, which my suggested
> rephrasing fixed, but please keep this in mind in the future.
>
>> +  :type '(choice (const :tag "Read keys from buffer" buffer)
>                                  ^^^^^^^^^^^^^^^^^^^^^
> This should probably say "...from a pop-up buffer".

Fixed
>
>>  (defun epa-select-keys (context prompt &optional names secret)
>>    "Display a user's keyring and ask him to select keys.
>> @@ -459,7 +484,10 @@ epa-select-keys
>>  the keys are listed.
>>  If SECRET is non-nil, list secret keys instead of public keys."
>>    (let ((keys (epg-list-keys context names secret)))
>> -    (epa--select-keys prompt keys)))
>> +    (pcase epa-keys-select-method
>> +      ('buffer (epa--select-keys prompt keys))
>> +      ('minibuffer (epa--select-keys-in-minibuffer prompt keys))
>> +      (_ (error "Wrong method for key selection is specified")))))
>


> Hmm... are you assuming users know how to input multiple strings from
> the minibuffer, in particular what is the value of crm-separator?  the
> function epa--select-keys inserts some instructions into the pop-up
> buffer, but this new function you propose just shows the prompt and
> nothing else.  Should it somehow help the user with the job of typing
> the keys at the prompt?

The crm-separator is "[ \t]*,[ \t]*", so I added a "(comma separated)"
hint that will be in all prompts.

>
> Also, maybe instead of signaling an error for a value that's neither
> 'buffer' nor 'minibuffer', we should treat such values as 'buffer'?

Agree, fixed

Attachment: 0001-Make-key-selection-method-configurable-in-EPA.patch
Description: patch-v2

-- 
Best regards,
Aleksandr Vityazev

reply via email to

[Prev in Thread] Current Thread [Next in Thread]