Commit graph

13449 commits

Author SHA1 Message Date
Ajai Khatri Nelson
ef7fbbfe19
Merge bae17023d6 into ebf77f71c4 2026-03-20 13:06:17 -07:00
Henrik Lissner
ebf77f71c4
bump: :ui
dimitri/switch-window@a72cf11d21 -> dimitri/switch-window@1ccbfa53df
seagle0128/doom-modeline@8806358185 -> seagle0128/doom-modeline@1953aa47a4
2026-03-20 02:25:20 -04:00
Henrik Lissner
a796b67f34
fix(lsp): void-variable gcmh-high-cons-threshold error
Only affects folks on the IGC branch of Emacs.

Amend: a629b154cc
2026-03-20 02:20:26 -04:00
Henrik Lissner
95d47b4847
fix(dashboard): repeated risky-local-var prompts
Because the dashboard may change its `default-directory` in the
background, when opening a file straight from the dashboard, to a
directory with a .dir-locals.el that contains unsafe/risky variables,
causing a redundant prompt.
2026-03-19 23:33:47 -04:00
Henrik Lissner
a6a25521dc
fix(ruby): rspec-compilation popup rule overriding global rule
There's a global rule for the compilation-mode buffer. Making the
"rspec-" prefix optional in this one, causes it to override the global
one.
2026-03-19 03:13:06 -04:00
Henrik Lissner
6ea2a016d1
refactor!(org): remove +pomodoro +contacts +hugo +passwords
BREAKING CHANGE: This removes four flags from the module and their
associated features. They were removed because:

- Their configs are trivial (<3 lines of config per package) and can be
  trivially deployed by the users who want them.
- There are *many* alternative implementations (org-people, all the
  pomodoro plugins, pass.el, etc); there's no particular reason to
  provide flags for these ones.
- org-password and org-contact were only supported because they were
  removed from org (and org-contrib (?)).
- My long-term plan for this module is to slim it down and make it less
  opinionated.
2026-03-18 19:31:49 -04:00
Henrik Lissner
bccbbdd61b
fix(indent-guides): activate reasonably late
Ensure indent-bars-mode is enabled late enough than any other potential
hooks that might affect indent variables.
2026-03-18 19:31:49 -04:00
Henrik Lissner
bcbb5199bf
tweak(indent-guides): indent-bars-display-on-blank-lines = 'least
This accomplishes a few things:
- Prevents indent guides from showing on blank lines *beyond* an
  indented block (e.g. a function).
- Avoids gaps in indent guides on empty lines *within* an indented
  block.
- Reduces jumpiness when scrolling across some indented/empty lines at
  the top or bottom edge of the window (as if `scroll-margin` was
  changed between 0 and 1 on certain lines). The issue still exists (and
  needs to be reported upstream), but is less pronounced with this
  setting.
2026-03-18 19:31:48 -04:00
Tim Ruffing
8b475fcb25 docs(org): +roam: update outdated docstring
Amend: d92883bff8
2026-03-18 19:29:10 -04:00
Kevin Ji
7d89804c97 bump: :tools lsp
emacs-lsp/lsp-mode@fd4df7cf17 -> emacs-lsp/lsp-mode@197f56bf7a
2026-03-18 19:17:32 -04:00
Henrik Lissner
92b0381168
refactor(emacs-lisp): reformat and use defgroup & defcustom
To bring it up to speed with new conventions I'll be imposing more
consistently in v3.
2026-03-15 02:24:26 -04:00
Henrik Lissner
6fdbe8c07d
refactor: remove <=27 compatibility fixes in modules
Doom's modules no longer support Emacs 27 and older, so remove the
various compatibility fixes/backports/hacks across several modules.

Doom's core, however, will continue to support 27.
2026-03-15 02:23:41 -04:00
Henrik Lissner
c0662f6ea1
feat(lib): introduce set-indent-vars! & doom-indent API
Introduces a systemic fix to the problem where most major modes don't
set `tab-width` and/or `standard-indent` to match the mode-specific
indent variables. This tries to guess the indent variable(s) for any
given major mode, by searching for variables that end in:

  X-ts-mode-indent-offset
  X-indent-offset
  X-indent-level
  X-tab-width
  X-basic-offset

Where X is the major mode without the (base-)?(ts-)?-mode suffix. This
should resolve to the correctly variable for most popular or newer
packages. For modes where it isn't enough, modules will have to manually
register with `set-indent-vars!`.

This commit also moves various indent commands to a new
lisp/lib/indent.el library and rewrites `doom/set-indent-width` to use
this new API (which no longer depends on editorconfig, and less on
dtrt-indent).

