By displaying them pre-init:
a) eshell will not have loaded, ensuring any user-popup rules in
an (after! eshell ...) block don't load in time for the first eshell
popup,
b) Popup predicate functions don't have access to the full state of the
buffer, if needed.
Fixes a regression introduced in 0bb4d4dfc, which changed how
doom-switch-buffer-hook works, but makes it fire too early during
startup, eagerly loading packages that wait for the first interactively
opened buffer. This moves doom-init-ui-h to
window-buffer-change-functions, which fires once at the end of startup,
when any buffer is displayed for the first time in the session.
Ref 0bb4d4dfcb
Emacs 27 introduced a bunch of `window-*-change-functions` hooks,
including `window-selection-change-functions` and
`window-buffer-change-functions`, which handles 98% of the use case for
Doom's `doom-switch-{buffer,window,frame}-hook` hooks, so I've rewritten
them to use them under the hood, which amounts to simpler code and fewer
hacks.
Use the new server-after-make-frame-hook, introduced in Emacs 27.1, to
clean up how we initialize fonts, themes, and the UI in general.
This may indirectly fix font issues in daemon sessions.
Doom doesn't use these two functions, but since they can be useful for
debugging *and* straight provides impleemntations for them already,
they're trivial to fix.
The delay will not be adjusted on a per-GC basis, depending on its last
run-time. This should average to around 2-3s, which should be a good
compromise between GCing too often and too infrequently.
The semantics of add-hook's APPEND argument changed in 27.1: it was
replaced with DEPTH, which controls its exact order of the hook (and is
respected every time a function is added to a hook, throughout its
lifetime).
Includes a general refactor for add-hook! too.
Adding 'Flagged messages' to mu4e-bookmarks with attributes results in
mu4e loading failure. Change the line not to use attributes.
error in process filter: mu4e-error: [mu4e] Invalid bookmark in
mu4e-bookmarks error in process filter: [mu4e] Invalid bookmark in
mu4e-bookmarks
Setting the rules explicitly was preventing users from customizing how
xwidget popups should behave, so it was moved to the popup module as a
global default.
Notmuch, like org, uses git describe to build a version string variable
at install time, but Doom preforms shallow clones of its packages, where
git describe does not work.
Notmuch is one of our bigger packages and the variable isn't essential
for normal use, so I've opted to build notmuch-version.el by hand. It
lacks the commit offset, but it has enough information to work with.
Fix#5581
At some point in the original PR alerts stopped working. I've finally
tracked down why and found three components to the problem:
- I'm calling `start-process` incorrectly
- `truncate-string-to-width` is called on `nil` when no from name is
given
- mu4e-alert uses :docid to check for duplicates, which is not provided
in mu 1.6, and so :message-id must be used instead.
Overrides ranger-travel to have better mode detection for which
completion framework to use, and default to emacs built-ins instead of
ido.
In theory this should be a temporary fix until ralesi/ranger.el#236 gets
merged, but the maintenance status of ranger.el is not clear.
Fix#5509
Ref ralesi/ranger.el#236
The following functions are affected: `+pass/edit-entry`,
`+pass/copy-field`, `+pass/copy-secret`, `+pass/browse-url`. All of
these functions have counterparts in `password-store`. Additionally, the
functions in password store add git commit messages when files are
changed.
Questions:
- Should we also deprecate the `ivy` and `consult` versions? The
`password-store` versions work perfectly well here with `vertico` (not
sure about `ivy` though).
There weren't enough checks that we were truly in a native-comp build of
Emacs. Not the most elegant solution, but the CLI rewrite handles this
far better so it'll do for now.
Fix#5131
Post-rewrite bin/doom will accept multiple -l's, but for now will only
accept one. This change was made to prepare for the documentation
generator, which will live outside the repo.