branch: externals/embark commit d07cb30c0a08c5845a96cfdff82e5f42ce2eaef0 Author: Omar Antolín <omar.anto...@gmail.com> Commit: Omar Antolín <omar.anto...@gmail.com>
Always transform candidates for multitarget actions There are 3 ways you can call the default action: via embark-dwim, embark-act, or embark-act-all, and they should all behave the same way. In particular, for a multitarget action, they should all behave like embark-act-all. But embark-act-all was using transformed candidates while embark-act and embark-dwim were using original candidates. The use of original candidates is meant for actions called interactively, and doesn't really make sense for multitarget actions which are not called interactively. So in the case of multitarget actions it was embark-act-all who was right and this change makes embark-act and embark-dwim agree with it. This should fix the problem over at bdarcus/citar#583. --- embark.el | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/embark.el b/embark.el index 0849869b40..7fc3e8d830 100644 --- a/embark.el +++ b/embark.el @@ -2076,7 +2076,8 @@ target." (embark--act action (if (and (eq action default-action) - (eq action embark--command)) + (eq action embark--command) + (not (memq action embark-multitarget-actions))) (embark--orig-target target) target) (embark--quit-p action)) @@ -2271,7 +2272,9 @@ See `embark-act' for the meaning of the prefix ARG." (action (or (command-remapping default-action) default-action))) (when (and arg (minibufferp)) (setq embark--toggle-quit t)) (embark--act action - (if (eq default-action embark--command) + (if (and (eq default-action embark--command) + (not (memq default-action + embark-multitarget-actions))) (embark--orig-target target) target) (embark--quit-p action)))