diff --git a/core/autoload/projects.el b/core/autoload/projects.el index 726ac6593..ffe395688 100644 --- a/core/autoload/projects.el +++ b/core/autoload/projects.el @@ -1,10 +1,13 @@ ;;; core/autoload/projects.el -*- lexical-binding: t; -*- -(defvar projectile-project-root) -(defvar projectile-enable-caching) -(defvar projectile-require-project-root) - -;;;###autoload (autoload 'projectile-relevant-known-projects "projectile") +;; HACK We forward declare these variables because they are let-bound in a +;; number of places with no guarantee that they've been defined yet (i.e. +;; that `projectile' is loaded). If a variable is defined with `defvar' +;; while it is lexically bound, you get "Defining as dynamic an already +;; lexical var" errors in Emacs 28+). +;;;###autoload (defvar projectile-project-root nil) +;;;###autoload (defvar projectile-enable-caching doom-interactive-p) +;;;###autoload (defvar projectile-require-project-root 'prompt) ;;;###autodef (cl-defun set-project-type! (name &key predicate compile run test configure dir) diff --git a/core/core-projects.el b/core/core-projects.el index a6fd5d5cb..f2f1aebf4 100644 --- a/core/core-projects.el +++ b/core/core-projects.el @@ -23,7 +23,8 @@ debian, and derivatives). On most it's 'fd'.") :commands (projectile-project-root projectile-project-name projectile-project-p - projectile-locate-dominating-file) + projectile-locate-dominating-file + projectile-relevant-known-projects) :init (setq projectile-cache-file (concat doom-cache-dir "projectile.cache") ;; Auto-discovery is slow to do by default. Better to update the list