aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBozhidar Batsov <bozhidar@batsov.dev>2026-03-04 21:35:50 +0200
committerBozhidar Batsov <bozhidar@batsov.dev>2026-03-04 21:43:10 +0200
commit0cdd2a93b2def8b432348f183dc583e9ebdbd709 (patch)
treecdb9c8e5dc09c57571a04e765d0fe90ae200649e
parentb922196e4fa8c46b027b6f91c841ec610a2c83b8 (diff)
Update CHANGELOG with round 4 codebase fixes
-rw-r--r--CHANGELOG.md9
-rw-r--r--projectile.el14
2 files changed, 18 insertions, 5 deletions
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 0aea61d..654862e 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 7c2b0f7..2dca9ae 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."