emacs-elpa-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[elpa] master 8201f36 224/272: ivy.el (ivy-occur-revert-buffer): Improve


From: Oleh Krehel
Subject: [elpa] master 8201f36 224/272: ivy.el (ivy-occur-revert-buffer): Improve for counsel-git-grep
Date: Mon, 25 Apr 2016 10:13:27 +0000

branch: master
commit 8201f36c1137a8eee78cfc0ecdea629c10200b78
Author: Oleh Krehel <address@hidden>
Commit: Oleh Krehel <address@hidden>

    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 c4f6c3c..16cc297 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 000d68e..5b23a4e 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")
 



reply via email to

[Prev in Thread] Current Thread [Next in Thread]