Commit Graph

763 Commits

Author SHA1 Message Date
3c8240dfaa fix(cli): error if $EMACSDIR/.local/etc/eln missing 2025-05-14 23:43:58 +02:00
510347977e docs(lib): revise various docstrings 2025-05-09 01:14:16 -04:00
e6ee332573 fix(lib): autoload doom/describe-char
Amend: 303dd28db8
2025-05-05 02:45:45 -04:00
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
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
9c2b2473be release(modules): 25.06.0-dev
Ref: 2b39e41368
2025-05-01 15:03:06 -04:00
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
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
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
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
d8b36d8b17 fix: use-dialog-box only on android
Accidentally negated the check in 6a44a2e.

Amend: 6a44a2ea80
2025-04-15 19:03:31 -04:00
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
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
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
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
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
976576853e nit(lib): doom-compat: make version comments consistent 2025-04-15 00:39:10 -04:00
a13719af45 refactor(lib): backport static-{if,when,unless}
And deprecate our eval-{if,when}! macros.
2025-04-15 00:39:10 -04:00
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
6a44a2ea80 tweak: use GUI dialogs on android
It's better UX on touch screens, at least.
2025-04-14 15:01:03 -04:00
cbdce0dc71 refactor(cli): doctor: extract symlink check to function 2025-04-11 12:17:48 -04:00
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
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
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
5aca456258 nit: recentf: reformat & revise comments 2025-04-04 05:11:08 -04:00
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
5fae69b7bf docs: docstring & comment revisions
For `undefadvice!`, `doom-load-theme-hook`, and the `ws-butler` package.
2025-04-02 19:04:11 -04:00
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
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
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
6a1ab50e02 release(modules): 25.05.0-dev
Ref: 2b39e41368
2025-04-01 03:44:01 -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
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
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
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
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
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
1d18ac4e41 bump: :doom
Fuco1/smartparens@c7519a1b69 -> Fuco1/smartparens@b0d935c118
emacs-compat/compat@9a234d0d28 -> emacs-compat/compat@c89bba6524
emacs-straight/project@2a3fe4c7db -> emacs-straight/project@d193442fca
jscheid/dtrt-indent@a8aa356684 -> jscheid/dtrt-indent@22498ca24a
lewang/ws-butler@e3a38d93e0 -> lewang/ws-butler@d3927f6131
radian-software/straight.el@33fb469506 -> radian-software/straight.el@483b205efb
rainstormstudio/nerd-icons.el@cc6c468303 -> rainstormstudio/nerd-icons.el@6612cc6537
2025-03-23 21:28:08 -04:00
32368d0e94 bump: projectile
bbatsov/projectile@0a15d81be9 -> bbatsov/projectile@55db082cdf

Fix: #8288
2025-03-21 22:29:13 -04:00
466490c252 release(modules): 25.04.0-dev
Ref: 2b39e41368
2025-03-15 00:39:36 -04:00
49d8cbd8bc fix: use mirror for nongnu-elpa
savannah goes down a lot, causing fatal errors during package management.

Fix: #7171
Ref: #8271
2025-03-15 00:37:59 -04:00
71d9ceead4 fix: ensure empty DEBUG envvar is ignored
Also ensures the envvar is removed if it's empty, and doesn't permeate
an empty DEBUG when executing doom/reload.

Amend: 8c7711920e
Close: #8310
Co-authored-by: AjaiKN <AjaiKN@users.noreply.github.com>
2025-03-13 01:07:52 -04:00
8846d15181 perf(lib): setq-hook!: don't load pp at startup 2025-03-04 14:13:38 -05:00
56ce6cc284 fix(lib): modulep!: returning t for disabled modules
If passed negated flags.

Fix: #8289
2025-02-25 22:06:08 -05:00
6e6eaa1189 docs: bump latest supported Emacs version to 30.1
30.1 was released yesterday.

Fix: #8283
2025-02-24 23:40:00 -05:00
b55d988491 release(modules): 25.03.0-dev
Ref: 2b39e41368
2025-02-21 18:35:36 -05:00