aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJay Kamat <jaygkamat@gmail.com>2020-10-07 01:26:31 -0700
committerBozhidar Batsov <bozhidar.batsov@gmail.com>2020-10-11 09:57:26 +0300
commit3670ebea092c7bae4973f5bcecf5ac3588a0ac60 (patch)
tree7fa447f6e7e74b24c00400679a79aa50bda53972
parent4a69aa17b916754590812a6895b7f0ce2116aa1b (diff)
Optimize ibuffer support to avoid calling projectile-project-root
-rw-r--r--CHANGELOG.md1
-rw-r--r--projectile.el6
2 files changed, 5 insertions, 2 deletions
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 86c5bfc..03b27ae 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -18,6 +18,7 @@
* [#1540](https://github.com/bbatsov/projectile/pull/1540): Add default `test-suffix` to Angular projects.
* Add a `:project-file` param to `projectile-register-project-type`.
+* [#1588](https://github.com/bbatsov/projectile/pull/1588) Improve performance of `projectile-ibuffer` with many buffers not in project.
### Bugs fixed
diff --git a/projectile.el b/projectile.el
index 33aa2d5..9ecf10b 100644
--- a/projectile.el
+++ b/projectile.el
@@ -4522,8 +4522,10 @@ overwriting each other's changes."
(:reader (read-directory-name "Project root: " (projectile-project-root))
:description nil)
(with-current-buffer buf
- (equal (file-name-as-directory (expand-file-name qualifier))
- (projectile-project-root))))
+ (let ((directory (file-name-as-directory (expand-file-name qualifier))))
+ (and (projectile-project-buffer-p buf directory)
+ (equal directory
+ (projectile-project-root))))))
(defun projectile-ibuffer-by-project (project-root)
"Open an IBuffer window showing all buffers in PROJECT-ROOT."