Commit graph

18750 commits

Author SHA1 Message Date
Liam Hupfer
84086e532d
refactor(biblio): tidy use-package usage
:after can be misleading, so avoid it. :no-require is for working around
byte compilation issues; deferral is sufficient here.

Ref: https://github.com/jwiegley/use-package/issues/829
2024-05-21 17:16:49 +02:00
Liam Hupfer
d437f34e9f
perf(biblio): do not load oc-natbib by default
natbib isn’t part of the default `org-cite-export-processors', so leave
it to users to load if they enable it.
2024-05-21 17:16:49 +02:00
Liam Hupfer
0ad06e3274
fix(biblio): avoid 'oc-csl dependency cycle
Relevant portion of the dependency graph:

'oc-csl → 'citeproc → 'citeproc-itemgetters → 'org → 'org-keys → 'oc

The :after linked 'oc to 'oc-csl so 'org-keys could load 'org.
`+org-init-keybinds-h' could then execute before the body of 'org-keys,
so Org default bindings could clobber Doom bindings.

If the top-level 'org started the load sequence, `org-load-hook'
functions would execute last and key bindings would be correct, but
Doom’s deferred incremental loading of Org could lead to this scenario:

 1. deferred incremental loader: (require 'org-src)
 2. org-src.el: (require 'org-keys)
 3. org-keys.el: (require 'oc)
 4. oc.el: (provide 'oc): (require 'oc-csl) [via the :after this patch
    removes]
 5. oc-csl.el: (require 'citeproc)
 6. citeproc.el: (require 'citeproc-itemgetters)
 7. citeproc-itemgetters.el: (require 'org)
 8. org.el: (require 'org-keys)
 9. 'org-keys from step 8 finishes loading. Keys are bound.
10. 'org finishes loading. `org-load-hook' functions are run. Doom’s
    keys are bound.
11. 'oc-csl finishes loading
12. 'org-keys from step 3 finishes loading. Keys are bound again,
    overwriting any keys Doom bound in step 10.
13. 'org-src finishes loading

At some point, the deferred incremental loader will (require 'org), but
it is a feature as of step 10, so it does not load and its hooks do not
run again.
2024-05-21 17:16:49 +02:00
Henrik Lissner
4c017f9326
bump: :lang rust
rust-lang/rust-mode@f74dd1cd87 -> rust-lang/rust-mode@d8a09f218e

There was a mishap with the last bump (2e12383), and rust-mode was
bumped to the wrong commit.

Amend: 2e123839d123
2024-05-21 17:16:49 +02:00
Henrik Lissner
be661009bc
bump: code-review
doomelpa/code-review@2670a4beb6 -> doomelpa/code-review@e4c34fa284

Ref: doomelpa/code-review@e4c34fa284
2024-05-21 17:16:49 +02:00
Henrik Lissner
b4374278a3
fix: define doom-font-error
Was meant to be in 98d753e.

Amend: 98d753e1036f
2024-05-21 17:16:48 +02:00
Henrik Lissner
038f6ac00d
bump: :tools lsp
emacs-lsp/lsp-mode@fb88cc6b8b -> emacs-lsp/lsp-mode@a5f5ca9a8a
emacs-straight/eglot@cd4e45b700 -> emacs-straight/eglot@24f2bf7b28
flycheck/flycheck-eglot@9ff8d0068b -> flycheck/flycheck-eglot@114e1315aa
2024-05-21 17:16:48 +02:00
Henrik Lissner
63d888f55b
bump: :tools magit
alphapapa/magit-todos@debb77b358 -> alphapapa/magit-todos@1e9acc0ba6
magit/forge@3fc6c362b0 -> magit/forge@03b48be2a1
magit/magit@b68e0a3c33 -> magit/magit@65ecb9c5fc
2024-05-21 17:16:48 +02:00
Henrik Lissner
6d5c8fc5e5
bump: :lang rust
rust-lang/rust-mode@f74dd1cd87 -> rust-lang/rust-mode@d8a09f218e

- Resolves the lingering autoload issue caused by
  rust-lang/rust-mode@35dc136, and first introduced in
  rust-lang/rust-mode@08cea61.

Ref: rust-lang/rust-mode@35dc13632b
Ref: rust-lang/rust-mode@08cea61390
Ref: rust-lang/rust-mode#524
Fix: #7698
2024-05-21 17:16:48 +02:00
Henrik Lissner
46ad9b0d6f
fix(org): don't change tab-width in org-mode
Recently, org-mode made a non-standard tab-width an error state.
Unfortunately, it's way too easy for users to accidentally change
it (e.g. with editorconfig, indiscriminate setter hooks, or other
packages), and since there is zero reason to ever want a non-standard
tab-width in org-mode, I not only exclude it from dtrt-indent as a
global default (i.e. not only as part of :lang org), but I add a late
org-mode-hook hook to reset tab-width, just in case.
2024-05-21 17:16:48 +02:00
Henrik Lissner
64594c36be
bump: spell-fu
https://codeberg.org/ideasman42/emacs-spell-fu@e4031935803c -> emacsmirror/spell-fu@e403193580

codeberg has uptime issues. Where possible, we should prefer Github
sources.

Ref: #7013
2024-05-21 17:16:48 +02:00
Henrik Lissner
19b18b89f9
bump: visual-fill-column
https://codeberg.org/joostkremers/visual-fill-column@db7c7c236555 -> emacsmirror/visual-fill-column@5e74afe39d

codeberg has uptime issues. Where possible, we should prefer Github
sources.

Fix: #7013
2024-05-21 17:16:48 +02:00
Henrik Lissner
4fb00f920e
fix(everywhere): commandp error from C-c C-c
A temporary fix for an issue introduced upstream.

Ref: tecosaur/emacs-everywhere#75
2024-05-21 17:16:47 +02:00
Henrik Lissner
feeaa00a36
bump: :lang rust
rust-lang/rust-mode@HEAD -> rust-lang/rust-mode@f74dd1cd87

- rust-lang/rust-mode@08cea61 introduced some clumsy autoloads that will
  cause treesit and rust-ts-mode (and more in later commits) to be
  eagerly loaded at startup. This causes other problems, but the primary
  issue is that it causes errors at startup or when installing
  rust-mode (#7698), which this bump addresses. Eager-loading will have
  to be addressed upstream.

Ref: rust-lang/rust-mode@08cea61390
Fix: #7698
2024-05-21 17:16:47 +02:00
Henrik Lissner
344881cbf5
fix: blank frame on can't-find-font error during startup
Due to our inhibit-redisplay hack, a missing font could lead to a blank
Emacs after startup. This change fixes that so that not only is an error
emitted when Emacs can't find your font, but the error will be a little
more readable.

This is a stopgap solution until I finish a better one I'm preparing for
v3.

Fix: #7055
2024-05-21 17:16:47 +02:00
Henrik Lissner
a103cb3a2d
fix(doom): remove neotree icon config
Since we've remove all-the-icons, doom-themes-neotree-config will no
longer work properly, so I disable it for now (not a complete solution
though; we still need proper nerd-icons support for neotree).

Fix: #7634
Ref: #7664
2024-05-21 17:16:47 +02:00
Henrik Lissner
9fce355e8e
fix(org): list checkbox toggle on RET
A subtle change in the way org-toggle-checkbox handles its prefix
argument changed how RET (+org/dwim-at-point) handled list
checkboxes (incorrectlying swapping [ ] with [-], but not back, unless
the cursor was directly on top of the checkbox).
2024-05-21 17:16:47 +02:00
Henrik Lissner
a8496b258a
fix(default): +evil module flag typo 2024-05-21 17:16:47 +02:00
Henrik Lissner
3188d1766b
docs(format): +format-in-org-src-blocks-fn: add docstring 2024-05-21 17:16:46 +02:00
Henrik Lissner
069c235da2
fix(format): +format-in-org-src-blocks-fn
Didn't return non-nil, so whether or not it worked, Apheleia would
attempt to (ineffectually) format the org buffer afterwards.

Also remove unneeded beg/end checks (the functions always receive a
value).
2024-05-21 17:16:46 +02:00
Henrik Lissner
b1b75f551c
dev: update license year
Hey! The world didn't end. How about that?

This year though...

Ref: 2df6a2e28a
2024-05-21 17:16:46 +02:00
TEC
bbf8934fd3
tweak(cli): use fancier string-dist suggestion alg
To improve the quality of "did you mean?"-style suggestions, shift from
using Ratcliff-Obershelp similarity to the Restricted
Damerau-Levenshtein string distance (also known as Optimal String
Alignment).

This code is a translation of a Julia implementation that I wrote a
while ago:
https://github.com/tecosaur/DataToolkitBase.jl/blob/v0.4.1/src/model/utils.jl#L40-L107

See https://en.wikipedia.org/wiki/Damerau%E2%80%93Levenshtein_distance#Optimal_string_alignment_distance
and https://en.wikipedia.org/wiki/Gestalt_pattern_matching for more
information on these algorithms.
2024-05-21 17:16:46 +02:00
Henrik Lissner
1b906f6130
bump: :lang dart
emacs-lsp/lsp-dart@e7ee6afc2e -> emacs-lsp/lsp-dart@f51c80f545

Includes a fix for the lsp-dart daemon failing to
start (emacs-lsp/lsp-dart#209).

Ref: emacs-lsp/lsp-dart#209
Close: #7677
Co-authored-by: abdulhaq-e <abdulhaq-e@users.noreply.github.com>
2024-05-21 17:16:46 +02:00
Henrik Lissner
773bf46f5e
refactor(format): improve lsp/eglot formatter dispatchers 2024-05-21 17:16:46 +02:00
Henrik Lissner
02ce4ee2b9
feat(format): add eglot support
Fix: #7673
2024-05-21 17:16:46 +02:00
Henrik Lissner
4426d10692
refactor(format): introduce +format-functions 2024-05-21 17:16:45 +02:00
Kirill A. Korinsky
48c602c605
tweak(wanderlust): don't show DomainKey-Signature 2024-05-21 17:16:45 +02:00
Kirill A. Korinsky
68e74cb9fc
bump: :email wanderlust
wanderlust/wanderlust@9fd2c65e8d -> wanderlust/wanderlust@c15e8ece4f
2024-05-21 17:16:45 +02:00
Henrik Lissner
3ccc70adc6
fix(vertico): use remote fd in tramp buffers 2024-05-21 17:16:45 +02:00
Henrik Lissner
9a56a6feee
fix: exclude indent detection in derived modes
Changes what major modes we exclude from dtrt-indent's auto-detection.
Any mode in doom-detect-indentation-excluded-modes, plus derived modes,
will be excluded instead of only the parent modes.

This indirectly fixes an issue where org-mode derivatives (like
org-journal-mode) have their tab-width changed (#7670), causing the
`org-current-text-column` macro to throw the following error:

  Tab width in Org files must be 8, not N.  Please adjust your
  `tab-width' settings for Org mode.

I opted for this solution instead rather than adding all possibly
derivatives to `doom-detect-indentation-excluded-modes`.

Fix: #7670
Ref: 38dd882685/lisp/org-macs.el (L1154)
2024-05-21 17:16:45 +02:00
Henrik Lissner
ab85fd4322
fix(org): initialize eldoc in org-mode buffers
A recent change upstream (see emacsmirror/org-contrib@6e208c87bf)
removed the autoload for adding org-eldoc-load to org-mode-hook, so we
have to add the hook ourselves (the function is still autoloaded,
fortunately).

Also moves org-eldoc config into its own use-package! block.

Fix: #7633
Ref: emacsmirror/org-contrib@6e208c87bf
2024-05-21 17:16:45 +02:00
Tim Ruffing
b00a01ea06
tweak(org): honor default command when archiving
Change the binding for archiving to `org-archive-subtree-default`, which
is the recommend "catch-all" command in the org manual. The user can
specify the actual command in `org-archive-default-command`. The default
for this variable is `org-archive-subtree`, which we previously used for
the binding, so this commit changes behavior only for users who have set
`org-archive-default-command` explicitly.
2024-05-21 17:16:45 +02:00
Mathew
e3deab3e21
fix(lib): doom/sudo-find-file: expand given path
It's possible for the user to type shell variables (something like
`$MYVAR/dir/filename`) as part of the filepath, so we need to call
`expand-file-name`.
2024-05-21 17:16:44 +02:00
Colin Woodbury
f6e4dce1be
docs(fortran): show how to customize fprettier 2024-05-21 17:16:44 +02:00
Benjamin Schwehn
97cf1b5d69
fix(file-templates): unknown directive error from __license-lgpl3
The misspelling produces a 'Ignoring unknown directive "contribuer"'
error, which was introduced in joaotavora/yasnippet@25f5d88.

Ref: joaotavora/yasnippet@25f5d8808a
2024-05-21 17:16:44 +02:00
Henrik Lissner
89d8170eac
fix(lib): doom-project-find-file: remove +vertico/consult-fd-or-find
When +vertico/find-file-in was replaced in 60e22fd with
+vertico/consult-fd-or-find, it changed a key behavior for
doom-project-find-file for Vertico users: instead of displaying an
initial list of all files under the target directory, it would display
nothing until the user entered in N * `consult-async-min-input`
characters, causing confusion (see linked comment).

Since Vertico integration modifies project-find-file-in's interface
appropriately, I leave it to that command instead.

Ref: https://github.com/doomemacs/doomemacs/issues/7312#issuecomment-1933404444
Amend: 60e22fd2eb61
2024-05-21 17:16:44 +02:00
Henrik Lissner
0c4c63200c
fix(lib): doom-project-find-file: cl-no-applicable-method project-root
Fix: #7312
2024-05-21 17:16:44 +02:00
Henrik Lissner
3074e4648d
nit(popup): mention post-command-select-window for 30.x+
Ref: emacs-mirror/emacs@6f75d0f36d
2024-05-21 17:16:44 +02:00
Henrik Lissner
f748b9778a
fix(cli): ensure $EMACSDIR/lisp/cli is in $DOOMPATH
If $DOOMPATH is malformed or set to a value that does not contain a
valid path to Doom's CLI library in $EMACSDIR/lisp/cli (see #7608),
bin/doom no longer functions, emitting "a subcommand is required"
errors.

This change ensures that the CLI library is always the last (implicit)
element in doom-cli-load-path, and ensures $DOOMPATH is never written to
the user's envvar file (in case they try to use bin/doom from inside a
terminal within a Doom Emacs session), which should ensure users -- at
least -- never find themselves stranded without the Doom CLI.

Fix: #7608
Co-authored-by: bpizzi <bpizzi@users.noreply.github.com>
2024-05-21 17:16:43 +02:00
Henrik Lissner
48ceefef15
bump: :tools magit :emacs vc
magit/forge@ba35ffc9ba -> magit/forge@3fc6c362b0
magit/git-modes@4a61a9b86d -> magit/git-modes@3cc94974c0
magit/magit@54d37dc14c -> magit/magit@b68e0a3c33

Ref: magit/forge@3fc6c362b0
2024-05-21 17:16:43 +02:00
Henrik Lissner
833dd0c067
fix(emacs-lisp): 'defining as dynamic an already lexical var' error
Fix: #7653
Amend: 3bea4f66a844
2024-05-21 17:16:43 +02:00
Henrik Lissner
d3d857f9fa
nit: early-init: revise comments 2024-05-21 17:16:43 +02:00
Henrik Lissner
1ef759989a
fix: early-init: expand string-remove-suffix
Some builds of Emacs inexplicably fail to autoload subr-x at startup,
meaning functions like string-remove-suffix are not guaranteed to be
available. Rather than eagerly load the library too early, I opt for the
safer option: to expand the single call into its lower level components.

Ref: #7608
2024-05-21 17:16:43 +02:00
Zero King
db039b4d1c
fix: void-variable doom-modules-load-path error
Amend: 343c3a82b06a
2024-05-21 17:16:43 +02:00
Henrik Lissner
adfa438487
fix: --profile switch in noninteractive sessions
This fixes command-line-args getting prematurely cleared out just before
being scanned for a --profile switch.

Fix: #7457
Co-authored-by: hpfr <hpfr@users.noreply.github.com>
2024-05-21 17:16:43 +02:00
Henrik Lissner
9b8c8449c6
refactor: remove all-the-icons
I began phasing out all-the-icons in 9787022. Now that Doom has
no (first order) dependencies that depend on it (and enough time has
passed), it's time to remove it.

Ref: 9787022b839d
2024-05-21 17:16:42 +02:00
Colin Woodbury
6d5d03aa70
feat(common-lisp): introduce sly-overlay 2024-05-21 17:16:42 +02:00
Henrik Lissner
bffa3f2694
bump: :core
bbatsov/projectile@9446ea92d2 -> bbatsov/projectile@e45f0b0cc4
domtronn/all-the-icons.el@be9d5dcda9 -> domtronn/all-the-icons.el@ee41438493
emacs-compat/compat@ea8de2ea18 -> emacs-compat/compat@eb8fbfa558
emacs-straight/project@f64bcf065c -> emacs-straight/project@10a6b691e3
jscheid/dtrt-indent@e0630f74f9 -> jscheid/dtrt-indent@0230ec5032
noctuid/general.el@833dea2c4a -> noctuid/general.el@bda777cd30
rainstormstudio/nerd-icons.el@e109d09b95 -> rainstormstudio/nerd-icons.el@c6a4acf194
2024-05-21 17:16:42 +02:00
Kirill A. Korinsky
e23aa6b55d
tweak(wanderlust): sane forward tag 2024-05-21 17:16:42 +02:00
Kirill A. Korinsky
fe3d77570d
tweak(wanderlust): add +xface flag 2024-05-21 17:16:42 +02:00