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."

Reply via email to