Fix: #8713
2026-03-15 02:23:40 -04:00
Henrik Lissner
3a2c12073f
refactor: s/set-debug-variable!/set-debug-var!/
There will be more of these set-variable-type autodefs in the future, so
I'd rather make the abbreviation of "variable" the precedent now than
destructively rename them all later.
2026-03-13 17:42:00 -04:00
Henrik Lissner
be55ba2571
fix(default): don't reload keybindings
These are a commons source of non-prefix-key errors when using
`doom/reload`.
2026-03-13 01:55:42 -04:00
Henrik Lissner
f2685a884e
docs(org): update ob-* packages list 2026-03-12 22:49:01 -04:00
Henrik Lissner
fabdaa40a0
refactor!(org): remove ob-clojure-literate
BREAKING CHANGE: This commit removes the `ob-clojure-literate` package.
It was brought in because it was removed from `org-contrib`, but it's
unmaintained and `ob-clojure` (included with Org) already does most of
the baseline support for Clojure-in-Org that I want for this module.
2026-03-12 22:43:15 -04:00
Henrik Lissner
f2257c3fa9
fix: defcustom :type specifiers
setopt throws a void-function nil error if a variable's :type specifier
is invalid.

Fix: #8710
2026-03-12 16:29:37 -04:00
Henrik Lissner
f8329b44f7
revert: jupyter
emacs-jupyter/jupyter@3b9caed3e4 -> emacs-jupyter/jupyter@242fdc709c

Amend: 21e372b531
Fix: #8709
2026-03-12 04:51:27 -04:00
Henrik Lissner
b75897a8e4
fix(llm): +llm-fix-gptel-magit--non-string-responses-a
The plist starts at the second argument, not the first, so this advice
wasn't working at all. Also adds basic error handling for more helpful
errors than what gptel-magit gives you.

