branch: master commit 6017cc8c56c4076d45b607c2c1e9e3a79bf980d5 Author: Pengji Zhang <m...@zhangpj.name> Commit: Oleh Krehel <ohwoeo...@gmail.com>
ivy.el (ivy-read): Keep only one action for one key This allows overriding the global actions per command. Fixes #1873 --- ivy.el | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/ivy.el b/ivy.el index 669a803..e73d258 100644 --- a/ivy.el +++ b/ivy.el @@ -1805,10 +1805,11 @@ candidates is updated after each input by calling COLLECTION. CALLER is a symbol to uniquely identify the caller to `ivy-read'. It is used, along with COLLECTION, to determine which customizations apply to the current completion session." - (let ((extra-actions (delete-dups + (let ((extra-actions (cl-delete-duplicates (append (plist-get ivy--actions-list t) (plist-get ivy--actions-list this-command) - (plist-get ivy--actions-list caller))))) + (plist-get ivy--actions-list caller)) + :key #'car :test #'equal))) (when extra-actions (setq action (cond ((functionp action)