font-utils.el disable its cache on X and Windows so every check for the
existence of a font recomputes the font list, which takes a
non-negligible amount of time, at least on X. This default is reasonable
as stated in the docstring of font-utils-use-memory-cache:
> Disabled on X11 and MS Windows by default, because font-family-list
> often gives truncated results before Emacs is fully initialized.
This is, however, unreasonable from unicode-fonts, where calls to check
the existence of fonts happens in a loop; during the loop, Emacs is not
going to suddenly become fully initialized, , so each call is
actually recomputing the same font list over and over again.
Enabling the font-utils memory cache, at least for the duration of
unicode-fonts-setup, thus drastically reduces the initial startup time,
or the startup time when the pcache store is reset for some reason.
Org added a global cache for noweb expansion that includes a buffer
object. Those aren’t readable by the Lisp reader across processes, so
when async.el serializes the parent environment and hits that cons
`'(#<buffer *new*> . 739 )`, the child later tries to read it and errors
with `Invalid read syntax: "#<"'`
Fix: https://github.com/astahlman/ob-async/issues/99
emacsmirror/centered-window@80965f6c6a -> nullvec/centered-window-mode@701f56cd1d
First, anler/centered-window-mode went missing (fixed in 9debe1b), then
emacsmirror/centered-window was rebased onto
larstvei/centered-window-mode and squashed down to one commit. Seems
Melpa now points to nullvec's mirror, so we'll target that.
Fix: #8512
Amend: 9debe1b3fc
Co-authored-by: marienz <marienz@users.noreply.github.com>
apropos throws up an arith-error trying to rank the results of matchless
regexp (which can result in a segfault on some systems; see #8532), and
is *incredibly* slow lookuping up short queries, so the command will now
abort if the query is just a regexp operator or less than 3 characters
long.
Fix: #8532
When default-directory is is located on a remote host, we should search for "rg"
on the remote host. (executable-find) without the optional 't' will
search only on the local host.
Fix: #8525
BREAKING CHANGE: Moves ws-butler, dtrt-indent, and whitespace defaults
out of Doom's core and into a new module. ws-butler is gated behind
+trim and dtrt-indent behind +guess. Users who depend on/like these
packages will need to enable the new module and their respective
flags (which is the default going forward).
This change is motivated by an ongoing effort to slim down Doom's
core (by (re)moving non-essentials from it).
This also addresses an issue where dtrt-indent would vastly increase
load times for some major-modes (e.g. elixir-mode & elm-mode, see #7537)
by restricting it to non-project files and non-read-only buffers AND
excludign those two major modes from indent guessing.
Fix: #8516Fix: #7537
GNAT Project modes (`gpr-mode` and `gpr-ts-mode`) exist to handle .gpr files.
These modes are now used instead of the Ada major mode.
Lines may need to be re-indented when RET is pressed. This is to handle cases
of incomplete syntax and ambiguity in what may be entered when an empty line is
initially indented. Re-indenting after text has been entered corrects
incorrectly guessed initial indentation. To accommodate this scenario, RET is
remapped to `reindent-then-newline-and-indent`.
Also updates documentation to reflect these changes.
While not strictly necessary (because apheleia uses
`provided-mode-derived-p` for its major mode tests), many *-ts-modes
didn't declare themselves children of their base modes until 30.1+.
It's too much hassle to claim either 'SPC b s' or 'SPC f s' for the
saving-without-formatting command (and to justify why one over the
other), so porque no los dos? Plus, I now leave 'C-x C-s' (save-buffer)
alone; principle of least surprise and what not.
Fix: #8460
Ref: https://xkcd.com/1172