Henrik Lissner
dc0fc9d4f4
tweak(syntax): configure flymake even without +flymake
...
Some major modes may only have a flymake checker (like beancount-mode),
and since flymake is built into Emacs, it's possible the user may
encounter `flymake-mode` even when they haven't enabled +flymake for
this module, so at least load its flymake config.
2026-03-03 18:22:13 -05:00
Henrik Lissner
6556a79abc
revert: polymode
...
polymode/polymode@4604f55cc0 -> polymode/polymode@14b1fd8d2a
polymode/polymode@4604f55cc0 introduced breakage. Reverting until
polymode/polymode#367 is merged.
Fix : #8702
Ref: polymode/polymode@4604f55cc0
Ref: polymode/polymode#367
Amend: 680d135062
2026-03-03 18:19:26 -05:00
Henrik Lissner
c174b25d57
fix(syntax): {next,previous}-error
...
- Makes {next,previous}-error search the current-buffer before looking
for others (#1908 , #2497 ).
- Makes {next,previous}-error recognize flymake errors.
Fix : #2497
Fix : #1908
2026-03-03 18:11:42 -05:00
Henrik Lissner
eccde78741
fix(use-package): use-package-ensure-function
...
Doom is configured to ignore :ensure in `use-package`, unless the user
has manually called `(package-initialize)` -- in which case, we assume
the user genuinely *wants* to use package.el, or some reason.
2026-03-03 06:57:35 -05:00
Henrik Lissner
7f17dcf09a
fix(cli): doom emacs: use --init-directory if available
...
Emulating --init-directory has issues (e.g. isn't exposed to the *exact*
same $HOME environment), so if it's available (i.e. if Emacs 29+ is
being used or Doom lives in ~/.emacs.d or ~/.config/emacs), then use it.
This makes the 'doom emacs' command faster and more reliable as a launch
pad for Doom.
2026-03-03 06:34:45 -05:00
Henrik Lissner
013c5f5a28
revert: bump: package-lint
...
purcell/package-lint@1c37329703 -> purcell/package-lint@HEAD
The upstream issue was resolved.
Ref: #8286
Ref: purcell/package-lint#285
Ref: purcell/package-lint#287
Revert: 04cd16a5cd
2026-03-03 03:32:43 -05:00
Henrik Lissner
d2d805a42b
fix(org): C-c TAB not bound to org-ctrl-c-ctrl-c
...
This is because Emacs can't differentiate between C-i and TAB. Doom
creates a special input event for <C-i> to distinguish them (which only
works in GUI Emacs), so I moved this keybind there.
Fix : doomemacs/community#79
2026-03-03 00:30:27 -05:00
Henrik Lissner
51fe3798b2
docs: doctor: improve $HOME project root check
...
The check will now list the exact project root files that it finds and
better explain the solution.
2026-03-03 00:11:19 -05:00
Henrik Lissner
a2e0e9c8cf
docs: doctor: revise emacs versions checks
...
- Simplifies development build check explanation.
- Removes the 27 check, because Doom core will continue to support 27+
for the foreseeable future, but Doom's modules will be dropping 27 and
28 support soon, but that check will be done elsewhere.
2026-03-03 00:06:51 -05:00
Henrik Lissner
dc20cc7901
refactor: minor revisions
...
To appease the byte-compiler or simplify.
Getting these small edits out of the way to simplify v3 merge conflicts.
2026-03-02 19:51:19 -05:00
Henrik Lissner
2105bf59c3
nit: minor reformatting & revise comments
...
Getting these small edits out of the way to simplify v3 merge conflicts.
2026-03-02 19:50:51 -05:00
Henrik Lissner
68ed966569
refactor(vc): remove +vc--compat-31-a
...
This was addressed upstream.
Ref: rmuslimov/browse-at-remote@0aec68dc0e
Amend: 70dfafdd57
2026-03-02 19:47:35 -05:00
Henrik Lissner
6c0881c684
nit: revise TODO/FIXME/HACK/REVIEW/etc in comments
...
Some were outdated, some were incorrectly labeled, others were already
completed, some were missing... Gotta fix them all.
Also, in :ui hl-todo, there are comments that describe how Doom uses
each of these annotations; those have been updated.
2026-03-02 19:45:09 -05:00
Henrik Lissner
680d135062
bump: :lang
...
50ways2sayhard/dart-ts-mode@ab87873f25 -> 50ways2sayhard/dart-ts-mode@0e42336bf7
JuliaEditorSupport/julia-emacs@aadf29523a -> JuliaEditorSupport/julia-emacs@1478898ea0
agda/agda@5cf984c3d2 -> agda/agda@6310545817
bricka/emacs-kotlin-ts-mode@051c9ef534 -> bricka/emacs-kotlin-ts-mode@b318a64a7f
clojure-emacs/cider@ae247d8845 -> clojure-emacs/cider@75dc57aebe
clojure-emacs/clojure-mode@bddba12e96 -> clojure-emacs/clojure-mode@f44ea50308
clojure-emacs/clojure-ts-mode@96fdffcbe9 -> clojure-emacs/clojure-ts-mode@f47fefb5d7
cpitclaudel/company-coq@78ed04ce39 -> cpitclaudel/company-coq@1fc1d8f2d5
davazp/graphql-mode@ef757c6ce2 -> davazp/graphql-mode@d7f105a4bf
emacs-jupyter/jupyter@de89cbeca8 -> emacs-jupyter/jupyter@242fdc709c
emacs-lsp/lsp-dart@fd82395180 -> emacs-lsp/lsp-dart@166e4f2ba1
emacs-rustic/rustic@cb013cd217 -> emacs-rustic/rustic@eea94386bf
emacs-straight/auctex@1939acb54b -> emacs-straight/auctex@f0c4b1dcc9
erlang/otp@f80e9c1c4a -> erlang/otp@ea2bfd02be
hvesalai/emacs-sbt-mode@cc68728a6e -> hvesalai/emacs-sbt-mode@c353df6aa1
jrblevin/markdown-mode@9de2df5a9f -> jrblevin/markdown-mode@f8d1be7cd5
mekeor/nael@3ee1cf286d -> mekeor/nael@fbfb675736
nix-community/nix-emacs@053a2d5110 -> nix-community/nix-emacs@e241b58c9e
nix-community/nix-ts-mode@625306cf9c -> nix-community/nix-ts-mode@3198317121
ocaml/dune@7a7d49206f -> ocaml/dune@141393af40
ocaml/merlin@1c4148af05 -> ocaml/merlin@fad4a2785c
org-roam/org-roam@b4857fd7a1 -> org-roam/org-roam@7cd906b6f8
polymode/polymode@14b1fd8d2a -> polymode/polymode@4604f55cc0
rust-lang/rust-mode@f68ddca5c2 -> rust-lang/rust-mode@668069ad8b
2026-03-02 19:45:08 -05:00
Henrik Lissner
04701547b1
bump: :completion :ui :tools
...
company-mode/company-mode@fad9f207e0 -> company-mode/company-mode@42d3897308
dgutov/diff-hl@3eefe68941 -> dgutov/diff-hl@bb9af85441
dimitri/switch-window@8f771b571a -> dimitri/switch-window@a72cf11d21
jacktasia/dumb-jump@215e2ed9ab -> jacktasia/dumb-jump@8c97b2afc2
karthink/gptel@d221329ee3 -> karthink/gptel@63795dee75
magit/ghub@278d9fb5f3 (5.0.3) -> magit/ghub@c22858596c (5.0.4)
magit/orgit@24c8fe48c4 (v2.1.1) -> magit/orgit@4fb91faff3 (v2.1.2)
minad/marginalia@0d08fbea0f -> minad/marginalia@142e4da1bd
oantolin/embark@7b3b2fa239 -> oantolin/embark@e0238889b1
seagle0128/doom-modeline@0c91e47a0c -> seagle0128/doom-modeline@8806358185
2026-03-02 19:45:08 -05:00
Henrik Lissner
a3b1be0121
refactor(org,magit): move orgit{,-forge} to :tools magit
2026-03-02 19:45:08 -05:00
Henrik Lissner
b01e8c9572
refactor(org,pdf): move org-pdftools to :tools pdf
2026-03-02 19:45:08 -05:00
Henrik Lissner
470e653f08
bump: :app :config :editor :emacs :email :input
...
emacs-straight/use-package@039b721a4d -> emacs-straight/use-package@4090d3267f
emacsmirror/undo-fu-session@34ae31308d -> emacsmirror/undo-fu-session@92d733a5b1
https://git.notmuchmail.org/git/notmuch@5c921b6c0b2d -> https://git.notmuchmail.org/git/notmuch@73746c0eb3a0
https://git.savannah.gnu.org/git/emms.git@1d48a1133db2 -> https://git.savannah.gnu.org/git/emms.git@002a8db0913c
https://github.com/emacs-tree-sitter/treesit-fold@c5f0a95550d1 -> https://github.com/emacs-tree-sitter/treesit-fold@d70c5f7240a8
jeremy-compostella/org-msg@327768e2c3 -> jeremy-compostella/org-msg@aa608b3995
juliapath/evil-numbers@e7adac70a0 -> juliapath/evil-numbers@616aff9e5c
kidd/org-gcal.el@36cbdb453d -> kidd/org-gcal.el@0f46c08f60
radian-software/apheleia@143c1dffed -> radian-software/apheleia@2bc2bb4cc2
skeeto/elfeed@66cfe43dfc -> skeeto/elfeed@bbb3cac27b
tumashu/posframe@4fc893c3c9 -> tumashu/posframe@3a80911b2f
2026-03-02 01:44:27 -05:00
Henrik Lissner
a55d6ad958
bump: :doom
...
bbatsov/projectile@7cb1f64c1d -> bbatsov/projectile@4469d33f49
emacs-straight/project@ff700457fe -> emacs-straight/project@11a821c652
2026-03-02 01:39:49 -05:00
Henrik Lissner
9f00e2e816
release(modules): 26.04.0-dev
...
Ref: 2b39e41368
2026-03-02 01:39:49 -05:00
Henrik Lissner
c21b80d7ff
fix(debugger): remove dap-mode packages
...
dap-mode and posframe were removed from this module in e0729fa , but not
their `package!` statements. Oops.
Amend: e0729fa7d7
2026-03-02 01:39:48 -05:00
Henrik Lissner
f4d970fdf8
fix(lib,workspaces): arity error on persp-after-load-state-functions
...
`persp-after-load-state-functions` functions must take arguments, but
`doom-kill-childframes-h` didn't take any, causing errors when loading
persp-mode sessions.
Fix : #8700
Amend: e5bbae8144
2026-03-02 01:18:14 -05:00
Henrik Lissner
994b7be3df
refactor(direnv): remove +direnv--load-info-a
...
This hack is no longer needed because the issue was resolved upstream.
Amend: 9de72537be
Ref: purcell/envrc#117
2026-03-02 01:18:14 -05:00
Henrik Lissner
605437b8b8
fix(direnv): restart lsp/eglot clients on reload/allow/deny
...
Makes `envrc-reload`, `envrc-reload-all`, `envrc-allow`, or `envrc-deny`
restart any running lsp/eglot clients within the current direnv, so that
they reflect the new environment.
2026-03-02 01:18:11 -05:00
Henrik Lissner
da36f15296
fix(llm): don't clone gptel recursively
...
Otherwise, gptel will have a dirty worktree every time you update it.
2026-03-01 18:15:38 -05:00
Henrik Lissner
10d0b60f5d
refactor(lib): deprecate pushnew!
...
In the spirit of 6f40ad5 , I'm deprecating this macro because it doesn't
provide enough value to exist and serves only to complicate a casual
reader's understanding of Doom's modules.
Ref: 6f40ad55f5
2026-03-01 18:10:43 -05:00
Henrik Lissner
2c42e47a30
nit(evil): reformat & revise comments
...
Tidy up in preparation for bigger changes post-v3.
2026-03-01 18:10:43 -05:00
Henrik Lissner
3d61a7b487
refactor(vertico): rename +vertico-highlight-* functions
...
To conform to Doom's naming conventions for strategy functions.
2026-03-01 18:10:43 -05:00
Henrik Lissner
c3ff78ff53
nit(vertico): reformat & revise comments
...
Tidy up in preparation for bigger changes post-v3.
2026-03-01 18:10:43 -05:00
Henrik Lissner
88e2a0d5de
feat(evil,vertico): merge evil's into emacs' registers
...
Makes Emacs more broadly aware of Evil's registers (when Evil is
active), and fixes an issue where our advice integrating
`consult-register` with Evil registers would properly list Evil
registers, but not fetch/insert them correctly (#8698 ).
Fix : #8698
Close : #8699
Co-authored-by: liaowang11 <liaowang11@users.noreply.github.com>
2026-03-01 18:10:43 -05:00
Henrik Lissner
a9af7810fe
refactor(vertico): rename +vertico/embark-doom-package-map
...
To conform with naming conventions. "/" is meant for names of
interactive functions, which this is not.
2026-03-01 18:10:43 -05:00
Henrik Lissner
f859850130
nit: fix indent for hl-line config
2026-03-01 18:10:43 -05:00
Henrik Lissner
e5bbae8144
feat(lib): introduce doom-kill-childframes-h
...
And use it to replace the various `posframe-delete-all` hooks littered
about to clean up child/posframes in contexts where they may linger
after destructive operations (like changing the active workspace or
executing `doom/reload`).
2026-03-01 18:10:42 -05:00
Henrik Lissner
4425bd898f
perf(vertico): cache doom-project-root w/ marginalia
...
`doom-project-root` call `projectile-project-root`, which can be an
expensive operation. Overriding `marginalia--project-root` (which could
get called many hundreds of times each time marginalia renders its
annotations) with `doom-project-root` directly could grind marginalia to
a crawl (particularly in file/directory browsing workflows), so I take a
page out of `marginalia--project-root`s original implementation and
cache the root.
2026-03-01 18:10:42 -05:00
Henrik Lissner
e2bdb43bf6
fix(cli): doom emacs: forward $HOME using environment
...
Rather than hardcoding the envvar assignment into the shell command,
whose syntax isn't portable (see #8697 ).
Fix : #8697
2026-03-01 18:10:42 -05:00
Henrik Lissner
d9014ec4c5
fix: copy initial-value for load-path, exec-path, process-environment
2026-03-01 18:10:42 -05:00
Henrik Lissner
2428689f3b
fix(evil): appease byte-compiler (unused var)
2026-03-01 18:10:42 -05:00
Henrik Lissner
5311d4592d
fix: minor typo in cli restart logs
2026-03-01 18:10:42 -05:00
Henrik Lissner
59f9e1f5bb
docs(lib): revise doom-log & doom-run-hooks docstrings
2026-03-01 18:10:42 -05:00
Henrik Lissner
304030fdf8
refactor(lib): deprecate setq!
...
`setq!` was introduced to fix `setopt` pulling in packages. Now that
`setopt` was advised (in fad44ca228 ) to fix the issue at the source,
this macro is no longer necessary.
Ref: fad44ca228
2026-03-01 18:10:40 -05:00
Henrik Lissner
1c330eadce
refactor(lib): deprecate doom-load-envvars-file
...
In v3, the envvar file will be an elisp script, which can be `load`ed
directly, so a specialized loader will no longer be necessary.
2026-02-28 05:15:52 -05:00
Henrik Lissner
bd949b718f
refactor(lib): deprecate doom-compile-functions
...
Module autoloads will be separately byte-compiled in v3. Removing this
ahead of that.
2026-02-28 04:15:15 -05:00
Henrik Lissner
85ccc61ddc
tweak(llm): gptel-default-mode = org-mode
...
This is Emacs. Use org-mode instead of markdown-mode/text-mode, by
default.
2026-02-25 23:19:39 -05:00
Henrik Lissner
8584bc254e
feat(llm): add open-in-same-window command/keybind
2026-02-25 23:19:20 -05:00
Henrik Lissner
9de72537be
bump: :tools
...
NicolasPetton/pass@de4adfaeba -> NicolasPetton/pass@143456809f
emacs-lsp/lsp-mode@0e53347d76 -> emacs-lsp/lsp-mode@3e55ca8071
emacs-straight/eglot@76dae6a075 -> emacs-straight/eglot@e9371d4ac9
flycheck/flycheck-eglot@6cf99e53b4 -> flycheck/flycheck-eglot@cd1dd78cec
jacktasia/dumb-jump@0bb557a2bd -> jacktasia/dumb-jump@215e2ed9ab
karthink/gptel@11ddace991 -> karthink/gptel@d221329ee3
purcell/envrc@d3289e92e0 -> purcell/envrc@f44353c42c
tarsius/cond-let@0430bd1eb3 (0.2.1) -> tarsius/cond-let@8bf87d45e1 (0.2.2)
tumashu/posframe@4fc893c3c9 -> tumashu/posframe@41cc4def61
2026-02-25 22:48:04 -05:00
Henrik Lissner
c2c1416634
revert: tweak: disable electric-quote-mode by default
...
Seems electric-quote-mode was already disabled by fault, but I was
troubleshooting a package that was globally enabling it in its
autoloads, so this setting wasn't needed.
Revert: 8e6d555cc4
2026-02-25 14:31:48 -05:00
Henrik Lissner
8308ac1e95
tweak: levels for certain doom logs
...
To reduce unnecessary debug spam when debug-mode is on.
2026-02-24 23:25:16 -05:00
Henrik Lissner
88f9bf95d6
fix: wrong lexical var in setopt--set advice
...
And remove no-op on debug mode, so issues can be debugged.
Amend: fad44ca228
2026-02-24 23:14:51 -05:00
Henrik Lissner
165caf677b
fix: void-variable custom-load-symbol error
...
custom-load-symbol may not be defined the first time setopt--set is
executed.
Fix : #8690
Amend: fad44ca228
2026-02-24 22:16:05 -05:00
Henrik Lissner
8637bdc888
fix(lookup): restore etags--xref-back default xref backend
...
Some users may not be aware of (or not want to use)
`projectile-find-tag` or `evil-jump-to-tag`.
2026-02-24 02:42:43 -05:00