Some major modes (like rust-mode) may trigger
doom-highlight-non-default-indentation-h twice, causing whitespace-style
to be set to its default global value, which (by default) enables
whitespace-mode with all its features. This may overwhelm the
unsuspecting user, so we instead only tack on our modifications to
whitespace-style to its existing buffer-local value, rather than its
global value.
The former is more reliable (and faster, with the fd/rg hack in the next
commit).
Also (hopefully) fixes the "cl-no-applicable-method: No applicable
method: project-roots" error emitted when project-find-file-in fails to
identify the target as a project root.
On macos, the libexec directory for languagetool, as installed by brew,
lives in a version directory. To find the jar, we need to increase the
search depth, since the version directory will change with every version.
Example of brew-installed languagetool:
--------
$ tree -L 2 /usr/local/Cellar/languagetool
=>
/usr/local/Cellar/languagetool
└── 4.6
├── CHANGES.md
├── CHANGES.txt
├── COPYING.txt
├── INSTALL_RECEIPT.json
├── README.md
├── bin
└── libexec
Because it's not loaded for some reason.
Also, require is not a big problem IMO: if you run this interactively, the
require cost probably doesn't matter much already.
Fixes#1618.
Straight throws an 'emacs-version-changed' error if you load it with a
version of Emacs it wasn't compiled with. This update causes this to
emit a more helpful error.
- Is now much more fault tolerant (produces better errors)
- Now handles async.el process errors as well
- Standardizes data structure of thread responses
- Fix 'doom build' not byte-compiling stale dependencies of rebuilt
packages.
- Fix 'doom build' logging the wrong number of packages that were
rebuilt.
Instead of replacing the whole recipe with the contents of :recipe, only
modify the specified properties. This allows you to specify helpful
parameters like :nonrecursive or :depth without having to include the
full recipe.