Commit Graph

19921 Commits

Author SHA1 Message Date
9b4f7ead88 fix(lib): doom-profiles-bootloadable-p: respect XDG_CONFIG_HOME 2025-01-09 14:32:51 -05:00
eccd72922b fix(cli): show "restart Emacs" advice only if Emacs is running
Also fixes the case where it'll appear, unconditionally on 'doom
install', where the advice doesn't make sense.
2025-01-09 14:31:26 -05:00
295cee7c78 refactor(cli): s/doom-cli-sync-info-file/doom-sync-info-file
To conform to new naming conventions.
2025-01-09 14:28:54 -05:00
2b4f762b1e release(modules): 25.02.0-dev
Ref: 2b39e41368
2025-01-09 01:07:20 -05:00
1fc41d719c fix: project-current-directory-override takes a directory
Not a `t`. [It overrides `default-directory`](6c1c3120b9/lisp/progmodes/project.el (L196-L198)).
2025-01-09 01:06:20 -05:00
cfb93b2a32 feat(terraform): add validate, fmt, & destroy keybinds 2025-01-09 01:04:42 -05:00
5aed9baa29 fix: auto-mode-alist: make /*rc rule low-priority
The broad /*rc rule, which is intended as a fallback, should be added to
the end of auto-mode-alist, not the beginning. Otherwise, for example,
it overrides the rule for .zshrc files.

Amend: cc18218889
2025-01-09 01:03:55 -05:00
-k
8a064ffaec fix(ansible): check for config file 2025-01-09 01:02:08 -05:00
-k
96f5fcc6a0 fix(ansible): check for metadata file
galaxy metadata file is now the main component of ansibe collections, this should help with #1139
2025-01-09 01:02:08 -05:00
fcf726726b fix(fold): fix recursive unfolding
point-min and point-max were used in some places in
+fold--open-rec-between instead of beg and end. This caused
+fold/open-rec to open all folds rather than only the one the curser is
on.
2025-01-09 00:59:58 -05:00
0ef4a3f9e1 tweak(vertico): remove consult-man remapping
consult-man is not a good drop-in replacement for man. consult-man
searches man pages and descriptions (like the apropos program).
The original man function lets the user pick a man page from the list of
man pages.
2025-01-09 00:59:12 -05:00
4f8a8e05e9 fix(doom-dashboard): vanishing right-hand mode-line
This is due to :align-to factoring in the margins into its alignment,
which is ever changing in the dashboard buffer (or anywhere
visual-fill-column is active).

Even though `mode-line-right-align-edge` was introduced in Emacs 30,
doom-modeline backports so, so its users should benefit from this as
well.

Close: #8114
Fix: #7466
Fix: seagle0128/doom-modeline#668
Fix: seagle0128/doom-modeline#672
Co-authored-by: unipro <unipro@users.noreply.github.com>
2025-01-09 00:52:01 -05:00
50de03321c bump: :ui
Alexander-Miller/treemacs@2fd7745f1b -> Alexander-Miller/treemacs@32bb3dd02d
dgutov/diff-hl@9e39dfc666 -> dgutov/diff-hl@65a5de16e2
doomemacs/themes@1cac71a4b2 -> doomemacs/themes@3c03f525d5
ema2159/centaur-tabs@46fdeb359d -> ema2159/centaur-tabs@63eb35cf42
jdtsmith/indent-bars@f860825f24 -> jdtsmith/indent-bars@47ae080d9b
minad/goggles@142d788e16 -> minad/goggles@d71e85ff8d
seagle0128/doom-modeline@e6ae2ecfea -> seagle0128/doom-modeline@9d6f0f9635
tarsius/hl-todo@82eba6b8f7 -> tarsius/hl-todo@fb692ec092
2025-01-09 00:29:57 -05:00
754e0f7982 bump: :tools
Silex/docker.el@6f8bba0d11 -> Silex/docker.el@813c00410b
cjohansson/emacs-ssh-deploy@95fb076c9b -> cjohansson/emacs-ssh-deploy@dc8882d180
editorconfig/editorconfig-emacs@c707d8d0f1 -> editorconfig/editorconfig-emacs@24f5b2b1cd
emacs-ansible/emacs-ansible@e171dacc12 -> emacs-ansible/emacs-ansible@03e285bb54
emacs-citar/citar-org-roam@82d47b5df1 -> emacs-citar/citar-org-roam@ff38add0aa
emacs-citar/citar@0f1786b7fe -> emacs-citar/citar@2826996799
emacs-lsp/dap-mode@605448b4fd -> emacs-lsp/dap-mode@ffb7957612
emacs-lsp/lsp-ivy@9ecf4dd9b1 -> emacs-lsp/lsp-ivy@6b2a625f08
emacs-lsp/lsp-mode@32628135ef -> emacs-lsp/lsp-mode@d28dd6b7e3
emacs-lsp/lsp-ui@072bb29152 -> emacs-lsp/lsp-ui@f0edfac7b3
emacs-straight/crdt@7f91efcc72 -> emacs-straight/crdt@24cf2fca33
emacs-straight/eglot@81eb273965 -> emacs-straight/eglot@d3e44d33b7
emacs-tree-sitter/elisp-tree-sitter@02fe7b86d9 -> emacs-tree-sitter/elisp-tree-sitter@fe98d0cae7
emacs-tree-sitter/tree-sitter-langs@465a64032d -> emacs-tree-sitter/tree-sitter-langs@4f951dbb53
gromnitsky/wordnut@feac531404 -> gromnitsky/wordnut@dffc75a455
hcl-emacs/terraform-mode@abfc10f5e3 -> hcl-emacs/terraform-mode@5bdd734a87
joostkremers/parsebib@489f690f43 -> joostkremers/parsebib@f0e57a3606
magit/forge@9f2efc3c03 -> magit/forge@96fe98120c
magit/magit@f2a6133443 -> magit/magit@8b6bb7c7e8
meain/evil-textobj-tree-sitter@5056ebc231 -> meain/evil-textobj-tree-sitter@bce236e5d2
mohkale/consult-eglot@c5f87d9244 -> mohkale/consult-eglot@9b490eb384
purcell/envrc@3c5a60dd91 -> purcell/envrc@60f5091538
tmalsburg/helm-bibtex@8b71b4f5ce -> tmalsburg/helm-bibtex@6064e8625b
tumashu/posframe@ac9f954ac4 -> tumashu/posframe@8165153682

- Adds new aarch64-unknown-linux-gnu binaries for tree-sitter (#8215).

Fix: #7967
Close: #8215
Co-authored-by: l2dy <l2dy@users.noreply.github.com>
2025-01-09 00:29:41 -05:00
6a7251bcfa docs(lsp): replace support table w/ links
Going forward, I'll leave it to each :lang module to document the LSP
clients they support/favor, and defer to lsp-mode/eglot's docs for their
support tables rather than maintain our own.

Close: #8131
2025-01-08 20:57:49 -05:00
a830b0e41a fix: doom-compat: end-of-file error
Fix: #8233
Fix: #8232
Amend: d6037a24d4
2025-01-08 20:04:47 -05:00
eaf26b83ad fix: file-missing doom-compat error
Fix: #8232
Amend: d6037a24d4
2025-01-08 19:55:47 -05:00
8f57069dd5 feat(workspaces): add count arg to switch-{left,right} commands 2025-01-08 19:46:08 -05:00
c1f5d6111f fix(notmuch): afew: process only new mail
The `-a` option will cause afew to process all the user's mail. If the
user has a lot of mail, this will take an extremely long time, every
time. The expected usage is to process only mail that has been tagged
'new' by notmuch (which requires the [correct
setup](https://github.com/afewmail/afew/blob/master/docs/quickstart.rst)).
2025-01-08 19:43:20 -05:00
cc98bdd14b fix(modeline): change macOS default EOL type to LF
It looks like CR was only the default line ending type for Mac in
Mac OS 9 and earlier, and it's now quite uncommon:
- https://retrocomputing.stackexchange.com/a/21906
- https://superuser.com/a/439443
2025-01-08 19:37:37 -05:00
ea098dcc1f fix(cc): replace opencl-mode with opencl-c-mode 2025-01-08 19:36:39 -05:00
9111d9b74c fix(emacs-lisp): only set mode-name in elisp buffers
And not emacs-lisp-mode derived modes.
2025-01-08 19:33:38 -05:00
d6037a24d4 refactor: load doom-compat.el from doom.el 2025-01-08 19:33:38 -05:00
d51fffeda5 fix(cli): appease byte-compiler sama 2025-01-08 19:33:38 -05:00
3f1a471127 refactor: replace point-at-{b,e}ol
These were deprecated in 29.1. We'll switch to pol-bol and pos-eol
if/when we drop 28.x support.
2025-01-08 19:33:38 -05:00
7de9723334 feat(cli): defcli-obsolete!: allow arbitrary obsolescence message
Ala `make-obsolete`.
2025-01-08 19:33:38 -05:00
254a8d38a7 feat(lib): prepend DOOMPROFILELOADPATH to doom-profile-load-path
Instead of replacing it.
2025-01-08 19:33:38 -05:00
ad3da32c5f refactor: comp: s/after!/with-eval-after-load
`after!`'s benefits aren't needed here, so use the simplest tool for the
job.
2025-01-08 19:33:37 -05:00
b02564535e fix: "Invalid key: nil" errors in some eval contexts
Breaking `gr` (+eval:region) et co in files outside of Doom's
source (like in packages).

Fix: #8224
2025-01-08 19:33:37 -05:00
881eea137f refactor: remove doom-bin-dir
Or rather, moves its into lib/config.el, which is the only place that
uses it.
2025-01-08 19:33:37 -05:00
a06287cc23 fix: only check for major emacs version changes
Bytecode is typically forwards-incompatible across major releases, not
minor ones.
2025-01-08 19:33:37 -05:00
68edae421f refactor: doom-profile-generate: remove defunct build step
Since 87a024e, the profile init files are no longer byte-compiled, so
this block of code -- responsible for deleting byte-compiled init files
-- is no longer needed.

Amend: 87a024ee90
2025-01-08 19:33:37 -05:00
0a715cc3f2 refactor: (if|when)-let -> (if|when)-let*
With the former macros' future in the air (and likely to be targeted in
future, potentially breaking changes), I'll deal with this now than have
it bite me later.

Ref: https://lists.gnu.org/archive/html/emacs-devel/2024-10/msg00637.html
2025-01-08 19:33:37 -05:00
e3bc367ba2 nit: minor comment revision 2025-01-08 19:33:37 -05:00
8056650364 perf: gcmh-high-cons-threshold = 64mb
Up from a conservative 16mb. This is the temporary GC threshold while
the user is active, and should be set to a value that makes GC less
likely.
2025-01-08 19:33:37 -05:00
2f8b49ea7a fix: reset gc-cons-threshold if not already 2025-01-08 19:33:37 -05:00
ad4eee6f66 refactor: remove redundant backport
Was moved to doom-compat.el in 201321c.

Amend: 201321c929
2025-01-08 19:33:36 -05:00
cc18218889 refactor: nconc -> add-to-list
The doom-*.el files will soon be moved to separate core modules (whose
load order the user can dictate); when this happens, this block could be
re-evaluated anytime the user calls `doom/reload` or otherwise reloads
the active profile.
2025-01-08 19:33:36 -05:00
50b9afbb2d refactor: swap load-theme advice for enable-theme-functions
Instead of advising load-theme, which was more opinionated, and broke in
instances where users (relying on `custom-enabled-themes`s setter) or
packages (like auto-dark) were enabling themes with `enable-theme`
instead of `load-theme`.

This also adds support for enabling multiple themes with `doom-theme`.

Fix: #8119
2025-01-08 19:33:33 -05:00
ecd079f6da feat(lib): backport {enable,disable}-theme-functions
Backported so I don't have to write compatibility boilerplate for <29.
2024-12-11 15:18:00 -05:00
ba1dca322f revert: tweak(sh): auto-mode-alist: generalize /*rc rule
Cast too wide a net; there are likely too many *rc files that shouldn't
be treated as shell scripts.

Besides, there's already a fallback *rc rule for conf-mode in
lisp/doom-editor.el.

Revert: bdc35faff2
2024-12-05 16:39:23 -05:00
440b8be3aa fix(emacs-lisp): false positives from syntax checkers
For example, proper-list-p errors from uses of `use-package`, occuring
in Doom source files (or elisp in $DOOMDIR). This happened because
Doom's bootstrap process changed in 8cafbe4 without adapting this
module's elisp checker.

Amend: 8cafbe4408
2024-12-05 16:39:23 -05:00
c788769469 refactor: move GPG defaults to :config default
Assuming GPG is present and set up by default can be surprising for
beginners, so this commit makes GPG integration opt-in, behind a new
+gnupg flag in the :config default module. There'll be more added to
this later.
2024-12-05 16:38:26 -05:00
ea616ebd5b fix(lib): cmd!: remove superfluous macro declarations
These don't apply to macros anyway.
2024-12-05 16:25:54 -05:00
82cfe98ccc fix(lib): doom-copy: copy first level of records
Regardless of DEEP?, a record's fields should be copied one level deep
at least, to ensure shallow changes to shallow copies don't affect the
original.

Amend: 169540ad3b
2024-12-05 16:25:54 -05:00
637f70f53b fix(emacs-lisp): duplicate entries in flycheck-disabled-checkers 2024-12-05 16:25:54 -05:00
4418c80c95 fix(syntax): disable checker in non-project elisp files
CVE-2024-53920 describes an arbitrary code execution vulnerability
during macro expansion, which occurs during byte-compilation or when
evaluating macro calls in uncompiled elisp files.

Flycheck and flymake use byte-compilation to lint elisp files, exposing
users to this vulnerability. This commit attempts to protect users from
this by disabling both in elisp files that aren't part of a
project (because, presumably, untrusted elisp won't live in a project).
What a "project" is depends on your projectile settings, but generally
means a file that lives in a version controlled directory and/or a
directory containing a recognizable project root marker (like a
packages.json or Cargo.toml file).

This heuristic won't catch cases of untrusted elisp living within
legitimate projects, or the case where the user's $HOME is a project and
*all* their elisp files live under it, but there are already too many
ways to shoot yourself in the foot with Emacs to begin with, and
disabling fly(check|make) altogether stands a higher chance of making
people blindly re-enable them to "work around" the fact it's not
"working as expected", bringing them back to square one.

Anyhow, long story short, don't open elisp files you don't trust in
Emacs, mkay?

Ref: CVE-2024-53920
2024-12-05 16:25:54 -05:00
ec645b8381 fix(lib): 'unknown specializer record' error on Emacs <30
Seems the 'record' specializer wasn't introduced until Emacs 30, so
users on earlier versions will see this error on startup.

Fix: #8186
2024-12-01 15:48:52 -05:00
8072d62b4f refactor(cli): remove redundant setq
Already set in early-init.el (since c05e615).

Amend: c05e61536e
2024-12-01 11:49:39 -05:00
fca69c9849 release(modules): 25.01.0-dev
Ref: 2b39e41368
2024-12-01 11:31:40 -05:00