From 8201f36c1137a8eee78cfc0ecdea629c10200b78 Mon Sep 17 00:00:00 2001 From: Oleh Krehel Date: Mon, 4 Apr 2016 17:10:33 +0200 Subject: [PATCH] ivy.el (ivy-occur-revert-buffer): Improve for counsel-git-grep * counsel.el (counsel-git-grep-occur): Avoid calling `ivy-occur-grep-mode', since it erases all local variables. --- counsel.el | 8 +++++--- ivy.el | 18 +++++++++++------- 2 files changed, 16 insertions(+), 10 deletions(-) diff --git a/counsel.el b/counsel.el index c4f6c3cbb..16cc2971f 100644 --- a/counsel.el +++ b/counsel.el @@ -963,9 +963,11 @@ When NO-ASYNC is non-nil, do it synchronously." (ivy--exhibit))))))))) (defun counsel-git-grep-occur () - "Generate a custom occur buffer for `counsel-git-grep'." - (ivy-occur-grep-mode) - (setq default-directory counsel--git-grep-dir) + "Generate a custom occur buffer for `counsel-git-grep'. +When REVERT is non-nil, regenerate the current *ivy-occur* buffer." + (unless (eq major-mode 'ivy-occur-grep-mode) + (ivy-occur-grep-mode) + (setq default-directory counsel--git-grep-dir)) (let ((cands (split-string (shell-command-to-string (format counsel-git-grep-cmd diff --git a/ivy.el b/ivy.el index 000d68e07..5b23a4e3d 100644 --- a/ivy.el +++ b/ivy.el @@ -2846,13 +2846,17 @@ updated original buffer." (interactive) (let ((caller (ivy-state-caller ivy-occur-last)) (ivy-last ivy-occur-last)) - (when (eq caller 'swiper) - (let ((buffer (ivy-state-buffer ivy-occur-last))) - (unless (buffer-live-p buffer) - (error "buffer was killed")) - (let ((inhibit-read-only t)) - (erase-buffer) - (funcall (plist-get ivy--occurs-list caller) t)))))) + (cond ((eq caller 'swiper) + (let ((buffer (ivy-state-buffer ivy-occur-last))) + (unless (buffer-live-p buffer) + (error "buffer was killed")) + (let ((inhibit-read-only t)) + (erase-buffer) + (funcall (plist-get ivy--occurs-list caller) t)))) + ((memq caller '(counsel-git-grep counsel-grep)) + (let ((inhibit-read-only t)) + (erase-buffer) + (funcall (plist-get ivy--occurs-list caller))))))) (declare-function wgrep-change-to-wgrep-mode "ext:wgrep") -- 2.39.2