Some were outdated, some were incorrectly labeled, others were already
completed, some were missing... Gotta fix them all.
Also, in :ui hl-todo, there are comments that describe how Doom uses
each of these annotations; those have been updated.
When `electric-quote-mode' is enabled with smartparens, the
`electric-quote-inhibit-functions' check (e.g. `org-in-src-block-p')
fails because smartparens' post-self-insert handler runs first and
interferes with buffer state. Re-add the electric-quote handler at
depth -50 so it runs before smartparens (depth 0).
Fix: #5051
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
The `defadvice!' overriding `undo-tree-visualizer-show-diff' was placed
inside `(use-package! undo-fu ...)' which has `:unless (modulep! +tree)'
— so it only loads when undo-tree is NOT active. The fix never runs.
Move it to `(use-package! undo-tree ...)' where it belongs. Also add an
override for `undo-tree-visualizer-update-diff' that removes the
`balance-windows' call which conflicts with Doom's popup system.
Fix: #8521
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
There's little reason for users to use these macros in their private
configs over plain ol' `with-eval-after-load` and `use-package`, unless
they're writing their own modules.
It's my fault for signal boosting them in documentation and whenever I'm
asked for help, because beginners now believe they are somehow
required for Doom to work correctly (there are guides out there
telling beginners that migrating to Doom involves replacing all
instances of `with-eval-after-load` and `use-package` in their
pre-existing configs with `after!` and `use-package!` -- which was never
true).
What's more, I plan to replace `use-package`, internally, so the
`use-package!` macro won't exist for much longer.
Treat paths as paths, rather than strings. Removes the requirements that
doom-*-dir variables end in slash (though I'll continue doing so as a
convention). Also moves a lot of cache/data into the current profile's
cache/data directories. Shouldn't actually affect anything for folks not
using Doom's profile system (yet).
Fix: #8616
+dired/dirvish-side-and-follow was referring to several private dirvish
functions that no longer exist. Because dirvish-side--auto-jump no
longer sets a timer before running, we can now just call
dirvish-side--auto-jump directly instead of copying from its body.
In 71eae25, TRAMP settings were moved to a new :emacs tramp module,
reverting `tramp-backup-directory-alist` and `tramp-auto-save-directory`
to their Emacs defaults for anyone not using this module (which saves
those temp files in the current working directory, which is an
undesirable default), so we set them in core again.
Fix: doomemacs/community#53
Amend: 71eae252ac
Neither lsp-mode nor eglot work over tramp with direct-async on, but I
don't want to disable direct-async globally just for lsp-mode/eglot
users, so I try to disable it solely for their stdio processes.
More testing is needed to weed out edge cases that may result from this.
Ref: emacs-lsp/lsp-mode#4573
Fix: #8510
1. Add jump-to-heading functionality for EWW buffers
2. Bind within imenu (replaces +eww/jump-to-url-on-page; bound to
`:localleader l`)
The new functions are based on existing `eww--capture-url-on-page` and
`+eww/jump-to-url-on-page`. However, I took a different approach and
used alists to hide the position/coordinates from the `completing-read`.
Also, unlike `+eww/jump-to-url-on-page`, we don't give the user an
option of limiting the scope to a region or visible portion of the
buffer. `+eww/jump-to-heading-on-page` always prompts based on the
entire buffer.
Examples:
1. `<h1>H1</h1>`
- "H1"
2. `<h1>H1</h1><h2>H2</h2>`
- "H1"
- "H1/h2"
3. `<h1>H1</h1><h2>H2</h2><h3>H3</h3>`
- "H1"
- "H1/H2"
- "H1/H2/H3"
4. `<h1>H1-1</h1><h2>H2</h2><h1>H1-2</h1>`
- "H1-1"
- "H1-1/H2"
- "H1-2"

Gaps in the hierarchy (for example a `<h2>` followed by an `<h5>`) are not
represented in the labels presented to the user. Take the Wikipedia
entry for Emacs (above) as an example. The `<h2>` "Content" is the first
heading on the page, there's no preceeding `<h1>`, so it's shown to the
user as "Content" without any prefix. Examples:
1. `<h2>H2</h2>`
- "H2"
2. `<h2>H2</h2><h4>H4</h4>`
- "H2"
- "H2/H4"
3. `<h2>H2</h2><h4>H4</h4><h5>H5</h5>`
- "H2"
- "H2/H4"
- "H2/H4/H5"
4. `<h2>H2</h2><h1>H1</h1><h5>H5</h5>`
- "H2"
- "H1"
- "H1/H5"
- modules/emacs/eww/autoload.el
- (eww--capture-url-on-page): Rename to `eww--capture-urls-on-page`
- (eww--capture-headings-on-page): Add; based on existing `eww--capture-urls-on-page`
- (+eww/jump-to-heading-on-page): Add; based on existing `+eww/jump-to-url-on-page`
- modules/emacs/eww/config.el
- (keybind) Bind `+eww/jump-to-heading-on-page` to `<:localleader.>`;
based on existing org-mode jump-to-heading keybind (`consult-org-heading`)
This is due to other dedicated/side popups and/or windows causing the
undo-tree visualizer buffer to open in difficult-to-delete windows. This
should be reported and addressed upstream, though.
Fix: #8198
`+vc/browse-at-remote` on git-timemachine buffers solely depended on the active
region to determine highlighted lines in the browser, sometimes returning an
error when no region is set, and other times using an implicit/invisible
transient mark. The number of lines that get highlighted at remote is also not
always consistent.
This commit modifies `+vc-support-git-timemachine-a` to correct all the above
and have `+vc/browse-at-remote` remain consistent between git-timemachine
buffers and non git-timemachine buffers.
Use `plist-get` to extract the correct plist values for the "repo-url"
and "remote-type" local variables in order to browse to the correct
remote url from git-timemachine buffers.
Store a little less undo history, to improve general runtime performance
by reducing the number of idle markers in long-lived sessions,
particularly in shell emulation buffers.
Seems the naming convention of dirvish windows has changed at some
point, so the popup module's fallback rules were catching them, causing
each of Dirvish's side windows to be treated as implicit popups.
Fix: #8347
If the user has :ui (popup +all) enabled, it will capture dirvish side
buffers and treat them like arbitrary popups, so we correct the default
popup rule to force it to ignore them like we already do with dirvish's
main buffers.
Fix: #8338
In the interest of slimming down Doom's core (as we near v3), I've
deprecated these macros. They doesn't really need to exist. Sure, the
alternatives aren't as ergonomic or elegant, but they're good enough
that we don't need these trivial wrappers. Their local uses have been
refactored out as well.
This advice was replaced upstream with advising `dired--find-file` with
`dirvish--find-file`, and was missed when dirvish was bumped in 960b537.
Amend: 960b537cf6Fix: #8322
Ref: alexluigit/dirvish@a03a8d52de