[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[nongnu] elpa/projectile 81be63e 1/3: [Fix #1709] Fix `projectile-projec
From: |
ELPA Syncer |
Subject: |
[nongnu] elpa/projectile 81be63e 1/3: [Fix #1709] Fix `projectile-project-buffer-p` contain current buffer (#1713) |
Date: |
Thu, 30 Sep 2021 12:57:42 -0400 (EDT) |
branch: elpa/projectile
commit 81be63e5bc6ae6b2a1c4adc7b9f213a38a5b52b2
Author: Kijima Daigo <norimaking777@gmail.com>
Commit: GitHub <noreply@github.com>
[Fix #1709] Fix `projectile-project-buffer-p` contain current buffer (#1713)
If `projectile-project-buffer-p` is executed in a non-current project,
`default-directory` return current directory.
Since `projectile-project-buffers` contains current buffer, kill
current buffer.
---
projectile.el | 17 ++++++++++-------
test/projectile-test.el | 11 +++++++++++
2 files changed, 21 insertions(+), 7 deletions(-)
diff --git a/projectile.el b/projectile.el
index 3534b84..577c192 100644
--- a/projectile.el
+++ b/projectile.el
@@ -1547,13 +1547,16 @@ If PROJECT is not specified the command acts on the
current project."
(defun projectile-project-buffer-p (buffer project-root)
"Check if BUFFER is under PROJECT-ROOT."
(with-current-buffer buffer
- (and (not (string-prefix-p " " (buffer-name buffer)))
- (not (projectile-ignored-buffer-p buffer))
- default-directory
- (string-equal (file-remote-p default-directory)
- (file-remote-p project-root))
- (not (string-match-p "^http\\(s\\)?://" default-directory))
- (string-prefix-p project-root (file-truename default-directory) (eq
system-type 'windows-nt)))))
+ (let ((directory (if buffer-file-name
+ (file-name-directory buffer-file-name)
+ default-directory)))
+ (and (not (string-prefix-p " " (buffer-name buffer)))
+ (not (projectile-ignored-buffer-p buffer))
+ directory
+ (string-equal (file-remote-p directory)
+ (file-remote-p project-root))
+ (not (string-match-p "^http\\(s\\)?://" directory))
+ (string-prefix-p project-root (file-truename directory) (eq
system-type 'windows-nt))))))
(defun projectile-ignored-buffer-p (buffer)
"Check if BUFFER should be ignored.
diff --git a/test/projectile-test.el b/test/projectile-test.el
index 3d37dd6..2624af2 100644
--- a/test/projectile-test.el
+++ b/test/projectile-test.el
@@ -1687,6 +1687,17 @@ projectile-process-current-project-buffers-current to
have similar behaviour"
(projectile-process-current-project-buffers-current (lambda () (push
(current-buffer) list-b)))
(expect list-a :to-equal list-b))))))
+(describe "projectile-project-buffers"
+ (it "return project buffers"
+ (projectile-test-with-sandbox
+ (projectile-test-with-files
+ ("project1/"
+ "project1/.projectile"
+ "project1/foo")
+ (cd "project1")
+ (with-current-buffer (find-file-noselect "foo" t))
+ (expect (length (projectile-project-buffers)) :to-equal 1)))))
+
(describe "projectile--impl-name-for-test-name"
:var ((mock-projectile-project-types
'((foo test-suffix "Test")