branch: elpa/projectile
commit 0cdd2a93b2def8b432348f183dc583e9ebdbd709
Author: Bozhidar Batsov <[email protected]>
Commit: Bozhidar Batsov <[email protected]>
Update CHANGELOG with round 4 codebase fixes
---
CHANGELOG.md | 9 +++++++++
projectile.el | 14 +++++++++-----
2 files changed, 18 insertions(+), 5 deletions(-)
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 0aea61d5bb..654862eae9 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -10,6 +10,15 @@
### Bugs fixed
+* Fix `projectile-files-via-ext-command` executing empty string as shell
command for non-git VCS sub-projects.
+* Fix `projectile-select-files` crashing on filenames with regexp
metacharacters by using `string-search` instead of `string-match`.
+* Fix `projectile-find-references` using internal `xref--show-xrefs` API whose
signature changed across Emacs versions.
+* Fix `projectile-determine-find-tag-fn` falling back to `find-tag` which was
removed in Emacs 29; now falls back to `xref-find-definitions`.
+* Fix `projectile-files-to-ensure` expanding wildcards relative to the current
buffer instead of the project root.
+* Fix `projectile-ignored-project-p` failing to match abbreviated paths
against truename-resolved ignored projects list.
+* Fix `projectile-edit-dir-locals` saving partial `.dir-locals.el` content
when the user aborts skeleton insertion with `C-g`.
+* Fix `projectile--other-extension-files` sort comparator ignoring its second
argument, producing undefined ordering; replaced with a stable partition.
+* Fix `projectile-toggle-project-read-only` operating on the wrong buffer
after `add-dir-local-variable` by wrapping in `save-selected-window`.
* Fix `projectile-cache-current-file` calling `projectile-project-root` twice
instead of reusing the already-resolved value.
* Fix `projectile-load-project-cache` storing nil in cache on corrupt/empty
cache files, preventing future reload attempts.
* Fix `projectile--cmake-command-presets` using `mapcar` instead of `mapcan`,
producing nested lists for included presets.
diff --git a/projectile.el b/projectile.el
index 7c2b0f799e..2dca9ae375 100644
--- a/projectile.el
+++ b/projectile.el
@@ -4627,11 +4627,15 @@ installed to work."
A thin wrapper around `xref-references-in-directory' scoped to the
project root."
(interactive)
- (let ((project-root (projectile-acquire-root))
- (symbol (or symbol (read-from-minibuffer "Lookup in project: "
(projectile-symbol-at-point)))))
- (xref-show-xrefs
- (lambda () (xref-references-in-directory symbol project-root))
- nil)))
+ (let* ((project-root (projectile-acquire-root))
+ (symbol (or symbol (read-from-minibuffer "Lookup in project: "
(projectile-symbol-at-point))))
+ (fetcher (lambda () (xref-references-in-directory symbol
project-root))))
+ (cond
+ ((fboundp 'xref-show-xrefs)
+ (xref-show-xrefs fetcher nil))
+ ((fboundp 'xref--show-xrefs)
+ (xref--show-xrefs fetcher nil))
+ (t (error "No suitable xref display function available")))))
(defun projectile-tags-exclude-patterns ()
"Return a string with exclude patterns for ctags."