[PATCH] Use eval() to shell-parse $EDITOR for pass-edit

Allan Odgaard lists+pass at simplit.com
Thu Nov 28 22:15:24 CET 2019


On 28 Nov 2019, at 22:00, Tobias Girstmair wrote:

> On Fri, Nov 29, 2019 at 09:51:42AM +1300, martin f. krafft wrote:
>> That's all I have in /usr/bin here ;)
>
> I've got /usr/bin/i3-sensible-editor and it _does_ eval it (not that i 
> have a strong opinion on this topic):
>
>    for editor in "$VISUAL" "$EDITOR" nano nvim vim vi emacs pico qe mg 
> jed gedit mcedit gvim; do
> 	if command -v "$editor" > /dev/null 2>&1; then
> 	    exec "$editor" "$@"
> 	fi
>    done

I don’t know what the above is, but that does not use `eval` and it 
doesn’t even seem to support arguments as part of the `EDITOR` 
variable (as it uses quotes for the variable expansion, so `command` 
will see the command with arguments as a single shell word and fail).

`crontab` also does not support arguments as part of the `EDITOR` 
variable, but everything else that I am aware of does.

I have not seen anything use `eval` and I think it’s a bad idea 
because it’s not a specification, it’s just “run it as a shell 
line” which can have different meaning depending on the shell.

Definitely the proper solution is to have `EDITOR` point to a shell 
script rather than try to treat the `EDTIOR` variable as an inline shell 
script.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.zx2c4.com/pipermail/password-store/attachments/20191128/4a2d0ec9/attachment.html>


More information about the Password-Store mailing list