[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] master 15e2c88 051/399: Restore buffer-list after counsel-switch-
From: |
Oleh Krehel |
Subject: |
[elpa] master 15e2c88 051/399: Restore buffer-list after counsel-switch-buffers |
Date: |
Sat, 20 Jul 2019 14:56:47 -0400 (EDT) |
branch: master
commit 15e2c8869c99045125a691f5c647ec4a7cdbf287
Author: Andrew Whatson <address@hidden>
Commit: Oleh Krehel <address@hidden>
Restore buffer-list after counsel-switch-buffers
Previewing the buffers calls `switch-to-buffer` without the NORECORD
flag, so the buffer-list is modified (previewed buffers are bumped up
the list). This change keeps a backup of buffer-list and restores it
during unwind.
Fixes #1954
---
counsel.el | 14 ++++++++++----
1 file changed, 10 insertions(+), 4 deletions(-)
diff --git a/counsel.el b/counsel.el
index 4f471a6..4deceb6 100644
--- a/counsel.el
+++ b/counsel.el
@@ -5052,14 +5052,20 @@ When ARG is non-nil, ignore NoDisplay property in
*.desktop files."
(defvar counsel--switch-buffer-temporary-buffers nil
"Internal.")
+(defvar counsel--switch-buffer-previous-buffers nil
+ "Internal.")
+
(defun counsel--switch-buffer-unwind ()
- "Clear temporary file buffers.
+ "Clear temporary file buffers and restore `buffer-list'.
The buffers are those opened during a session of `counsel-switch-buffer'."
- (while counsel--switch-buffer-temporary-buffers
- (let ((buf (pop counsel--switch-buffer-temporary-buffers)))
- (kill-buffer buf))))
+ (mapc 'kill-buffer counsel--switch-buffer-temporary-buffers)
+ (mapc 'bury-buffer counsel--switch-buffer-previous-buffers)
+ (setq counsel--switch-buffer-temporary-buffers nil
+ counsel--switch-buffer-previous-buffers nil))
(defun counsel--switch-buffer-update-fn ()
+ (unless counsel--switch-buffer-previous-buffers
+ (setq counsel--switch-buffer-previous-buffers (buffer-list)))
(let ((current (ivy-state-current ivy-last)))
;; This check is necessary, otherwise typing into the completion
;; would create empty buffers.
- [elpa] master f0b2bc6 037/399: Update ivy-help.org, (continued)
- [elpa] master f0b2bc6 037/399: Update ivy-help.org, Oleh Krehel, 2019/07/20
- [elpa] master da9d937 041/399: ivy.el (ivy-call): Allow ivy-inhibit-action to be a function, Oleh Krehel, 2019/07/20
- [elpa] master c38daa3 039/399: Enable counsel-read-env to work in read-file-name, Oleh Krehel, 2019/07/20
- [elpa] master e88c7d6 044/399: counsel.el (counsel-locate-cmd): Simplify, Oleh Krehel, 2019/07/20
- [elpa] master 51c5874 042/399: counsel.el (counsel-find-file-map): Bind "`" to bookmarks, Oleh Krehel, 2019/07/20
- [elpa] master 3de074a 049/399: counsel.el (counsel-find-file-copy): Add and bind., Oleh Krehel, 2019/07/20
- [elpa] master a538df1 053/399: ivy.el (ivy-make-magic-action): Point doc to the action function, Oleh Krehel, 2019/07/20
- [elpa] master 84b5ece 050/399: counsel.el (counsel-find-file-copy): Use ivy-inhibit-action, Oleh Krehel, 2019/07/20
- [elpa] master 9e3c855 052/399: ivy.el (ivy-make-magic-action): Fix bug, Oleh Krehel, 2019/07/20
- [elpa] master 9cf3f08 045/399: swiper.el (swiper-use-visual-line-p): New variable, Oleh Krehel, 2019/07/20
- [elpa] master 15e2c88 051/399: Restore buffer-list after counsel-switch-buffers,
Oleh Krehel <=
- [elpa] master 80d40e4 046/399: Dynamically handle grep tool look-arounds, Oleh Krehel, 2019/07/20
- [elpa] master 0a4ad42 047/399: ivy-test.el (counsel--grep-regex): Add test for negative lookahead, Oleh Krehel, 2019/07/20
- [elpa] master 5f4e944 057/399: counsel.el: Fix finding dominating file, Oleh Krehel, 2019/07/20
- [elpa] master 3c16fa1 055/399: counsel.el (counsel-compile): Clean up, Oleh Krehel, 2019/07/20
- [elpa] master 876b4ac 059/399: counsel.el (counsel-compile): Minor cleanup, Oleh Krehel, 2019/07/20
- [elpa] master 56201b1 056/399: counsel.el: Remove cl-extra, Oleh Krehel, 2019/07/20
- [elpa] master 859e3cb 061/399: counsel.el: Clean up compile history keeping, Oleh Krehel, 2019/07/20
- [elpa] master 072f238 058/399: counsel.el: Capitalize proper noun "Git", Oleh Krehel, 2019/07/20
- [elpa] master 5f5a263 054/399: counsel.el (counsel-compile): Add, Oleh Krehel, 2019/07/20
- [elpa] master adea72f 060/399: counsel.el: Simplify counsel-compile action, Oleh Krehel, 2019/07/20