- Fixes the issue that 45873615 was trying to address with frameworks
like ivy, helm and hydra (where they would manipulate the wrong
windows),
- Fixes an issue where notmuch couldn't find its buffers ("no buffer
named *notmuch-X*" errors),
The intention for this feature was to ensure the theme always looks as
expected even if you were to open a new frame on a different display
device (e.g. open a GUI frame, start the server, then open a tty frame
from it).
It turned out to be buggier than anticipated. The underlying issue is
that solaire-mode is fundamentally incompatible with tty Emacs.
Terminals uses will need to disable it, as there's no good way to
predict what kind of frames a user will open.
TL;DR Avoid opening a TTY frame from a GUI session. If you must, and you
see odd colors, disable solaire-mode.
To cover switch-to-{next,prev}-buffer commands, which are used in quite
a few places, but don't implicitly trigger switch-buffer hooks.
Also removes switch-{window,buffer,frame} logging. Adds too much noise,
which isn't very helpful.
Also fixes VC state not being refreshed when switching to stale buffers
in certain ways.
:feature was a "catch-all" category. Many of its modules fit better in
other categories, so they've been moved:
- feature/debugger -> tools/debugger
- feature/evil -> editor/evil
- feature/eval -> tools/eval
- feature/lookup -> tools/lookup
- feature/snippets -> editor/snippets
- feature/file-templates -> editor/file-templates
- feature/workspaces -> ui/workspaces
More potential changes in the future:
- A new :term category for terminal emulation modules (eshell, term and
vterm).
- A new :os category for modules dedicated to os-specific functionality.
The :tools macos module would fit here, but so would modules for nixos
and arch.
- A new :services category for web-service integration, like wakatime,
twitter, elfeed, gist and pastebin services.
This will later be used for doom/describe-packages to list all locations
where a package is being configured (along with def-package! and after!
blocks).
+ Don't use set-frame-font. Causes issues for daemon users and is
slower.
+ Revice init function docstrings
+ Load fonts a little earlier than themes
May resolve an issue where fonts in daemon Emacs are too small on
startup.
Addresses #1223
+ Add doom-switch-frame-hook
+ Replace doom-{enter,exit}-{buffer,window}-hook with
doom-switch-{buffer,window}-hook
+ New switch-buffer hooks run on buffer-list-update-hook rather than
in select-window advice.
+ Blank our buffer-list-update-hook in some places to reduce how many
times it gets triggered.
- doom-post-init-hook was renamed doom-init-modules-hook
- doom-init-hook was renamed doom-before-init-modules-hook
- doom-init-modules-hook now runs before the user's config.el is run
- Moved doom-init-ui-hook to run later (on window-setup-hook rather than
emacs-startup-hook).
Yield a modest improvement in startup times.
- Code reduction and refactor across the board (cull unneeded minor
advise, hooks and hacks or update them)
- Revise outdated comments and docstrings
- Reorganize core autoload libraries
- Remove large file check (Emacs already has a built-in one, which we
augment to be even more performant when it does kick in)
- helpful.el can now be disabled completely through package!
The prompt in the minibuffer is read-only. You are able to move the
cursor into it before this fix.
This also more effectively silences echo-area output when deleting text
in the minibuffer. No more "Text is read-only" blocking what you're
typing.
The purpose of this is to highlight indentation characters that betray
your indent-tabs-mode setting. i.e. If you're using tab indentation,
highlight space indentation. If you're using spaces, highlight tab
characters.
Before general.el was introduced to Doom, commands were bound to keys
whether or not their containing modules were enabled. This was out of
laziness and readability. I intend to change this, as such it is no
longer necessary to hide unavailable keybinds from which-key.