From 3023aaa9c4a21e1a926edec764ad87ea067579fb Mon Sep 17 00:00:00 2001 From: Andreas Gerler Date: Fri, 24 Apr 2026 18:55:36 +0200 Subject: [PATCH] update projectile --- .../projectile-autoloads.el | 6 ++++ .../projectile-pkg.el | 6 ++-- .../projectile.el | 34 ++++++++++++------- 3 files changed, 31 insertions(+), 15 deletions(-) rename elpa/{projectile-20250402.715 => projectile-20250704.908}/projectile-autoloads.el (98%) rename elpa/{projectile-20250402.715 => projectile-20250704.908}/projectile-pkg.el (72%) rename elpa/{projectile-20250402.715 => projectile-20250704.908}/projectile.el (99%) diff --git a/elpa/projectile-20250402.715/projectile-autoloads.el b/elpa/projectile-20250704.908/projectile-autoloads.el similarity index 98% rename from elpa/projectile-20250402.715/projectile-autoloads.el rename to elpa/projectile-20250704.908/projectile-autoloads.el index 7865bd19..33bd136d 100644 --- a/elpa/projectile-20250402.715/projectile-autoloads.el +++ b/elpa/projectile-20250704.908/projectile-autoloads.el @@ -31,6 +31,12 @@ Remove the current project's files from `projectile-projects-cache'. With a prefix argument PROMPT prompts for the name of the project whose cache to invalidate. +The global (project-independent) cache for checking which project a file +belongs to, is also cleared. Therefore this function is still useful even +when not operating on a specific project, and as such only the global cache +is cleared when there is no current project (unless you give a prefix +argument). + (fn PROMPT)" t) (autoload 'projectile-purge-file-from-cache "projectile" "\ Purge FILE from the cache of the current project. diff --git a/elpa/projectile-20250402.715/projectile-pkg.el b/elpa/projectile-20250704.908/projectile-pkg.el similarity index 72% rename from elpa/projectile-20250402.715/projectile-pkg.el rename to elpa/projectile-20250704.908/projectile-pkg.el index 86fca3b4..ffa7292f 100644 --- a/elpa/projectile-20250402.715/projectile-pkg.el +++ b/elpa/projectile-20250704.908/projectile-pkg.el @@ -1,10 +1,10 @@ ;; -*- no-byte-compile: t; lexical-binding: nil -*- -(define-package "projectile" "20250402.715" +(define-package "projectile" "20250704.908" "Manage and navigate projects in Emacs easily." '((emacs "26.1")) :url "https://github.com/bbatsov/projectile" - :commit "4dd84b02c9cd7b04616dc2d01ba7bc87f0d15be8" - :revdesc "4dd84b02c9cd" + :commit "5c1b32d9548982d470c3fd48639fb0ec8d239c50" + :revdesc "5c1b32d95489" :keywords '("project" "convenience") :authors '(("Bozhidar Batsov" . "bozhidar@batsov.dev")) :maintainers '(("Bozhidar Batsov" . "bozhidar@batsov.dev"))) diff --git a/elpa/projectile-20250402.715/projectile.el b/elpa/projectile-20250704.908/projectile.el similarity index 99% rename from elpa/projectile-20250402.715/projectile.el rename to elpa/projectile-20250704.908/projectile.el index 8aceb5a1..a506d1a6 100644 --- a/elpa/projectile-20250402.715/projectile.el +++ b/elpa/projectile-20250704.908/projectile.el @@ -5,8 +5,8 @@ ;; Author: Bozhidar Batsov ;; URL: https://github.com/bbatsov/projectile ;; Keywords: project, convenience -;; Package-Version: 20250402.715 -;; Package-Revision: 4dd84b02c9cd +;; Package-Version: 20250704.908 +;; Package-Revision: 5c1b32d95489 ;; Package-Requires: ((emacs "26.1")) ;; This file is NOT part of GNU Emacs. @@ -127,6 +127,7 @@ Projectile might also provide. The disadvantage of the hybrid and alien methods is that they are not well supported on Windows systems. That's why by default alien indexing is the default on all operating systems, except Windows." + :safe (lambda (x) (memq x '(native hybrid alien))) :group 'projectile :type '(radio (const :tag "Native" native) @@ -312,6 +313,9 @@ Two example filter functions are shipped by default - It has precedence over function `projectile-project-name-function'." :group 'projectile :type 'string + :safe (lambda (v) (or (null v) + (and (stringp v) + (not (string-blank-p v))))) :package-version '(projectile . "0.14.0")) (defcustom projectile-project-name-function 'projectile-default-project-name @@ -757,7 +761,7 @@ Set to nil to disable listing submodules contents." :group 'projectile :type 'string) -(defcustom projectile-jj-command "jj file list --no-pager . | tr '\\n' '\\0'" +(defcustom projectile-jj-command "jj file list -T 'path ++ \"\\0\"' --no-pager ." "Command used by projectile to get the files in a Jujutsu project." :group 'projectile :type 'string @@ -1089,15 +1093,21 @@ A wrapper around `file-exists-p' with additional caching support." "Remove the current project's files from `projectile-projects-cache'. With a prefix argument PROMPT prompts for the name of the project whose cache -to invalidate." +to invalidate. + +The global (project-independent) cache for checking which project a file +belongs to, is also cleared. Therefore this function is still useful even +when not operating on a specific project, and as such only the global cache +is cleared when there is no current project (unless you give a prefix +argument)." (interactive "P") - (let ((project-root - (if prompt - (completing-read "Remove cache for: " - (hash-table-keys projectile-projects-cache)) - (projectile-acquire-root)))) + (setq projectile-project-root-cache (make-hash-table :test 'equal)) + (when-let ((project-root + (if prompt + (completing-read "Remove cache for: " + (hash-table-keys projectile-projects-cache)) + (projectile-project-root)))) ;; reset the in-memory cache - (setq projectile-project-root-cache (make-hash-table :test 'equal)) (remhash project-root projectile-project-type-cache) (remhash project-root projectile-projects-cache) (remhash project-root projectile-projects-cache-time) @@ -3157,7 +3167,7 @@ it acts on the current project." (defun projectile--cmake-version () "Compute CMake version." (let* ((string (shell-command-to-string "cmake --version")) - (match (string-match "^cmake version \\(.*\\)$" string))) + (match (string-match "^cmake version \\([0-9]+\\.[0-9]+\\.[0-9]+\\).*$" string))) (when match (version-to-list (match-string 1 string))))) @@ -4476,7 +4486,7 @@ installed to work." (list (projectile--read-search-string-with-default (format "Ripgrep %ssearch for" (if current-prefix-arg "regexp " ""))) current-prefix-arg)) - (let ((args (mapcar (lambda (val) (concat "--glob !" val)) + (let ((args (mapcar (lambda (val) (concat "--glob '!" val "'")) (append projectile-globally-ignored-files projectile-globally-ignored-directories)))) ;; we rely on the external packages ripgrep and rg for the actual search -- 2.47.3