Zsh Mailing List Archive
Messages sorted by:
Reverse Date,
Date,
Thread,
Author
Re: [PATCH 1/1] _gpg: Use explicit UIDs for state = public keys.
- X-seq: zsh-workers 42915
- From: Doron Behar <doron.behar@xxxxxxxxx>
- To: zsh-workers@xxxxxxx
- Subject: Re: [PATCH 1/1] _gpg: Use explicit UIDs for state = public keys.
- Date: Sat, 2 Jun 2018 18:08:11 +0300
- Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=date:from:to:subject:message-id:mail-followup-to:references :mime-version:content-disposition:content-transfer-encoding :in-reply-to:user-agent; bh=6RJvO78CMwC+MsjGTWozFzvOA8WixgmT8uEmQgIKozI=; b=I9HkbWhnAeBDsrp/rG5dEA4SpKwQ+JVPPqcxeITub6wm/ZnaA2XjiyKJU1CtznK0rD Aja49gvo2v2U25tLy0olzAXuVjyaMdUqQgwT5Hqxn45g4pgPHot4rs26xgw0I0gWpr39 0iE5/I8q1cxKowCnlC9uty+cwCvCnvb40KDHRpSB4GjJU3F25WRPKf4w7EzV9hnYqa4r tfCUIbPdm00R8eVPkGEcKL+YYpGgSSR5+WTQ0nYsfZ/mZBS18wnVrM89OLrXSqa1tTfQ w3SyAAd+3O5kWPxuYt5vdVPGSdgNtL6fInKOmb9Zy0A6yf+DHjVWoxHnjmFigzcTGQjg 2btQ==
- In-reply-to: <20180530190414.e7khdn2hk5wj4t2s@tarpaulin.shahaf.local2>
- List-help: <mailto:zsh-workers-help@zsh.org>
- List-id: Zsh Workers List <zsh-workers.zsh.org>
- List-post: <mailto:zsh-workers@zsh.org>
- List-unsubscribe: <mailto:zsh-workers-unsubscribe@zsh.org>
- Mail-followup-to: zsh-workers@xxxxxxx
- Mailing-list: contact zsh-workers-help@xxxxxxx; run by ezmlm
- References: <20180526151628.17983-1-doron.behar@gmail.com> <20180526151628.17983-2-doron.behar@gmail.com> <20180526162541.ejfzrpqwl5lwjkzb@tarpaulin.shahaf.local2> <20180529141034.m45lzzjpjrmo4wjg@NUC.doronbehar.com> <20180530190414.e7khdn2hk5wj4t2s@tarpaulin.shahaf.local2>
That didn't work.. I debugged this a little bit and I discovered that
setting IFS=$'\n' is what makes this problem. Perhaps should it be
reported as a bug of `_call_program`?
On Wed, May 30, 2018 at 07:04:14PM +0000, Daniel Shahaf wrote:
> Doron Behar wrote on Tue, May 29, 2018 at 17:11:23 +0300:
> > I've successfully managed to solve address all the comments you've had
> > for my patch. Yet, I'm having trouble with `_call_program`. The line I'm
> > trying to put is this:
> >
> > local public_keys=(${(@s.:.)$(_call_program public-keys $words[1] $needed --list-public-keys --list-options no-show-photos --with-colons)})
> >
> > I debugged this a little bit and the variable `$public_keys` is empty
> > but if I remove the words: `_call_program public-keys` it works good.
> >
> > I've had a glimpse at `htop` when this function was called when I tested
> > the completion function and I saw these commands running there:
> >
> > pkgfile -b -v -- --list-public-keys
> > pkgfile -b -v -- --list-options
> > pkgfile -b -v -- no-show-photos
> > pkgfile -b -v -- --with-colons
> >
> > What is _call_program supposed to be doing?
> >
>
> _call_program (doc'd in zshcompsys(1)) is supposed to run the command
> "$words[1] $needed --list-public-keys --list-options no-show-photos
> --with-colons". The purpose of using _call_program is to allow the user to
> override the command to use by setting a zstyle.
>
> I can't explain the multiple commands you glimpsed in htop.
>
> Try changing «$words[1] $needed» to «${(q)words[1]} ${(q)needed}». That adds
> an additional level of quoting, since one of the differences between «foo bar
> baz…» and «_call_program x foo bar baz…» is that in the latter case, the «foo
> bar baz» are eval'd. I'm not sure whether that would fix the failure mode
> you're seeing, but it's a correct change regardless.
>
> I would recommend debugging that line inside out, e.g., start by ensuring the
> _call_program by itself gets the expected arguments and produced the expected
> values on its stdout. Enabling tracing («set -x» or «functions -T _call_program»)
> might help.
>
> > Besides that, the revised patch is ready. I've also included similar
> > improvements for the other states - `secret-keys` and `public-keyids`.
>
> I look forward to the revised patch. However, I'll be busy in the next few
> days so I hope another developer would beat me to reviewing/applying it ;-).
>
> Cheers,
>
> Daniel
Messages sorted by:
Reverse Date,
Date,
Thread,
Author