branch: master commit b7c40d380bef08a4681f14bb1164b209621743da Author: Oleh Krehel <ohwoeo...@gmail.com> Commit: Oleh Krehel <ohwoeo...@gmail.com>
ivy.el (ivy-resume): Add a guard against null :action Re syl20bnr/spacemacs#5335 --- ivy.el | 46 ++++++++++++++++++++++++---------------------- 1 file changed, 24 insertions(+), 22 deletions(-) diff --git a/ivy.el b/ivy.el index fa156f8..9d79617 100644 --- a/ivy.el +++ b/ivy.el @@ -663,28 +663,30 @@ If the text hasn't changed as a result, forward to `ivy-alt-done'." (defun ivy-resume () "Resume the last completion session." (interactive) - (when (eq (ivy-state-caller ivy-last) 'swiper) - (switch-to-buffer (ivy-state-buffer ivy-last))) - (with-current-buffer (ivy-state-buffer ivy-last) - (ivy-read - (ivy-state-prompt ivy-last) - (ivy-state-collection ivy-last) - :predicate (ivy-state-predicate ivy-last) - :require-match (ivy-state-require-match ivy-last) - :initial-input ivy-text - :history (ivy-state-history ivy-last) - :preselect (unless (eq (ivy-state-collection ivy-last) - 'read-file-name-internal) - ivy--current) - :keymap (ivy-state-keymap ivy-last) - :update-fn (ivy-state-update-fn ivy-last) - :sort (ivy-state-sort ivy-last) - :action (ivy-state-action ivy-last) - :unwind (ivy-state-unwind ivy-last) - :re-builder (ivy-state-re-builder ivy-last) - :matcher (ivy-state-matcher ivy-last) - :dynamic-collection (ivy-state-dynamic-collection ivy-last) - :caller (ivy-state-caller ivy-last)))) + (if (null (ivy-state-action ivy-last)) + (user-error "The last session isn't compatible with `ivy-resume'") + (when (eq (ivy-state-caller ivy-last) 'swiper) + (switch-to-buffer (ivy-state-buffer ivy-last))) + (with-current-buffer (ivy-state-buffer ivy-last) + (ivy-read + (ivy-state-prompt ivy-last) + (ivy-state-collection ivy-last) + :predicate (ivy-state-predicate ivy-last) + :require-match (ivy-state-require-match ivy-last) + :initial-input ivy-text + :history (ivy-state-history ivy-last) + :preselect (unless (eq (ivy-state-collection ivy-last) + 'read-file-name-internal) + ivy--current) + :keymap (ivy-state-keymap ivy-last) + :update-fn (ivy-state-update-fn ivy-last) + :sort (ivy-state-sort ivy-last) + :action (ivy-state-action ivy-last) + :unwind (ivy-state-unwind ivy-last) + :re-builder (ivy-state-re-builder ivy-last) + :matcher (ivy-state-matcher ivy-last) + :dynamic-collection (ivy-state-dynamic-collection ivy-last) + :caller (ivy-state-caller ivy-last))))) (defvar-local ivy-calling nil "When non-nil, call the current action when `ivy--index' changes.")