doomemacs/modules/ui
Gerry Agbobada a60d8b3da4 fix(ligatures): proper resetting of font-ligatures
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
2023-09-19 23:32:07 +02:00
..
deft docs(*): replace all-the-icons with nerd-icons 2023-09-16 20:19:11 +02:00
doom docs(*): replace all-the-icons with nerd-icons 2023-09-16 20:19:11 +02:00
doom-dashboard docs(*): replace all-the-icons with nerd-icons 2023-09-16 20:19:11 +02:00
doom-quit docs(*): replace all-the-icons with nerd-icons 2023-09-16 20:19:11 +02:00
emoji docs(*): replace all-the-icons with nerd-icons 2023-09-16 20:19:11 +02:00
hl-todo docs(*): replace all-the-icons with nerd-icons 2023-09-16 20:19:11 +02:00
hydra docs(*): replace all-the-icons with nerd-icons 2023-09-16 20:19:11 +02:00
indent-guides docs(*): replace all-the-icons with nerd-icons 2023-09-16 20:19:11 +02:00
ligatures fix(ligatures): proper resetting of font-ligatures 2023-09-19 23:32:07 +02:00
minimap docs(*): replace all-the-icons with nerd-icons 2023-09-16 20:19:11 +02:00
modeline docs(*): replace all-the-icons with nerd-icons 2023-09-16 20:19:11 +02:00
nav-flash docs(*): replace all-the-icons with nerd-icons 2023-09-16 20:19:11 +02:00
neotree docs(*): replace all-the-icons with nerd-icons 2023-09-16 20:19:11 +02:00
ophints docs(*): replace all-the-icons with nerd-icons 2023-09-16 20:19:11 +02:00
popup docs(*): replace all-the-icons with nerd-icons 2023-09-16 20:19:11 +02:00
tabs docs(*): replace all-the-icons with nerd-icons 2023-09-16 20:19:11 +02:00
treemacs docs(evil,latex,vterm,treemacs): correct notices 2023-09-17 03:27:49 +02:00
unicode docs(*): replace all-the-icons with nerd-icons 2023-09-16 20:19:11 +02:00
vc-gutter docs(*): replace all-the-icons with nerd-icons 2023-09-16 20:19:11 +02:00
vi-tilde-fringe docs(*): replace all-the-icons with nerd-icons 2023-09-16 20:19:11 +02:00
window-select docs(*): replace all-the-icons with nerd-icons 2023-09-16 20:19:11 +02:00
workspaces docs(*): replace all-the-icons with nerd-icons 2023-09-16 20:19:11 +02:00
zen docs(*): replace all-the-icons with nerd-icons 2023-09-16 20:19:11 +02:00
README.org revert: fix(docs): set mode in file-local vars 2022-08-07 19:08:07 +02:00

:ui

Description

For modules concerned with changing Emacs' appearance or providing interfaces for its features, like sidebars, tabs, or fonts.

Frequently asked questions

This category has no FAQs yet. Ask one?