Fewer links means less confusion.
- Merge doom-issue and doom-commit links into doom-ref (for auto-linking
Issue/PR/commit references).
- Merge doom-module-source and doom-docs-source links into doom-source.
- Rename doom-report-issue to doom-report.
- Use '!' as the icon for module issues link.
- Remove doom-repo (replaced with "doom:*" in :lang org module).
- Add doomdir and emacsdir links to :lang org module.
But only if undo-tree-visualizer-diff is disabled. If it's enabled,
undo-tree has its own opinions on how to manage the two windows which
don't mesh well with our popup manager, so we leave undo-tree to its
devices.
Fix: #5617
Change (and simplify) the load order of Doom's dashboard and persp-mode
so that the dashboard always initializes later. This and 0ab6aba should
fix#5643.
Fix#5643
Ref 0ab6aba056
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.
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.
Since the which-key window didn't have focus, its C-h keybinds were
unpredictably unresponsive, making next/previous-page navigation et co
finnicky. This commit restores the needed focus.
Ref https://www.reddit.com/r/emacs/comments/pwr7va/comment/heydq4g
The hooks on `+doom-dashboard-mode-hook` and `+popup-buffer-mode-hook`
will throw an error if centaur-tabs-mode is disabled, which may be the
case if the user disables it interactively, post-startup.
Fix#5196
Invoke org-edit-src and an edit buffer is displayed for the src block at
point. If that popup is killed incorrectly, it leaves the original org
buffer (specifically, the src block you were editing) in a half-broken
state; forever waiting for you to finish editing that block.
This can happen when the edit window is a popup window and you switch
workspaces (which temporarily deletes popup windows), so clean up those
popups properly before switching.
In the presence of multiple, horizontal splits, the org-todo popup
consumes ~50% of the vertical real-estate of its northern neighbor when
created. This is due to an edge case with some failsafe code somewhere
down org-fit-window-to-buffer's stack. This fix ensures the popup is
always a sane size.
And by enabling +popup-buffer-mode in it, we ensure it will be treated
as a popup (e.g. solaire-mode will be active in it, no modeline, etc).
Due to magit now using server-done instead of server-edit as of
magit/magit@5c02910, which calls server-done-hook, which the workspaces
module has a hook on to kill auto-generated, daemon-spawned frames,
causing workspaces to be prematurely killed when commiting in magit.
- Remove remaining `EMACS27+` checks, since the whole codebase is
assumed to run at version 27 or above now
- Remove `EMACS27+` definition since it's no longer needed
Emacs 27.x has been the stable version of Emacs for nearly a year, and
introduces a litany of bugfixes, performance, and quality-of-life
improvements that significantly reduce Doom's maintenance burden (like
XDG support, early-init.el, image manipulation without imagemagick, a
native JSON library, harfbuzz support, pdumper, and others).
With so many big changes on Doom's horizon, I like having one less (big)
thing to worry about.
Also reverts bb677cf7a (#5232) as it is no longer needed.