Amend: b30f5ca6df
2026-03-12 02:42:41 -04:00
Henrik Lissner
4b09424cf6
feat(llm): set-debug-variable!: gptel-log-level = 'debug
So `doom-debug-mode` will toggle this variable.
2026-03-12 01:39:40 -04:00
Henrik Lissner
22b99ca92f
fix(llm): void-variable gptel--openrouter error
Amend: 0ec6255f23
2026-03-11 23:00:54 -04:00
Henrik Lissner
b30f5ca6df
fix(llm): gptel-magit: non-string responses
Resolves an upstream issue (ragnard/gptel-magit#9) where gptel-magit
requests may return a non-string response, causing a type error. The
solution was adapted from an upstream PR (ragnard/gptel-magit#4).

Ref: ragnard/gptel-magit#9
Ref: ragnard/gptel-magit#4
2026-03-11 22:50:34 -04:00
Henrik Lissner
0ec6255f23
fix(llm): gptel-magit: interop w/ gptel-include-reasoning
Resolves an upstream issue caused if `gptel-include-reasoning` is
enabled. Solution is adapted from a reply to the report..

Ref: ragnard/gptel-magit#8
2026-03-11 22:50:34 -04:00
Henrik Lissner
21e372b531
bump: :lang org
emacs-jupyter/jupyter@242fdc709c -> emacs-jupyter/jupyter@3b9caed3e4
emacsmirror/org-contrib@90e1d6bd62 (release_0.7) ->
emacsmirror/org-contrib@b840bdabd1 (release_0.8)
hakimel/reveal.js@0753c05777 -> hakimel/reveal.js@8d9120f8ab
minad/org-modern@b4b5b1c864 -> minad/org-modern@f514a2570d
2026-03-11 22:50:34 -04:00
Henrik Lissner
77851622b3
fix(org): reload org-agenda buffer on first invocation
A temporary fix for what seems to be a 9.8 regression. More
investigation required.
2026-03-11 22:50:33 -04:00
Henrik Lissner
faf98f02b4
tweak(beancount): use green nf-fa-money icon for *.bean(count)
Associate the icon with *.bean files too, and change the icon to
green.
2026-03-11 22:50:33 -04:00
Henrik Lissner
73d643da83
fix: appease byte-compiler across the board
Warnings about unused lexical variables, arity warnings, unescaped
single quotes in docstrings, shadowed variables, and invalid value for
:local depending on Emacs version.
2026-03-11 22:50:33 -04:00
Henrik Lissner
c1928bf081
nit(magit): annotate comment with HACK
Because this is a brittle workaround that may need reviewing in the
future.
2026-03-11 22:50:33 -04:00
Henrik Lissner
dfc75cc56e
tweak(evil): increase evil-ex-hl-update-delay for special-mode
Which magit modes are derived from.
2026-03-11 22:50:33 -04:00
Henrik Lissner
4fec01b7ea
revert: perf(magit): use /usr/bin/git on macos
d23abed made Magit prefer the vendored git over homebrew/macports
git (or wherever else), because it appeared to speed up Magit's git
calls, but that was a premature optimization. There are some users
reporting it works, but more than report it doesn't. I don't have Mac
hardware to test this properly on, so I opt for the simpler option of
removing the optimization.

Also corrects the comment, because Magit resolves `magit-git-executable`
on Windows and MacOS already, so we only need this for Linux (where the
benefit is minimal).

Revert: d23abed66d
2026-03-11 22:50:33 -04:00
Henrik Lissner
698ca04e0a
nit(vertico): reformat
Conform to Emacs and Doom (v3) conventions.
2026-03-11 22:50:33 -04:00
Henrik Lissner
18671e43a1
fix(vertico): escaping async split separators in consult prompts
If you invoke a file search command (`SPC s p`) with an active
selection, that selection will be used as your initial query. However,
some characters (like #, %, @, !, etc) have a special meaning as a
separator for async sub-searches, and must be escaped to be treated as
literal text. This used to work, until the
`consult-async-split-styles-alist` spec changed at some point.
2026-03-11 22:50:33 -04:00
Henrik Lissner
7d6a0eb74e
fix(vertico): appease byte-compiler
Resolve unreferenced lexical variables, longer-than-80 docstrings, and
"defining as dynamic an already lexical var" warnings.
2026-03-11 22:50:32 -04:00
Henrik Lissner
73693a8a2d
perf(vertico): reduce project-root calls by one
If operating on files that aren't in a project, marginalia suffers two
potentially expensive `projectile-project-root` calls per
file/directory. This reduces it to one.
2026-03-11 22:50:32 -04:00
Henrik Lissner
0bbece56f1
refactor(vertico): marginalia-command-category: hoist to callers
Emit the metadata at the source.
2026-03-11 22:50:32 -04:00
Henrik Lissner
379d7d7147
fix(yaml): +tree-sitter: use 0.7.2 grammar when ABI==15
0.7.0 (where the old commit pointed to) is for ABI==14.
2026-03-11 04:22:47 -04:00
Henrik Lissner
d771e24efa
fix(common-lisp): +lisp/reload-project
`sly-asdf-load-system` doesn't auto-select the current system without a
little help.

Fix: #8708
2026-03-11 03:07:12 -04:00
Henrik Lissner
f573c7a1ee
fix: don't trigger doom-first-buffer-hook too early
The scratch or dashboard buffers triggered it too early.

Fix: #8706
2026-03-11 02:55:08 -04:00
Henrik Lissner
5351f18611
fix(dashboard): parent group and remove :prefix
These groups' parents are their source (aka the module library they
belong to). They will be:

- doomemacs/core = doom
- doomemacs/modules = doom+
- doomemacs/modules-contrib = doom++

And this module belongs to doom+.
2026-03-11 02:28:56 -04:00
Henrik Lissner
9e8f1ecd7c
refactor(org): use new :preview mechanism
Rewrites link handlers and keybind to use the new org-link-preview
backend.

Fix: #8164
Close: #8707
Co-authored-by: andrewpeck <andrewpeck@users.noreply.github.com>
2026-03-10 21:59:14 -04:00
Henrik Lissner
b4917ef4f3
fix: remove vestigial references to setq!
setq! was deprecated in 304030f in favor of setopt.

Ref: 304030fdf8
2026-03-10 21:59:14 -04:00
Henrik Lissner
04ef44d9c8
refactor(eval): rewrite module 2026-03-10 21:59:14 -04:00
Henrik Lissner
f8c3decb0a
tweak(eval): remap eval-{region,buffer} to module commands 2026-03-10 21:59:14 -04:00
Henrik Lissner
9405a06141
refactor(emacs-lisp): eval handler & working buffer command
- Renames `+emacs-lisp-eval-working-buffer` to
  `+emacs-lisp-working-buffer`.
- `+emacs-lisp/change-working-buffer`: Expand  to accept the prefix arg,
  the ability to unset the current working buffer, and only set the
  working buffer buffer-locally.
2026-03-10 21:59:14 -04:00
Henrik Lissner
4fe1cbeddb
refactor: s/when-let/when-let*/
The former is deprecated on Emacs 31 for the latter.
2026-03-09 03:28:06 -04:00
Henrik Lissner
9530c6fbfa
fix(magit): motion/TAB misbehavior w/ long lines
Ref: magit/magit#5320
2026-03-09 03:27:44 -04:00
Henrik Lissner
dd72eac197
bump: :tools
emacs-citar/citar@dc7018eb36 -> emacs-citar/citar@911a7d59c4
emacs-lsp/lsp-mode@3e55ca8071 -> emacs-lsp/lsp-mode@fd4df7cf17
emacs-straight/dape@76af39b5c2 -> emacs-straight/dape@d5ce595033
emacs-straight/eglot@e9371d4ac9 -> emacs-straight/eglot@866ae23c8b
jacktasia/dumb-jump@8c97b2afc2 -> jacktasia/dumb-jump@41b6b9dd44
karthink/gptel@63795dee75 -> karthink/gptel@63795dee75
2026-03-09 00:19:49 -04:00
Henrik Lissner
45dfc8f60c
module: add :ui dashboard
And deprecate :ui doom-dashboard. The new module is a breaking
rename+rewrite of the old module. The old module will be removed when v3
goes live.
2026-03-09 00:18:01 -04:00
Henrik Lissner
4cf886ba30
refactor: remove old unit tests
Making room for the new tests and framework coming in v3. Besides, these
old tests haven't been used in years.
2026-03-08 19:41:17 -04:00