Henrik Lissner
1adc318cac
dev: replace .doomrc w/ .doom.el
...
Also replaces the project's .doomrc file with a .doom (which isn't used
or recognized just yet, but will be later).
2025-06-30 15:23:27 +02:00
Henrik Lissner
87b616e5d8
refactor!: remove rainbow-delimiters
...
BREAKING CHANGE: parentheses will no longer be colored by depth. No
substitute is provided because it's trivial for users to install
themselves.
Ref: https://github.com/orgs/doomemacs/projects/5/views/1?pane=issue&itemId=117610828
2025-06-29 18:53:40 +02:00
Henrik Lissner
5cb34fa151
refactor!: remove highlight-numbers
...
BREAKING CHANGE: Numerics will no longer be syntax highlighted in major
modes that don't already have their own (or provided by tree-sitter). No
substitute will be provided because it's trivial for the user to install
themselves.
Ref: https://github.com/orgs/doomemacs/projects/5/views/1?pane=issue&itemId=117610783
2025-06-29 18:53:40 +02:00
Henrik Lissner
3d75d8e205
fix(cli): doom emacs: command not found
...
Being the flawless professional that I am, I forgot to include the
source code for `doom emacs` in 7f6a2d2
.
Fix : #8429
Amend: 7f6a2d284e
2025-06-26 22:54:37 +02:00
Henrik Lissner
c46583e3ec
refactor(cli): doom version: add -v/--verbose option
...
And make its default output only print `doom-version` to stdout.
2025-06-25 17:36:59 +02:00
Henrik Lissner
7f6a2d284e
refactor(cli): doom run: rename to 'doom emacs'
...
In v3, 'doom run' will have a different purpose (for launching project
or CI/CD tasks), so it now emits a warning that it's moved to a new
'doom emacs' command.
I refrain from updating documentation because a rewrite of our docs will
be coming up soon.
2025-06-25 17:36:59 +02:00
Henrik Lissner
589fa73435
fix(lib): doom/reload: on Windows
...
- cmd.exe chokes on the space in "C:\Program Files\...", but more
importantly, doom.ps1 should be invoked with powershell, not cmd.exe.
- Windows has pwsh.exe and powershell.exe, which, while not identical,
are close enough for our purposes, but needed to be accounted for.
Fix : #8098
2025-06-25 17:36:59 +02:00
Henrik Lissner
0bedac650a
bump: :doom
...
Fuco1/smartparens@b0d935c118 -> Fuco1/smartparens@b629b4e893
bbatsov/projectile@4dd84b02c9 -> bbatsov/projectile@0da59734fb
emacs-compat/compat@7179960b7c -> emacs-compat/compat@2577cc74d9
emacs-straight/project@27c6b04914 -> emacs-straight/project@de0deb8dbf
noctuid/general.el@826bf2b97a -> noctuid/general.el@74d4541781
radian-software/straight.el@d157afbec4 -> radian-software/straight.el@4128d42399
rainstormstudio/nerd-icons.el@14f7278dd7 -> rainstormstudio/nerd-icons.el@d972dee349
2025-06-12 23:26:06 +02:00
Henrik Lissner
18bb2da849
fix(lib): doom-project-find-file: allow arbitrary roots
...
Allow doom-project-find-file to search file hierarchies from arbitrary
starting points (otherwise, project.el will resolve to the nearest
project root).
2025-06-10 21:29:00 +02:00
Henrik Lissner
6ce4ba3d18
release(modules): 25.07.0-dev
...
Ref: 2b39e41368
2025-06-02 14:19:26 +02:00
Henrik Lissner
c22bb498e5
fix(lib): doom-print-minimum-level: type error if level is undefined
2025-05-22 16:33:33 +02:00
Henrik Lissner
5d13d6ce99
fix(lib): doom-file-cookie: what argument-less cookies return
...
Used to be that a ;;;###COOKIE with no argument would return NULL-VALUE.
No more, it will now return `t`.
Also corrects the docstring to properly reflect what this does.
2025-05-22 16:33:22 +02:00
Henrik Lissner
3a9d6071f3
fix: defining as dynamic an already lexical var
...
When invoking straight's API directly.
Fix : #8251
2025-05-15 14:21:00 +02:00
Henrik Lissner
3c8240dfaa
fix(cli): error if $EMACSDIR/.local/etc/eln missing
2025-05-14 23:43:58 +02:00
Henrik Lissner
510347977e
docs(lib): revise various docstrings
2025-05-09 01:14:16 -04:00
Henrik Lissner
e6ee332573
fix(lib): autoload doom/describe-char
...
Amend: 303dd28db8
2025-05-05 02:45:45 -04:00
Henrik Lissner
7088257f2e
bump: *
...
Alexander-Miller/treemacs@96a808f067 -> Alexander-Miller/treemacs@820b09db10
FStarLang/fstar-mode.el@36ffb46259 -> FStarLang/fstar-mode.el@3bbfe93abd
JuliaEditorSupport/julia-emacs@0f4d74f904 -> JuliaEditorSupport/julia-emacs@5c940c4ba3
ProofGeneral/PG@85cde55a86 -> ProofGeneral/PG@af2e7b9a4e
Silex/docker.el@3bea08f1d2 -> Silex/docker.el@464105ed8b
Wilfred/helpful@6a4d5e0760 -> Wilfred/helpful@03756fa6ad
abo-abo/swiper@e33b028ed4 -> abo-abo/swiper@2529a23f9f
agda/agda@49a12eab7f -> agda/agda@900bdaa335
alexluigit/dirvish@ecb7c42e20 -> alexluigit/dirvish@e8ec5765da
ardumont/markdown-toc@d2fb4cbd95 -> ardumont/markdown-toc@1b0c5ae7f3
bastibe/org-journal@cf72173233 -> bastibe/org-journal@e581bf5530
clojure-emacs/cider@fdfa7c2200 -> clojure-emacs/cider@12f10a6f4b
clojure-emacs/clojure-mode@eabe29b076 -> clojure-emacs/clojure-mode@b766094aea
company-mode/company-mode@8d599ebc8a -> company-mode/company-mode@41f07c7d40
creichert/ido-vertical-mode.el@b1659e967d -> creichert/ido-vertical-mode.el@35c521789b
dgutov/diff-hl@7da881a957 -> dgutov/diff-hl@aa667ac58a
dimitri/switch-window@61e425e703 -> dimitri/switch-window@8f771b571a
doomelpa/code-review@eeffdd9e20 -> doomelpa/code-review@fba8fe3343
editorconfig/editorconfig-emacs@1a9942746c -> editorconfig/editorconfig-emacs@d2beb3ec2e
ema2159/centaur-tabs@7704f2017c -> ema2159/centaur-tabs@a790dc8fb6
emacs-circe/circe@d0e531bd2a -> emacs-circe/circe@e5e64d549f
emacs-citar/citar-org-roam@ff38add0aa -> emacs-citar/citar-org-roam@9750cfbbf3
emacs-ess/ESS@56f355acbd -> emacs-ess/ESS@d19efaae12
emacs-helm/helm-org@22d60952f8 -> emacs-helm/helm-org@4744ca7f8b
emacs-helm/helm@f948dc4464 -> emacs-helm/helm@5a222a8a6b
emacs-lsp/dap-mode@56e92dd86b -> emacs-lsp/dap-mode@b977566657
emacs-lsp/emacs-ccls@28c7930c89 -> emacs-lsp/emacs-ccls@5636ee6c50
emacs-lsp/helm-lsp@cf4ea6fb42 -> emacs-lsp/helm-lsp@54926afd10
emacs-lsp/lsp-dart@2170823139 -> emacs-lsp/lsp-dart@34e2a1191f
emacs-lsp/lsp-haskell@cd0f5d251c -> emacs-lsp/lsp-haskell@081d5115ce
emacs-lsp/lsp-ivy@bdc730a209 -> emacs-lsp/lsp-ivy@3ee14a24bb
emacs-lsp/lsp-java@6cfff8761e -> emacs-lsp/lsp-java@21c89243ad
emacs-lsp/lsp-metals@345b4fa80e -> emacs-lsp/lsp-metals@e1d9d04f3b
emacs-lsp/lsp-mode@7c0df125c1 -> emacs-lsp/lsp-mode@54251da4ff
emacs-lsp/lsp-pyright@b4cee81af4 -> emacs-lsp/lsp-pyright@73377169be
emacs-lsp/lsp-sourcekit@3bd9750e7e -> emacs-lsp/lsp-sourcekit@1fb230109e
emacs-lsp/lsp-treemacs@312dee2b3a -> emacs-lsp/lsp-treemacs@3e5550f278
emacs-lsp/lsp-ui@09d4080642 -> emacs-lsp/lsp-ui@a0dde8b52b
emacs-php/composer.el@6c7e19256f -> emacs-php/composer.el@eba6b953a4
emacs-php/php-mode@5b6cc1c068 -> emacs-php/php-mode@462b62248f
emacs-php/psysh.el@ae15a36301 -> emacs-php/psysh.el@223bf55975
emacs-rustic/rustic@22a5ef8bfd -> emacs-rustic/rustic@29f912c750
emacs-straight/auctex@6fb366064c -> emacs-straight/auctex@f58a2b972b
emacs-straight/dape@c7a1f1abdb -> emacs-straight/dape@588a907c87
emacs-straight/eglot@6a9e0c76b9 -> emacs-straight/eglot@928c216af5
emacs-straight/org-mode@74dde3abae -> emacs-straight/org-mode@79781bac69
emacs-straight/project@369ac661c8 -> emacs-straight/project@27c6b04914
emacs-straight/sml-mode@021233f60a -> emacs-straight/sml-mode@c33659fd9b
emacs-straight/use-package@d79bac4574 -> emacs-straight/use-package@bbfe01bdf1
emacs-straight/vundo@c32481ab48 -> emacs-straight/vundo@5a666b34e4
emacs-tree-sitter/elisp-tree-sitter@8516c9977e -> emacs-tree-sitter/elisp-tree-sitter@12f92ef399
emacs-tree-sitter/tree-sitter-langs@2ff446b4b8 -> emacs-tree-sitter/tree-sitter-langs@4eb4989d1a
emacsmirror/org-contrib@8d14a600a2 -> emacsmirror/org-contrib@f1f6b6ec81
emacsorphanage/dart-mode@6229941ec5 -> emacsorphanage/dart-mode@f82ff05230
emacsorphanage/ox-pandoc@34e6ea97b5 -> emacsorphanage/ox-pandoc@5766c70b6d
emacsorphanage/quickrun@4b6df453f8 -> emacsorphanage/quickrun@a5c9a5e8c6
ericdallo/hover.el@4ca0638a14 -> ericdallo/hover.el@1b380fa395
erlang/otp@740af6bae5 -> erlang/otp@b9d3ec017d
flycheck/flycheck@b9db1379dc -> flycheck/flycheck@16b536b031
fsharp/emacs-fsharp-mode@bf7a11e1ba -> fsharp/emacs-fsharp-mode@8d08f05788
godotengine/emacs-gdscript-mode@3f3739dd88 -> godotengine/emacs-gdscript-mode@5136be407a
greghendershott/racket-mode@88d82e249e -> greghendershott/racket-mode@c4cc7c160b
hakimel/reveal.js@dfc5690c6d -> hakimel/reveal.js@eb95b14531
haskell/haskell-mode@be2639592f -> haskell/haskell-mode@e9c3567393
https://git.notmuchmail.org/git/notmuch@dfc800c26e7b -> https://git.notmuchmail.org/git/notmuch@d8ebc9cf80b6
https://git.savannah.gnu.org/git/emms.git@8713a0ee985c -> https://git.savannah.gnu.org/git/emms.git@abb4f614dae6
idris-hackers/idris-mode@09de86a8f0 -> idris-hackers/idris-mode@ccf32ed0b5
jcollard/elm-mode@699841865e -> jcollard/elm-mode@90b72cd2c9
jdtsmith/indent-bars@fa293f98ab -> jdtsmith/indent-bars@ea74161b46
jdtsmith/ultra-scroll@b72c507f67 -> jdtsmith/ultra-scroll@f2e4fba601
jimhourihan/glsl-mode@c5f2c2e7ed -> jimhourihan/glsl-mode@86e6bb6cf2
joaotavora/sly@c48defcf58 -> joaotavora/sly@ce17a568ef
jrblevin/markdown-mode@d2d960bec1 -> jrblevin/markdown-mode@90ad4af79a
jschaf/powershell.el@38727f1cda -> jschaf/powershell.el@9efa1b4d0a
magit/magit@bf58615a03 -> magit/magit@531e7ca619
minad/cape@f72ebcaeff -> minad/cape@5546a2db8e
minad/consult-flycheck@3bc2141daf -> minad/consult-flycheck@77d3e790a3
minad/consult@f94d557807 -> minad/consult@ee64a2a299
minad/corfu@061d926d0f -> minad/corfu@2e05fe8244
minad/goggles@d71e85ff8d -> minad/goggles@6141d31c51
minad/marginalia@c51fd9e4d4 -> minad/marginalia@2ff4d690f7
minad/org-modern@3cc432dc99 -> minad/org-modern@6158d3d007
minad/vertico@e0bb699ebf -> minad/vertico@304be874be
mohkale/consult-yasnippet@834d39acfe -> mohkale/consult-yasnippet@a3482dfbdc
msnoigrs/ox-rst@b4ba5c7e95 -> msnoigrs/ox-rst@b73eff187e
oantolin/embark@d5df0eff18 -> oantolin/embark@923d0ec52e
ocaml/dune@a46193e167 -> ocaml/dune@422986440e
ocaml/merlin@2eeb63d002 -> ocaml/merlin@e4c66857ad
oer/org-re-reveal@53e9be7d89 -> oer/org-re-reveal@89ed240450
polymode/poly-R@8024e852cf -> polymode/poly-R@fee0b6e999
purcell/package-lint@43012b41ac -> purcell/package-lint@2dc48e5fb9
purescript-emacs/purescript-mode@a3d6ca4ba5 -> purescript-emacs/purescript-mode@8c4736759a
pythonic-emacs/pyenv-mode@7faed57eb7 -> pythonic-emacs/pyenv-mode@ba1a8c7bd7
rust-lang/rust-mode@efd830806c -> rust-lang/rust-mode@25d91cff28
seagle0128/doom-modeline@1708db2d35 -> seagle0128/doom-modeline@a85cb28da8
seagle0128/grip-mode@e90e3b47d8 -> seagle0128/grip-mode@96a927dce6
seagle0128/nerd-icons-ivy-rich@5006f91b49 -> seagle0128/nerd-icons-ivy-rich@83c7b60595
sebasmonia/sharper@496e90e337 -> sebasmonia/sharper@5049795848
swift-emacs/swift-mode@2c0b2b72dc -> swift-emacs/swift-mode@e30b9d46e0
szermatt/emacs-bash-completion@a4c8fbc902 -> szermatt/emacs-bash-completion@d0637428fd
technomancy/fennel-mode@811f39de12 -> technomancy/fennel-mode@df8e83d6e2
wanderlust/wanderlust@6a0605415d -> wanderlust/wanderlust@d6dcbad228
weijiangan/flycheck-golangci-lint@424ba1b3a1 -> weijiangan/flycheck-golangci-lint@14bf143ea7
ziglang/zig-mode@4ad4edf759 -> ziglang/zig-mode@c46d024733
2025-05-02 14:58:40 -04:00
Henrik Lissner
f00dd3d466
fix(lib): setq-hook!: remove docstrings from defuns
...
They aren't useful and cause byte-compiler warnings.
2025-05-02 14:56:11 -04:00
Henrik Lissner
9c2b2473be
release(modules): 25.06.0-dev
...
Ref: 2b39e41368
2025-05-01 15:03:06 -04:00
Henrik Lissner
303dd28db8
feat(lib): introduce doom/describe-char
...
A version of describe-char that, when given a prefix arg, will prompt
the user to click where to execute the command (so you can read
text-properties/overlay information for otherwise unselectable text, in
the minibuffer or special UIs).
2025-04-24 04:28:49 -04:00
Henrik Lissner
1681bfbaf0
refactor: move doom-highlight-non-default-indentation-h out of core
...
This functionality falls under the umbrella of "better defaults" rather
than essential defaults, and so belongs in :config default.
Whats more, the naming convention (+emacs-...) was intentional, because
this function (and the :config default module) will be moved to :doom
emacs in the near future.
This also indirectly fixes #8373 .
Fix : #8373
2025-04-23 20:22:25 -04:00
Henrik Lissner
62f1df4218
fix: respect auto-revert-remote-files
...
Don't auto-revert remote buffers if auto-revert-remote-files is nil (the
default).
2025-04-23 04:02:51 -04:00
Henrik Lissner
009a285c0a
fix: doom-quit-p when use-dialog-box
...
I don't know what I was thinking, but I need more sleep.
Amend: 1a0fb88897
2025-04-15 19:08:45 -04:00
Henrik Lissner
d8b36d8b17
fix: use-dialog-box only on android
...
Accidentally negated the check in 6a44a2e
.
Amend: 6a44a2ea80
2025-04-15 19:03:31 -04:00
Henrik Lissner
20c80c461e
fix: void-function use-dialog-box-p
...
This function doesn't exist before Emacs 29, and also isn't meant to be
used in a global context.
Amend: 6a44a2ea80
2025-04-15 17:21:14 -04:00
Henrik Lissner
46647dada6
fix(lib): load doom-compat unconditionally
...
For users on builds of 31 that predate things Doom backports.
Fix : #8359
2025-04-15 04:18:25 -04:00
Henrik Lissner
5f6df26d5c
fix(lib): load doom-compat in 30.x
...
So users on 30.x can enjoy the backports from 31.x.
Fix : #8359
2025-04-15 01:26:23 -04:00
Henrik Lissner
b2ce21068f
fix(lib): void-function static-unless error
...
Users may be on a build of Emacs 31 where `static-when` exists without
`static-unless`.
Fix : #8359
Amend: a13719af45
2025-04-15 01:25:17 -04:00
Henrik Lissner
def4579a9f
fix: silence 'missing lexical-binding cookie' warnings
...
As of recent commits of Emacs 31, elisp files missing a
"lexical-binding: t" cookie will emit this warning:
Warning (files): Missing ‘lexical-binding’ cookie in "path/to/elisp/file".
You can add one with ‘M-x elisp-enable-lexical-binding RET’.
See ‘(elisp)Selecting Lisp Dialect’ and ‘(elisp)Converting to Lexical Binding’
for more information.
You can look forward to many of these if you use any old and
unmaintained elisp packages, or if you have elisp shell scripts with
shebang lines (which make this warning unavoidable).
This commit silences these warnings because it's poorly implemented.
It's obnoxious to users and they aren't the ones that should be told
this. It ought to be emitted during byte-compilation or by linters (e.g.
`M-x checkdoc`) at the folks actually in a position to do something
about the warning (i.e. the developers).
Ref: https://lists.gnu.org/r/emacs-devel/2024-05/msg00283.html
2025-04-15 00:39:10 -04:00
Henrik Lissner
976576853e
nit(lib): doom-compat: make version comments consistent
2025-04-15 00:39:10 -04:00
Henrik Lissner
a13719af45
refactor(lib): backport static-{if,when,unless}
...
And deprecate our eval-{if,when}! macros.
2025-04-15 00:39:10 -04:00
Henrik Lissner
1a0fb88897
feat: doom-quit-p: use popup dialog if available
...
Mainly for Android UX, but also for consistency for folks who *like* GUI
dialog boxes (seek professional help).
Amend: 6a44a2ea80
2025-04-14 22:48:53 -04:00
Henrik Lissner
6a44a2ea80
tweak: use GUI dialogs on android
...
It's better UX on touch screens, at least.
2025-04-14 15:01:03 -04:00
Henrik Lissner
cbdce0dc71
refactor(cli): doctor: extract symlink check to function
2025-04-11 12:17:48 -04:00
Henrik Lissner
fb0dc4cc85
refactor(lib): doom-debug-mode: make verbosity selective
...
Now `doom-debug-mode` manipulates `doom-log-level` if you activate it
with a prefix arg, setting it to 1 by default, reducing its verbosity
and cutting down on noise in the logs.
2025-04-11 12:17:44 -04:00
Henrik Lissner
9a525ea030
bump: :doom
...
bbatsov/projectile@55db082cdf -> bbatsov/projectile@4dd84b02c9
emacs-compat/compat@c89bba6524 -> emacs-compat/compat@7179960b7c
emacs-straight/project@d193442fca -> emacs-straight/project@369ac661c8
jscheid/dtrt-indent@22498ca24a -> jscheid/dtrt-indent@015b26d6d6
radian-software/straight.el@483b205efb -> radian-software/straight.el@d157afbec4
rainstormstudio/nerd-icons.el@6612cc6537 -> rainstormstudio/nerd-icons.el@14f7278dd7
2025-04-09 17:35:04 -04:00
Henrik Lissner
5020d592da
fix: tooltip-resize-echo-area = t
...
Since we disable tooltip-mode, the echo-area should expand to display
multi-line output, to be consistent with our default for
resize-mini-windows. This also fixes the truncation of annotations in
PDF buffers (#1615 ).
Fix : #1615
2025-04-05 02:14:54 -04:00
Henrik Lissner
5aca456258
nit: recentf: reformat & revise comments
2025-04-04 05:11:08 -04:00
Henrik Lissner
eb19afa8c3
refactor: remove doom--recentf-file-truename-fn
...
For the sake of reducing complexity, I stop Doom from stripping symlinks
or the "/sudo:" prefix from tramp paths in recentf's file list. It's
extra work that's not strictly necessary or unanimously desired.
Also removes the tidbit about `recentf-show-abbreviated`; the variable
was removed just prior to 29's release so it is no longer an option.
2025-04-04 05:09:54 -04:00
Henrik Lissner
5fae69b7bf
docs: docstring & comment revisions
...
For `undefadvice!`, `doom-load-theme-hook`, and the `ws-butler` package.
2025-04-02 19:04:11 -04:00
Henrik Lissner
625b793218
fix: over-aggressive doom--run-switch-frame-hooks-fn
...
Due to a typo in the hook's self-removal, causing this function to
trigger many times per second. It isn't doing much thanks to the
debouncing, but was still legitimately triggering doom-switch-frame-hook
every ~2 seconds despite no change in frame focus.
Also removes the ineffectual inhibit-redisplay let-bind.
Amend: 653b465c74
2025-04-02 19:03:51 -04:00
Henrik Lissner
98273b639b
fix: recursive redisplay error from doom-switch-frame-hook
...
If a function on doom-switch-frame-hook triggered a redisplay, it could
cause infinite recursion.
Amend: 653b465c74
2025-04-02 06:36:27 -04:00
Henrik Lissner
653b465c74
refactor: doom-switch-frame-hook
...
Redesign this hook around `after-focus-change-function`, along with
debouncing, to prevent it from triggering too aggressively (due to
misbehaving desktop environments, elisp packages that tinker with frame
focus, or accidental (and rapid) focus changes by the user).
`doom-switch-{window,buffer}-hook` have also been simplified, and
`doom-switch-window-hook` now will not trigger when focusing another
frame (only when you switch windows *within* any one frame).
This also fixes diff-hl not updating when refocusing an Emacs frame.
2025-04-02 03:17:29 -04:00
Henrik Lissner
6a1ab50e02
release(modules): 25.05.0-dev
...
Ref: 2b39e41368
2025-04-01 03:44:01 -04:00
Henrik Lissner
084a0f42a3
bump: ws-butler
...
lewang/ws-butler@d3927f6131 -> emacsmirror/nongnu_elpa@9ee5a7657a
ws-butler was moved to a branch of the emacsmirror/nongnu_elpa repo, but
Straight already uses this repo for recipe lookups and struggles to host
multiple packages that live in the same repo but different branches. To
get around this, Straight must be forced to clone it twice with an
explicit recipe.
This needs to be revisited, because this will likely happen again in the
future...
Fix : #8333
Ref: emacsmirror/nongnu_elpa@b890949b1b
2025-03-31 09:31:07 -04:00
Henrik Lissner
65d43ae472
fix: init known projects before projectile-ensure-project
...
Otherwise, the known projects list could be empty the first time the
project switcher prompt is shown via any command that isn't explicitly
`projectile-switch-project` (like invoking `projectile-find-file` from a
non-project buffer).
Ref: #8330
2025-03-30 16:10:23 -04:00
Henrik Lissner
64c71949f8
fix: projectile-find-file: stringp error in no-project buffers
...
A regression introduced by our centralized cache hack in c3a9388
.
Amend: c3a9388452
Close : #8330
2025-03-30 16:10:22 -04:00
Henrik Lissner
1ac579e08a
fix: clipboard issues on Windows + WSL
...
Ref: 5b103261f4
2025-03-26 07:55:36 -04:00
Henrik Lissner
5b103261f4
feat: add wsl detection
...
Can now be detected with (featurep :system 'wsl).
2025-03-26 07:55:16 -04:00
Henrik Lissner
8a2c7fe3d4
fix: malformed projectile-known-projects-file
...
Without the trailing slash, the known projects file ended up being
{doom-cache-dir}/projectileprojects.eld when it should be
{doom-cache-dir}/projectile/projects.eld.
Amend: ad7d9fa657
2025-03-26 07:20:01 -04:00