diff options
| author | Bozhidar Batsov <bozhidar@batsov.dev> | 2026-03-04 21:35:50 +0200 |
|---|---|---|
| committer | Bozhidar Batsov <bozhidar@batsov.dev> | 2026-03-04 21:43:10 +0200 |
| commit | 0cdd2a93b2def8b432348f183dc583e9ebdbd709 (patch) | |
| tree | cdb9c8e5dc09c57571a04e765d0fe90ae200649e | |
| parent | b922196e4fa8c46b027b6f91c841ec610a2c83b8 (diff) | |
Update CHANGELOG with round 4 codebase fixes
| -rw-r--r-- | CHANGELOG.md | 9 | ||||
| -rw-r--r-- | projectile.el | 14 |
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." |
