Looks like the doom-module one was partially renamed to follow naming
conventions, and that didn’t propagate to the corresponding doom-package
function.
resetting font-ligatures means passing `nil` as the second argument
of `(set-font-ligatures!)`
Using `ligatures-ignored-major-modes` to cancel ligatures is too
brittle, because "resetting ligatures for `prog-mode`" would have bad
semantics with all its derived modes. The user probably just wants to
remove the default ligatures and then configure `foo-mode`, but pushing
`prog-mode` to `ignored-major-modes` might just disable ligatures across
all modes _derived from_ `prog-mode`.
This commit changes things in 2 ways:
- resetting ligatures now directly manipulates ligature.el internal
state (the `ligature-composition-table` alist)
- in order to work, Doom must maintain an extra invariant on that alist,
multi-modes keys (`'(foo-mode bar-mode)`), cannot be used, only single
modes.
That mostly means that users should _not_ use
`ligature-set-ligatures` themselves in private config, but instead
always rely on `set-font-ligatures!` which does splicing behind
curtains. Failing to do so would be mostly harmless though (it would
just make "resetting ligatures" only partially remove set ligatures).
Fix: #7433
magit/magit@97a95f7007 -> magit/magit@4881835572
The pinned version of `magit` in `:tools magit` needs be the same
as that of `git-commit` in `:emacs vc`.
`straight.el` prepares the repo only once, and if `git-commit` is
processed first, its pinned version wins out and the more recent
pinning of `magit` is ignored.
As noted in #7363, processing order may be non-deterministic, so the
inconsistent pinning may not be apparent on every system.
Fix: #7363
Amend: #7277
Amend: 7c63b353d2
Fixes an upstream issue in pcomplete where completion after quotes fails
with the following message:
Completion function pcomplete-completions-at-point uses a deprecated
calling convention
This issue is fixed in 29+, but I backport this fix for 27-28
users (credit for the fix goes minad/cape, which is where I adapted this
fix from).
Fix: #3817
Co-authored-by: minad <minad@users.noreply.github.com>
Previously, loading the `ocaml` module and opening a file in Tuareg mode
would result in every buffer having its formatter set to `ocp-indent`.
This now restricts the formatter override to the current buffer.
As `+emacs-lisp-non-package-mode` handles both flymake and flycheck,
making two internal modes that then `+emacs-lisp-non-package-mode`
calls, makes the code cleaner
A package's autoloads aren't expunged from Doom's profile init file,
even after that package has been disabled. If a package's autoloads has
side-effects, this can lead to void references/function errors. One such
case is with php-extras, which will try to call
`php-extras-company-setup` after company loads from its autoloads, but
this function naturally won't be loaded if the package is disabled.
This change fixes this, fully expunging orphaned autoloads on `doom
sync`.
These modules tend to conflict if more than one of them are enabled at
once. More systematic compatibility tests are in the works, but for now
this will do.
BREAKING CHANGE: This commit replaces all-the-icons with nerd-fonts. Any
all-the-icons-* function calls or variable references in your private
config will break and should be replaced with their nerd-icons-*
equivalent. That said, Doom will continue to install all-the-icons for
a while, so feel free to load it if you don't want to fully commit to
the change yet.
This change is happening because nerd-icon has wider support for GUI and
TUI Emacs; has a larger, more consistent selection of symbols; plus unicode
coverage.
Fix: #7368Close: #6675Close: #7364