branch: master commit 16d2268b9655db71e215b99609e176df580aaac9 Author: zsxh <bnbvbc...@gmail.com> Commit: zsxh <bnbvbc...@gmail.com>
Fix ivy-push/switch-view windows layout --- ivy.el | 22 ++++++++++++++-------- 1 file changed, 14 insertions(+), 8 deletions(-) diff --git a/ivy.el b/ivy.el index 679b81a..bc916ad 100644 --- a/ivy.el +++ b/ivy.el @@ -3908,26 +3908,32 @@ Use `ivy-pop-view' to delete any item from `ivy-views'." (let* ((wnd1 (selected-window)) (wnd2 (split-window-vertically)) (views (cdr view)) - (v (pop views))) + (v (pop views)) + (temp-wnd)) (with-selected-window wnd1 (ivy-set-view-recur v)) (while (setq v (pop views)) (with-selected-window wnd2 - (ivy-set-view-recur v)) - (when views - (setq wnd2 (split-window-vertically)))))) + (when views + (setq temp-wnd (split-window-vertically))) + (ivy-set-view-recur v) + (when views + (setq wnd2 temp-wnd)))))) ((eq (car view) 'horz) (let* ((wnd1 (selected-window)) (wnd2 (split-window-horizontally)) (views (cdr view)) - (v (pop views))) + (v (pop views)) + (temp-wnd)) (with-selected-window wnd1 (ivy-set-view-recur v)) (while (setq v (pop views)) (with-selected-window wnd2 - (ivy-set-view-recur v)) - (when views - (setq wnd2 (split-window-horizontally)))))) + (when views + (setq temp-wnd (split-window-horizontally))) + (ivy-set-view-recur v) + (when views + (setq wnd2 temp-wnd)))))) ((eq (car view) 'file) (let* ((name (nth 1 view)) (virtual (assoc name ivy--virtual-buffers))