Alexander-Miller/treemacs#212 introduced treemacs-persist-file, which we
now use instead of tools/treemacs' old treemacs-persistence hack (which
didn't work).
Relevant to #669
set-face-attribute wasn't reliable for changing the fixed-pitch and
variable-pitch faces. custom-set-faces uses a custom, internal user
theme that has the highest precedence, making this the superior choice
for default font-setting.
`display-graphic-p` returns a boolean (possibly a recent change in Emacs
27), which will never match any window system, causing the theme to be
reloaded on every new frame.
Also default doom-last-window-system to initial-window-system.
use-package-handler/:after-call was (accidentally) relying on the
dynamic value of `name`, but now that use-package uses lexical binding,
this isn't possible anymore, causes errors.
If you open emacs with a file (emacs file.txt), the file is switched to
before the switch-buffer hooks are set up. However, many core packages
are hooked to those switch-buffer hooks (to load when they're first
triggered). They miss the boat and don't get loaded.
These packages are now hooked onto after-find-file as well (and
immediately), which will fire when a file is opened, before or after
initialization.
Fixes#680
New function returns a list of (NAME . DESC) cons cells in the order
they were declared (in module packages.el files).
Fixes a load-order issue where autoloads from one package would depend
on the autoloads of another package, but was inserted into
doom-package-autoload-file *before* the depended package, causing
void-variable errors.
Also allows for a big refactor of the :plugins byte-compile target.
I have hunted this bug on and off for nearly a year now. It would kill
processes randomly, move the point suddenly, and quit the active
minibuffer without warning.
The only clue it'd leave behind is an announcement in the minibuffer:
"Already at top-level".
Thanks to @UndeadKernel for the last piece of the puzzle!
Fixes#436
Compile order will affect some packages, so `bin/doom compile :plugins`
will now byte-compile plugins in the order they're declared in, but
after their dependencies.
Caused because the load-path is reset to doom-site-load-path in
doom-initialize-packages, which was initialized before doom-core-dir was
added to it, so core-* libraries couldn't be found.