Commit graph

19096 commits

Author SHA1 Message Date
Henrik Lissner
46bcd7e922
bump: :lang go
dominikh/go-mode.el@8dce1e3ba1 -> dominikh/go-mode.el@6f4ff9ef87
weijiangan/flycheck-golangci-lint@9def093e41 -> weijiangan/flycheck-golangci-lint@91c59b128a

- Fixes weijiangan/flycheck-golangci-lint#15: golangci-lint's renamed
  the --deadline option to --timeout. (#7833, #7834)

Close: #7833
Close: #7834
Ref: weijiangan/flycheck-golangci-lint#15
Co-authored-by: blez <blez@users.noreply.github.com>
Co-authored-by: samcrang <samcrang@users.noreply.github.com>
2024-04-18 14:17:02 -04:00
StrawberryTea
0a635e9df9 fix(direnv): fix void function error in emacs30 2024-04-17 04:23:26 -04:00
Levin Du
ede616fdd7
fix(cli): doom-packages-ensure: ensure local packages are built
If the package is local, the local-repo has absolute local file path,
and straight-modified-dir will return as it is, which always exists.

Fix it by passing package only to straight-modified-dir.
2024-04-16 03:00:56 -04:00
Levin Du
5a92e1b94a
fix: doom-initialize-core-packages: extract plist from alist
The doom-package-list is a list of (module :key value ...). To get the
plist, apply cdr first.
2024-04-16 02:59:04 -04:00
StrawberryTea
390f5920a2
Merge branch 'master' into corfu-update-smart-tab 2024-04-12 13:45:44 -05:00
StrawberryTea
cfb860f71a doc(corfu): update troubleshooting section 2024-04-12 13:24:58 -05:00
Henrik Lissner
5b7d6763f8
revert: org
emacs-straight/org-mode@e9c288dfac -> emacs-straight/org-mode@5bdfc02c6f

org-mode was bumped in 5f5a163, but this introduced substantial
slowdowns in buffers where src and latex blocks were natively
highlighted. This reverts to the latest known commit that doesn't
present this slowness (which is still newer than the commit used in
5f5a163).

Amend: 5f5a163c49
2024-04-11 21:51:14 -04:00
Henrik Lissner
fdeb856210
fix(spell): spell-fu: remove unneeded advice
These issues were addressed upstream.

Ref: emacsmirror/spell-fu@50be652a6e
Ref: emacsmirror/spell-fu@00af362af3
2024-04-11 21:27:09 -04:00
Henrik Lissner
ff4a0bc54a
fix: doom-run-hook-on: check context & chain hooks unconditionally
Consult the doom-context to determine if a transient hook should fire,
rather than after-init-time (less reliable; there may be times we want
them to fire post-init).

Also ensures that they're chained to find-file hooks whether or not this
is a daemon session (since they could concievably be triggered before
the daemon finishes initializing, but after Doom initializes).
2024-04-09 12:42:00 -04:00
Henrik Lissner
96e3255c33
nit: reformat+revise comments
Includes minor refactors to appease the byte-compiler or use more
succinct (but equivalent) syntax.
2024-04-09 12:39:51 -04:00
Henrik Lissner
d317fa4667
refactor: menu-bar (re)initialization on MacOS
Before this, it was non-trivial to *truly* disable the menu-bar in GUI
frames on MacOS, unless you knew about the
doom-restore-menu-bar-in-gui-frames-h hook and removed it. With this
change, the hook will bow out if the user has tampered with/called
menu-bar-mode at all.
2024-04-09 12:29:22 -04:00
Henrik Lissner
da3d0687c5
fix: doom-init-fonts-h: don't run more than needed
The face and theme-face manipulation only needs to happen once per
frame, and the `set-fontset-font` calls only need to happen once per
session (or whenever the user calls `M-x doom/reload-fonts`). This
change ensures this and saves Emacs some work when initializing new
frames, as well as resolves `set-fontset-font` related segfaults in some
edge cases (#7803).

Fix: #7803
2024-04-09 03:14:08 -04:00
Henrik Lissner
42de6282f4
tweak(helm): helm-always-two-windows = t
Don't comandeer the entire frame for helm commands.
2024-04-08 21:20:08 -04:00
Henrik Lissner
a4b7aa1c56
fix(helm): helm-descbinds-disable-which-key = nil
Otherwise, helm-descbind throws errors if which-key is enabled. Setting
prefix-help-command seems to resolve the incompatibility (more testing
is needed).

Ref: emacs-helm/helm-descbinds@ca03f02da4
Ref: emacs-helm/helm-descbinds@14d1929d54
Amend: 52599ab536
2024-04-08 19:53:46 -04:00
Henrik Lissner
21f6fb7576
fix(eval): warnings after eval error
This addresses the warning emitted when evaluating elisp in org-mode:

  Warning (org-element): ‘org-element-at-point’ cannot be used in
  non-Org buffer #<buffer debug.org> (emacs-lisp-mode)

Close: #7753
Fix: #7752
Co-authored-by: pysnow530 <pysnow530@users.noreply.github.com>
2024-04-08 19:53:46 -04:00
StrawberryTea
a8d612385f
tweak(corfu): update dabbrev-ignore-buffer-modes
The Corfu documentation has been updated to suggest more modes to ignore
with `dabbrev-ignore-buffer-modes`. This commit updates the list of
modes to ignore in `cape-dabbrev` to match the documentation.
2024-04-08 18:59:49 -04:00
Henrik Lissner
6756911721
fix(syntax): flycheck popups clearing active region
Moving the cursor over a flycheck-highlighted error will display the
error message in a popup. Displaying that popup could clear the active
selection (#7242), which is disruptive. This only affected non-Evil
users and users not using the module's +childframe flag, but should no
longer affect anyone after this commit.

Fix: #7242
Ref: flycheck/flycheck-popup-tip#14
2024-04-07 16:47:36 -04:00
Henrik Lissner
f99863b9f5
bump: :ui doom
doomemacs/themes@37d2182f50 -> doomemacs/themes@3b2422b208
hlissner/emacs-solaire-mode@8af65fbdc5 -> hlissner/emacs-solaire-mode@8ccdceeb92
2024-04-07 16:10:39 -04:00
Henrik Lissner
968974663d
bump: :editor snippets
doomemacs/snippets@07b3bdaf60 -> doomemacs/snippets@c1384cc797
joaotavora/yasnippet@33587a8551 -> joaotavora/yasnippet@eb5ba2664c

- Recently, yasnippet start complaining about snippets with the same
  name (particularly y-or-n-p and x-file). I've removed/renamed the
  offending snippets in doomemacs/snippets.

Ref: doomemacs/snippets@41417b4398
Ref: doomemacs/snippets@d0a96a37d4
2024-04-07 16:08:40 -04:00
Henrik Lissner
95ba26ba68
bump: :app everywhere
tecosaur/emacs-everywhere@fbeff19825 -> tecosaur/emacs-everywhere@bc91164151

Ref: tecosaur/emacs-everywhere#75
Revert: b439300e6a
2024-04-07 01:58:29 -04:00
Prashant Vithani
ead2ad19dc bump: :lang scala
hvesalai/emacs-sbt-mode@bcf8d60400 -> hvesalai/emacs-sbt-mode@cc68728a6e
2024-04-06 12:59:13 -04:00
Henrik Lissner
69bc471722
fix(workspaces): dual *Warnings* windows at startup
At some point, either Emacs, persp-mode, or I fixed what caused #319,
which swallows the *Warnings* popup when the new main workspace is
created. Until I can determine what fixed it (so I can determine whether
the whole hack should go), I'll simply add this guard.

Ref: #319
2024-04-06 12:55:01 -04:00
Henrik Lissner
4f51652111
fix(lib): remove-recent-file: improve completion UI
Integrates with completion frameworks (particularly vertico) that read
capf metadata.
2024-04-06 12:37:10 -04:00
Henrik Lissner
a3de6ad04f
bump: :editor evil
emacs-evil/evil-collection@e0982fcbb6 -> emacs-evil/evil-collection@ca977acb83
emacs-evil/evil@88d073c9d0 -> emacs-evil/evil@0251080640

- Fixes #7798: corfu completion in minibuffer for Evil users (thanks to
  emacs-evil/evil-collection#801).

Fix: #7798
Ref: emacs-evil/evil-collection#801
2024-04-06 12:35:00 -04:00
gpanago
813c961511
perf(tabs): rate limit centaur-tabs-buffer-update-groups
`centaur-tabs-buffer-update-groups` walks every buffer to determine the
group it belongs to. This function can be called execessively (upwards
of 1,000 times per second in certain conditions), as it is called on
every redisplay (it is indirectly attached to `tab-line-format`). This
rate limits its calls to about 10 per second.

Close: #7792
Ref: ema2159/centaur-tabs#222
2024-04-06 00:21:59 -04:00
StrawberryTea
4f07e83b6e fix(vertico): missing command error in consult
Although it is rare for a user to not enable the :config default module,
enabling/disabling modules one-by-one is common practice for debugging
Doom Emacs. This PR fixes an error that occurs when you have :completion
vertico enabled without enabling :config default.
2024-04-06 00:14:47 -04:00
StrawberryTea
f79bb46c9b fix(corfu): prevent void-variable error
Although this error will not be triggered by most people, since
auth-source is loaded by a lot of packages, it can still happen if you
are debugging your configuration (e.g. enabling/disabling modules
one-by-one).
2024-04-06 00:14:09 -04:00
Henrik Lissner
57f43e0953
fix(vc): *vc-{diff,change-log}* popup rules
The former rules weren't proccing on these buffers. Also
changes *vc-diff* popups to resize based on contents.
2024-04-05 19:05:54 -04:00
Henrik Lissner
ac33107228
bump: :lang factor
factor/factor@23fcfc7075 -> factor/factor@12fc9d5071
2024-04-05 19:05:29 -04:00
Henrik Lissner
681dd7bb55
fix(factor): handle fuel popups
Fix: #7788
Co-authored-by: steve-ayerhart <steve-ayerhart@users.noreply.github.com>
2024-04-05 19:04:45 -04:00
Henrik Lissner
1f921ca7a7
fix(factor): package association for lookup handlers & keybinds
This ensures all these fuel keybinds on factor-mode-map (and the
fuel-based lookup handlers) are associated with the fuel-mode
package (in case the user disables the fuel package).

Fix: #7788
Co-authored-by: steve-ayerhart <steve-ayerhart@users.noreply.github.com>
2024-04-05 19:03:18 -04:00
Henrik Lissner
854f4103ff
fix(factor): repl handler
Otherwise `+eval/open-repl-*` commands will emit "REPL handler X failed
to return a buffer" errors.

Fix: #7788
Co-authored-by: steve-ayerhart <steve-ayerhart@users.noreply.github.com>
2024-04-05 19:01:59 -04:00
Henrik Lissner
0cf7824256
refactor(eval): avoid seq-uniq & cl-{first,second}
- While seq.el is likely present, Doom does not guarantee it in
  interactive sesions like it guarantees cl-lib's presence.
- There is no reason to ever use cl-first/cl-second.
2024-04-05 18:54:35 -04:00
Henrik Lissner
f18603e66a
feat(lib): sudo-{find,this}-file: invoke save-place
After switching to the sudo-ed tramp buffer, this restores the point and
scroll position of the window to match the source buffer.

I exploit save-place here instead of simply saving/restoring (point)
and (window-start), because I believe it's better UX that save-place
treat the two buffers as effectively the same now and in the future, and
record the last cursor position equally between them, even if the
implementation is messier. This *could* be generalized into an advice
for save-place-find-file-hook and save-place-to-alist, but that's an
experiment for another day.

This is an experimental implementation and may change later.

Close: #7181
Co-authored-by: YourFin <YourFin@users.noreply.github.com>
2024-04-05 18:38:14 -04:00
Henrik Lissner
cf6d44d82d
fix(rust): lsp-mode: produce better hover info
The caching of rust-analyzer (RA) is too aggressive and leads to bad
results.

RA does not give a protocol-compliant way to extract 1 line information
from the hover response, so `lsp-mode` displays the first line of the
result, which currently is the byte alignment of the data

Fix: #6951
Close: #7754
Co-authored-by: gagbo <gagbo@users.noreply.github.com>
Co-authored-by: scturtle <scturtle@users.noreply.github.com>
2024-04-05 16:03:47 -04:00
Henrik Lissner
a6a011fc9c
fix(mu4e): void-function mu4e-clear-caches error
mu4e-clear-caches was removed in djcb/mu@f73aad2b41, so users on
1.12.2 or so will see void-function errors until djcb/mu@770a2396de is
propagated to distro package managers, which likely won't happen
soon (esp for LTS distros).

Fix: #7703
Ref: djcb/mu@f73aad2b41
Ref: djcb/mu@770a2396de
Co-authored-by: dltacube <dltacube@users.noreply.github.com>
2024-04-05 14:30:59 -04:00
Henrik Lissner
82e0641bf7
refactor: remove redundant auto-mode-alist entries
Also removes the *.{hex,nes} entry because it's far too niche to be a
global default.
2024-04-05 12:06:18 -04:00
Henrik Lissner
fb96c8df5a
refactor(corfu): use hook symbols in add-hook! calls
A common challenge for beginners is distinguishing packages, modes, and
hooks, and since Doom's source code is meant to second as another layer
of documentation, I prefer to be explicit with hook symbols in
`add-hook!` calls (at least, for internal/module use).
2024-04-05 12:06:02 -04:00
Henrik Lissner
59f3568217
docs(julia): reformat & fix package/flag links 2024-04-05 12:05:56 -04:00
Henrik Lissner
881defae2d
fix(julia): duplicate popup rules
Having the same rule in two separate package configs means users must be
aware of both to modify either, which is avoidable complexity. i.e.

  (after! (:or julia-repl julia-snail)
    (set-popup-rule! "^\\*julia" ...))
2024-04-05 11:51:21 -04:00
Henrik Lissner
d205643cab
bump: :tools pdf
vedang/pdf-tools@93e7492451 -> vedang/pdf-tools@a1048bceb2

- Fixes `pdf-tools-install` for users on MacOS
  Sonoma (vedang/pdf-tools#269).

Ref: vedang/pdf-tools#269
2024-04-05 11:34:34 -04:00
Henrik Lissner
8d370d5608
refactor: doom--last-frame: remove unused symbol
Its last reference was removed in e889b2c. Not sure why this stuck
around for so long.

Ref: 0bb4d4dfcb
2024-04-04 23:46:07 -04:00
Henrik Lissner
0b93ecf42c
fix(lib): sudo-{find,this}-file: disable auto-save
auto-save can trigger processes that hang silently in the background,
making those buffers inoperable (hanging Emacs) for the rest of the
session, even if they are killed (tramp caches them), so I suppress them
solely for these temporary tramp buffers created by doom/sudo-find-file
and doom/sudo-this-file.
2024-04-04 23:46:04 -04:00
Henrik Lissner
4ca87463de
fix(web): make *.((s[ac]|le)ss|styl) siblings of *.css
I backported `find-sibling-file` in 198fe82 and included with it some
rudimentary `find-sibling-rules` rules for CSS and its various
preprocessor languages. The CSS rule made *.((s[ac]|le)ss|styl) files
the siblings of *.css files, but not vice versa, so users couldn't jump
back to the source file with `find-sibling-file`; a second rule is
necessary.

These may be combinable, considering `find-sibling-file` deletes the
current buffer's filename from the list of candidates...

Ref: 198fe82b6d
2024-04-04 18:00:06 -04:00
Henrik Lissner
19e27764ea
fix(cc): make *.c(c|pp) siblings of *.h(h|pp) files
I backported `find-sibling-file` in 198fe82 and included with it some
rudimentary `find-sibling-rules` rules for C++ and others. The C++ rule
made *.h(h|pp) files the siblings of *.c(c|pp) files, but not vice
versa, so users couldn't jump back to the source file with
`find-sibling-file`; a second rule is necessary.

These may be combinable, considering `find-sibling-file` deletes the
current buffer's filename from the list of candidates...

Fix: #7795
Ref: 198fe82b6d
2024-04-04 17:59:33 -04:00
Henrik Lissner
38a3adcf0e
fix(lib): find-subling-file-search: wrong-number-of-args error
I backported `find-sibling-file` from Emacs 29+ in 198fe82, but it
passes a third argument (REGEXP) to `file-expand-wildcards` which wasn't
introduced until 29, so users on 28 or earlier would see a
wrong-number-of-arguments error (see #7795).

Rather than backport the entire `file-expand-wildcards`
function (risking other edge cases), I've advised its usage in
`find-sibling-file-search` to behave as it would in 29+ with a non-nil
REGEXP argument.

Amend: 198fe82b6d
Fix: #7795
2024-04-04 13:00:12 -04:00
Henrik Lissner
d166d754d6
release(modules): 24.04.0-dev
Ref: 2b39e41368
2024-04-04 00:23:20 -04:00
Henrik Lissner
869ad10f34
refactor: startup optimizations
I revisit all our startup optimizations to see how they fair in Emacs
29.x and 30.x. Most of them still hold up. I've revised and updated most
of the accompanying comments to better explain them, given what I know
now compared to when I first wrote them.
2024-04-04 00:17:02 -04:00
Henrik Lissner
2debe85a8a
fix(cli): doom upgrade: void-variable num
Fix: #7791
2024-04-03 19:21:14 -04:00
Henrik Lissner
fdb9e6b499
fix(org): org-download: remove unneeded advice
They've since been upstreamed in one form or another over time.

Fix: #7790
Ref: abo-abo/org-download@69c57bd519
Ref: abo-abo/org-download@8bc54b6c1a
2024-04-03 17:55:37 -04:00