ce2f71760155b71a71418fe145a557c99bd52290 of master
the --skip-hidden-recipietnts option is broken. It is actually not anymore used in the code. Worse: Depending on the order of the encryption keys I have to cancel through all my smartcards. That is pretty inconvenient.
The bug is gone by rG79f165d7a8bc: gpg: Make --skip-hidden-recipients work again..
But the expected change described by the FIXME in the comment is not yet achieved.
It is enum_secret_keys which defines the order.
Implemented correctly (as FIXME), it should contact gpg-agent about keys w/o protection, cached keys, etc.
I think that it's good to rewrite enum_secret_keys in g10/skclist.c.
Currently, it's based on getkey_bynames, and extended to get active card keys by agent_scd_cardlist.
I think that it's good to do:
(1) ask gpg-agent by KEYINFO --list, and get list of secret keys (in the order described by FIXME) (2) filter secret keys by checking corresponding OpenPGP key
I am going to close this ticket, creating another for above.