featurep! will be renamed modulep! in the future, so it's been
deprecated. They have identical interfaces, and can be replaced without
issue.
featurep! was never quite the right name for this macro. It implied that
it had some connection to featurep, which it doesn't (only that it was
similar in purpose; still, Doom modules are not features). To undo such
implications and be consistent with its namespace (and since we're
heading into a storm of breaking changes with the v3 release anyway),
now was the best opportunity to begin the transition.
Based on the new variable `+tree-sitter-hl-enabled-modes`
This allows for people to use tree sitters tools without having
to use it for highlighting.
Useful because some modes (such as web-mode and its derivatives) do a
better job than the tree sitter alternative in this respect.
Evaluating code (and :tools (eval +overlay) enabled) will do one of two
things with the return value:
If long, it will be displayed in a popup window on the bottom of the
frame. If short (<3-4 lines), it will be displayed in an overlay at the
end of the line.
If you happened to have scrolled horizontally (such that the BOL isn't
visible), the overlay would be displayed offscreen and unreadable. Any
attempt to scroll it into view will cause it to disappear (as per its
transient nature). This fix pads each newline in said overlay such that
the overlay is pushed into view.
doom-enlist is now a deprecated alias for ensure-list, which is built
into Emacs 28.1+ and is its drop-in replacement. We've already
backported it for 27.x users in doom-lib (in 4bf4978).
Ref: 4bf49785fd
I've omitted docs/*.org from this merge, as there is still work left to
do there, but I am pushing the module docs early so folks can benefit
from the new docs sooner.
emacs-straight/compat@2a9cf8b7bd -> emacs-straight/compat@cc1924fd8b
compat is a dependency of magit and doom-modeline (among other
packages), but a recent bug on compat@2a9cf8b caused #6583, so I am
pinning it to a stable commit. It's not common that Doom pins 2nd/3rd
order dependencies, but I will consider doing that more going forward.
Pinning them across multiple modules isn't elegant, but a better
solution is in the works as part of #4273.
Fix: #6583
Ref: #4273
- Pass was launched in emacs-state because evil-collection didn't
support pass when the module was written, but it does now.
- It also removes stale code relative to the PASSWORD_STORE_DIR
environment variable, since the password store path is not hardcoded in
pass.el anymore.
doom-debug-p and doom-interactive-p have always been intentionally
redundant, because changing the variables they replaced had other
side-effects, which made writing tests for them difficult. Since our
new (yet unpublished) tests lean heavily toward integration testing more
than unit testing, this becomes an implementation detail.
And doom-init-p's only use was refactor out at some point in the past,
so it's no longer used.
Also done to reduce Doom's footprint, in general.
These are autodefs, meaning they should be defined whether or not the
containing module is enabled, but they should no-op when it's disabled,
by defining a no-op macro with the same name. However, lsp! and
tree-sitter! are meant to be used as hooks, and you can't use macros as
hooks, so you get void-function errors when they are used as such.
This ensures they are properly defined as no-op functions in those
cases. I.e.
;;;###autodef FORM
FORM is used instead of a no-op macro if the parent module is disabled.
use-package's :after keyword introduces some load order behavior that
complicates the user's ability to target it with either after! or
with-eval-after-load. Best to avoid it.
Ref: jwiegley/use-package#829
evil-collection-magit-section introduces some redundant keybinds on
number keys 1-4, so our hack to correct these keys needed an adjustment.
And by unbinding these keys at the source (magit-section-mode-map), we
don't have to do the same for each inheriting keymap (like
code-review-mode-map and magit-mode-map).
Ref: emacs-evil/evil-collection@e26c869735
Amend: 31519d393a
Move the conditional bindings from `i` to `v` this is
to reflect the text object, the thinking being if users have to learn
one anti mnemonic then it should reflect all cases to make it easier to
swallow.
vedang/pdf-tools@326552eef7 -> vedang/pdf-tools@f9ccdf99e5
This bump also removes C++ entirely from pdf-tools, as it is not needed anymore for
correct compilation of `epdfinfo`. The following changes are made:
- Remove private headers from all the server code. This involves:
- Replace private header functionality with the correct public
functions provided by poppler.
- Remove unneeded headers around date checks
- Delete dead-code (headers, m4 macros)
- Remove C++, g++ and similar aliases from all the code. Also:
- Remove related information from the README
- Remove related information from CI and Dockerfiles
Ref: vedang/pdf-tools#96
Ref: vedang/pdf-tools@4460a4fd31Fix: vedang/pdf-tools#102Fix: politza/pdf-tools#706Fix: vedang/pdf-tools#90Fix: vedang/pdf-tools#86
- move map definition and binding into
evil-textobj-tree-sitter :config body
- replace +tree-sitter-keys-mode with
tree-sitter-mode as bind site
- remove +tree-sitter-keys-mode from tree-sitter! autodef