Commit Graph

19879 Commits

Author SHA1 Message Date
7941dfa766 fix(workspaces): only trigger projectile-*-switch-project-hook once
Changes upstream made our triggers for these hooks redundant.

Fix: #6559
2025-04-01 03:27:02 -04:00
99e46ed69f fix(cc,javascript): projectile-globally-ignored-directories
This variable accepts literal strings, not regexps.

Ref: #7538
2025-04-01 03:26:56 -04:00
68ec9e9c86 tweak(evil): evil-escape-key-sequence: disable by default
The jk/fd escape sequence catches up folks not expecting it and isn't
unanimously useful to all users, so it shouldn't be active by default.
This also deals with an issue where Evil macros are capturing the escape
key sequence (#8279).

Ref: #8279
2025-04-01 01:22:40 -04:00
9c760c9106 docs: update paypal link in project readme 2025-04-01 00:48:15 -04:00
5b11ac7267 feat(popup): +popup/raise: use visible popup if none selected
This command would formerly raise the focused window into a regular
window, erroring out if that window isn't a popup. Now, if the focused
window isn't a popup, any (single) visible popup in the current frame
will be targeted, and if multiple popups are visible, you'll be prompted
to select one.
2025-04-01 00:48:03 -04:00
8b37baada7 revert: refactor(evil): remove +evil--dont-move-cursor-a
Turns out that the behavior this advice fixes was not fully addressed,
so I'm restoring it.

Revert: 4def7f359c
2025-04-01 00:47:59 -04:00
d775ed822c fix(corfu): void-variable local-map error
Amend: #8262
2025-04-01 00:47:32 -04:00
0d1c8942db fix(corfu): fix default minibuffer completion
After setting +corfu-want-minibuffer-completion to t, I noticed that it
Corfu was still being enabled in Consult when finding files. This change
fixes that by ensuring that Corfu gets disabled in the minibuffer
whenever another completion framework is active.
2025-04-01 00:16:03 -04:00
52183d717d fix(corfu): void-variable cape-file-prefix error
Amend: 2eca701615
Ref: #6289
2025-03-31 09:31:07 -04:00
26c372cd01 fix(evil): don't auto-set evil-shift-width in org-mode
org-mode requires `tab-width` be 8, which is not a sensible default for
`evil-shift-width`, so let it fall back to its default value (which is
4) in org buffers.
2025-03-31 09:31:07 -04:00
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
00d624d66a tweak(corfu): completions-first-difference: don't nullify :inherit
This should be left to themes to address, not our defaults.
2025-03-31 09:31:07 -04:00
74817a6f25 nit(corfu): revise comments, grammar, and formatting 2025-03-31 09:31:07 -04:00
f3165c1c5b fix(corfu): corfu-terminal for daemon users
Since this package disables no-op's itself when not in the terminal,
it's safe to keep on in GUI sessions.
2025-03-31 09:31:06 -04:00
67933f9f62 tweak(wanderlust): Ignore headers from SMX email filter 2025-03-31 02:28:39 -04:00
5ab710911a bump: :email wanderlust
emacsmirror/apel@1a6fd3bab2 -> wanderlust/apel@1a6fd3bab2
emacsmirror/flim@23bb29d70a -> wanderlust/flim@774e40da2b
emacsmirror/semi@85a52b899a -> wanderlust/semi@85a52b899a
emacsmirror/wanderlust@8b413b33cd -> wanderlust/wanderlust@6a0605415d
2025-03-31 02:28:39 -04:00
9be19e20dc bump: :lang cc clojure coq elixir lua ocaml php purescript
ProofGeneral/PG@e0ec3db200 -> ProofGeneral/PG@85cde55a86
ananthakumaran/exunit.el@ee06b14b61 -> ananthakumaran/exunit.el@8de56e3fd5
emacs-lsp/emacs-ccls@41399b0eba -> emacs-lsp/emacs-ccls@28c7930c89
emacs-php/php-mode@0f756a8c07 -> emacs-php/php-mode@5b6cc1c068
hhvm/hack-mode@343e45f2a6 -> hhvm/hack-mode@0addbff8b6
immerrr/lua-mode@d074e4134b -> immerrr/lua-mode@2f6b8d7a63
jart/disaster@b20f8e1ef9 -> jart/disaster@8b44591322
jwiegley/emacs-async@b99658e831 -> jwiegley/emacs-async@bb3f31966e
ocaml/dune@b74586e909 -> ocaml/dune@a46193e167
ocaml/merlin@92c3ba9473 -> ocaml/merlin@2eeb63d002
ocaml/tuareg@1d53723e39 -> ocaml/tuareg@1600fdad28
purescript-emacs/purescript-mode@b076bafe94 -> purescript-emacs/purescript-mode@a3d6ca4ba5
technomancy/fennel-mode@4ccb6d5944 -> technomancy/fennel-mode@811f39de12
2025-03-31 01:02:38 -04:00
d8bbe03d0c bump: :lang haskell
emacs-lsp/lsp-haskell@b2edf1a9f8 -> emacs-lsp/lsp-haskell@cd0f5d251c
haskell/haskell-mode@7f452cc9e6 -> haskell/haskell-mode@be2639592f

Close: #8332
Ref: haskell/haskell-mode#1867
Co-authored-by: ElleNajt <ElleNajt@users.noreply.github.com>
2025-03-31 00:59:25 -04:00
dfe5b8d4e9 refactor(corfu): conform to conventions 2025-03-31 00:59:25 -04:00
2eca701615 fix(corfu): trigger cape-file on { in latex buffers
Fix: #6289
2025-03-31 00:59:25 -04:00
a1ff0513aa feat(go): add 'go generate ...' keybinds
Close: #8281
Co-authored-by: chloelee767 <chloelee767@users.noreply.github.com>
2025-03-31 00:59:22 -04:00
7827d32cc6 refactor(go): 'go test ...' commands
Better error handling and fewer side-effects (with match data).
2025-03-30 16:54:57 -04:00
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
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
17a870fef8 fix(magit): reload related buffers after git ops
And when refocusing a frame.
2025-03-30 16:10:22 -04:00
9e624b5dfe fix(evil): +evil-collection-disabled-list implementation
Fixes clearing sub-list entries in evil-collection-mode-list (none at
the moment, but it could bite me in the future).

Amend: 5e43944ef3
2025-03-28 03:31:23 -04:00
c9afc6cdd3 bump: :emacs :term :app :email
akermu/emacs-libvterm@99c1f5e76a -> akermu/emacs-libvterm@056ad74653
alexluigit/dirvish@1d8de07f4e -> alexluigit/dirvish@2d63995d32
emacs-straight/vundo@791211a89f -> emacs-straight/vundo@c32481ab48
emacsmirror/git-timemachine@3780835fcd -> emacsmirror/git-timemachine@d1346a7612
emacsmirror/undo-fu-session@beb0e285d0 -> emacsmirror/undo-fu-session@d90d42ddba
emacsmirror/undo-fu@dbb3e4b699 -> emacsmirror/undo-fu@399cc12f90
https://git.notmuchmail.org/git/notmuch@2f0320c5f24a -> https://git.notmuchmail.org/git/notmuch@dfc800c26e7b
https://git.savannah.gnu.org/git/emms.git@5e9922f2a45f -> https://git.savannah.gnu.org/git/emms.git@8713a0ee985c
jao/consult-notmuch@d8022e2ddc -> jao/consult-notmuch@17d2a4ea8c
karthink/elfeed-tube@ce2b5071d1 -> karthink/elfeed-tube@79d5a08d76
org-mime/org-mime@9d4584651d -> org-mime/org-mime@9571c148ee
remyhonig/elfeed-org@1197cf29f6 -> remyhonig/elfeed-org@34c0b4d758
tarsius/ol-notmuch@881991d94a -> tarsius/ol-notmuch@9a69506a3f
tecosaur/emacs-everywhere@0b731ca6da -> tecosaur/emacs-everywhere@caeab3948f
2025-03-27 23:46:56 -04:00
5e43944ef3 fix(evil): evil-collection: disable some submodules
Exposes a user-configurable variable for disabling evil-collection
modules, while also blacklisting modules that are incompatible with our
modules (the case for evil-collection-lispy) or don't offer any/enough
value to the user.

Close: #8327
Amend: 2f7f37d49b
2025-03-27 23:46:48 -04:00
1ac579e08a fix: clipboard issues on Windows + WSL
Ref: 5b103261f4
2025-03-26 07:55:36 -04:00
5b103261f4 feat: add wsl detection
Can now be detected with (featurep :system 'wsl).
2025-03-26 07:55:16 -04:00
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
1e1fd5c8e4 fix(magit): evil-collection-magit-section overrides
These fixes for evil-collection-magit-section weren't being applied
since 2f7f37d49b, but any combination of `after!` (or
`{with-}eval-after-load`) will convolute load order for users trying to
rebind their own keys on top of ours *and* evil-collection's, and using
`evil-collection-setup-hook` for this is clumsy, so I must resort to
advice.

Amend: 2f7f37d49b
2025-03-25 18:11:35 -04:00
da071559e1 fix(magit): polish +magit-display-buffer-fn
- Ensure `magit-log-select-mode` windows use the same window as the
  magit-status buffer, and that the revision buffer is displayed below
  it (similar to commit window configs).
- Uses the same window when invoking diffs (#8083).

Fix: #8083
2025-03-25 18:11:35 -04:00
65a5e50d1c fix(magit): transient: window config jank
With the combination of a bad value for
`transient-display-buffer-action` and a non-nil
`transient-show-during-minibuffer-read`, transient may jumble up
adjacent popup/side windows, particularly those belonging to plugins
with their own popup management and dedicated side windows (i.e.
`display-buffer-alist` rules) like Helm or Doom's popups.

Fix: #8319
Fix: #8235
Co-authored-by: tarsius <tarsius@users.noreply.github.com>
2025-03-25 18:11:18 -04:00
b29449434b nit(evil): revise & reformat comments
For clarity and to conform to newer conventions.
2025-03-25 15:22:15 -04:00
ad7d9fa657 refactor: projectile init
Reassessing our startup hacks for projectile, and removing ones we no
longer need.
2025-03-25 15:20:59 -04:00
c3a9388452 fix: projectile: centralize per-project cache files
Projectile was bumped in #8317, which introduced per-project file
caches, but they were written to the root of the project. Rather than
litter projects with these dotfiles, I advise projectile to write them
to a single place (under `doom-profile-cache-dir`).

Also moves the known-projectiles cache file to the same directory.

Amend: #8317
2025-03-25 15:20:59 -04:00
4def7f359c refactor(evil): remove +evil--dont-move-cursor-a
evil-indent, upstream, now preserves the column, which is enough to
render this advice obsolete.

Revert: c77ec345a3
2025-03-25 15:20:59 -04:00
d5e161a9ae bump: :tools
Silex/docker.el@46b597a711 -> Silex/docker.el@3bea08f1d2
emacs-ansible/emacs-ansible@4601ff31f5 -> emacs-ansible/emacs-ansible@8474bd186b
emacs-tree-sitter/elisp-tree-sitter@f3b6e78cd4 -> emacs-tree-sitter/elisp-tree-sitter@8516c9977e
emacsorphanage/quickrun@7345432cea -> emacsorphanage/quickrun@4b6df453f8
jacktasia/dumb-jump@93665381d9 -> jacktasia/dumb-jump@737267a613
joostkremers/parsebib@a25621930e -> joostkremers/parsebib@7bfde4e467
millejoh/emacs-ipython-notebook@998ba22660 -> millejoh/emacs-ipython-notebook@2711366546
purcell/envrc@2b818ca6e4 -> purcell/envrc@116cb75ee1
spotify/dockerfile-mode@4d893bd2da -> spotify/dockerfile-mode@8135740bfc
2025-03-25 15:20:58 -04:00
1d3830f8c0 bump: :editor
emacs-tree-sitter/ts-fold@a8b69682bb -> emacs-tree-sitter/ts-fold@0b2e87ea53
joaotavora/yasnippet@fe1f4e0e96 -> joaotavora/yasnippet@5b315f1753
justinbarclay/parinfer-rust-mode@044c3fe8f6 -> justinbarclay/parinfer-rust-mode@d5578ec0b2
magnars/multiple-cursors.el@dd10cf2334 -> magnars/multiple-cursors.el@89f1a8df9b
radian-software/apheleia@543f6d651d -> radian-software/apheleia@2c8e8229cb
2025-03-25 14:16:56 -04:00
dac6e05b87 refactor: deprecate appendq!, prependq!, & delq! macros
In the interest of slimming down Doom's core (as we near v3), I've
deprecated these macros. They doesn't really need to exist. Sure, the
alternatives aren't as ergonomic or elegant, but they're good enough
that we don't need these trivial wrappers. Their local uses have been
refactored out as well.
2025-03-25 14:16:56 -04:00
2f7f37d49b refactor(evil): evil-collection: simplify init
We've used a bunch of hackery to further lazy load evil-collection, but
it seems those aren't needed anymore (at least on 30.1+), so as an
experiment I fall back to relying on evil-collection-init (possibly
switching to `evil-collection-setup` later).
2025-03-25 14:16:56 -04:00
bdd3701987 fix(common-lisp): inferior-lisp-program: accept list
To quote the docstring for `inferior-lisp-program`:

  Program name for starting a Lisp subprocess to Emacs.  Can be a string
  naming a program, a whitespace-separated string of \"EXECUTABLE ARG1
  ARG2\" or a list (EXECUTABLE ARGS...) where EXECUTABLE and ARGS are
  strings.

Fix: #8324
2025-03-24 18:21:33 -04:00
6cc1284171 bump: :lang org
bastibe/org-journal@115b9c0354 -> bastibe/org-journal@cf72173233
emacs-straight/org-mode@2f5add467c -> emacs-straight/org-mode@07e380f76d
emacsmirror/org-contrib@f22bdd6a58 -> emacsmirror/org-contrib@8d14a600a2
hakimel/reveal.js@2059d388f7 -> hakimel/reveal.js@5c77e86301
magit/orgit@3b6b34bd11 -> magit/orgit@6ad0dc35c8
oer/org-re-reveal@88e9d9e679 -> oer/org-re-reveal@53e9be7d89
org-noter/org-noter@691efc3ed4 -> org-noter/org-noter@a28f61238a
org-roam/org-roam@0037daaf3e -> org-roam/org-roam@046822b512
2025-03-24 18:12:54 -04:00
0163aef765 bump: :tools magit
magit/forge@33e240d360 -> magit/forge@1c904090df
magit/magit@f52dfada8f -> magit/magit@28d272ce0b
2025-03-24 18:10:52 -04:00
ef9ff57caf bump: :tools debugger lsp
emacs-lsp/dap-mode@09dc16bae1 -> emacs-lsp/dap-mode@56e92dd86b
emacs-lsp/helm-lsp@e740efb2ab -> emacs-lsp/helm-lsp@cf4ea6fb42
emacs-lsp/lsp-ivy@6b2a625f08 -> emacs-lsp/lsp-ivy@bdc730a209
emacs-lsp/lsp-mode@b383e637dc -> emacs-lsp/lsp-mode@4cddd2d99d
emacs-lsp/lsp-ui@00e69463b4 -> emacs-lsp/lsp-ui@09d4080642
emacs-straight/eglot@2d5d494bfc -> emacs-straight/eglot@8711f483be
2025-03-24 18:09:45 -04:00
056d117b07 fix(dired): void-function dirvish-find-entry-a error
This advice was replaced upstream with advising `dired--find-file` with
`dirvish--find-file`, and was missed when dirvish was bumped in 960b537.

Amend: 960b537cf6
Fix: #8322
Ref: alexluigit/dirvish@a03a8d52de
2025-03-24 03:03:08 -04:00
2f54077c3e perf(tty): move global-kkp-mode to tty-setup-hook
It isn't needed in non-TTY sessions, so spare GUI users the startup
cost.
2025-03-24 00:58:59 -04:00
0e5768064c fix: TAB & RET keybinds in daemon sessions
`input-decode-map`s bindings are terminal-local and are memoized at an
indeterminable time by `read-key-sequence`, rendering that
`display-graphic-p` check stale by the first client frame and these
TAB/RET fixes unavailable to daemon users.

Amend: 538ddf5e66
Fix: #8269
Close: #8303
2025-03-24 00:57:08 -04:00
960b537cf6 bump: :emacs dired
alexluigit/dirvish@f449754dd5 -> alexluigit/dirvish@1d8de07f4e

Fix: #8253
2025-03-23 23:04:54 -04:00