Some of the init.el setup code moved to early-init.el to allow loading
our init modules in early init.
Loading the native comp init module in init.el set the cache directory variable
too late and resulted in the original directory still being populated
with eln files.
Themes in Emacs can be loaded on top of each other, allowing to easily
customize or override aspects of other themes, which I did not realize
at the time of creating the custom-wombat theme! Badgar adds a few
small tweaks, like setting highlight-indentation colors, making the
fringe match the background, and highlighting the current line when
using line-number-mode.
Rustdoc does not respect "CARGO_TARGET_DIR" and instead uses "TMPDIR"
or /tmp. On systems that mount /tmp with "noexec" this breaks doc
tests, since they can't be executed.
The old display-buffer-alist thing did not work like I expected it to,
so we removed it.
Instead of trying to update display-buffer-alist
when the screen resizes via a hook, we just create our own display function that
can be used in display-buffer-alist directly. The function takes a
"which-side" property in the alist, the property holds a function that returns
which side the new buffer will snap to when invoked. The display
function then creates a new alist with the side property and any other
properties were passed in, and calls display-buffer-in-side-window
with the new alist.
This allows us to use this function as if it were
display-buffer-in-side-window, but with an extra property to decide
which side the window snaps to each time the function is invoked. This
is useful if you want side windows to snap to different parts of the
screen based on the current size of the frame, or anything else.
We changed the filter groups labels to start with a capital to keep
the style consistent with the Default group. We also added a new Man
filter group and a condition in the "Misc" group to exclude man pages.
Before we had a function that updated display-buffer-alist whenever
the frame's size was changed, so that info windows like flymake or
flycheck open would snap to either the bottom or right hand side of the
frame depending on whether the window manager had the frame squeezed
vertically (like when you have two windows side by side split
vertically).
Now instead of having that function run every time the frame resizes,
we just make the 'side property a function that should get evaluated
each time the property is read. The function returns either 'bottom or
'right depending on the frame's current size in pixels.
I have disabled site-gentoo being loaded automatically on start by
editing site-start. Now I explicitly require it when it's available in
this config, but it can be omitted or toggled in other configs (a
minimal config for example).