Disabling magit-gitflow breaks magit-dispatch due to the unconditional
application of `transient-replace-suffix`.
With this change it is possible to disable magit-gitflow by adding the
following to your private Doom configuration:
(package! magit-gitflow :disable t)
Now that evil-magit's been moved to evil-collection, its keybinds are
subject to our blacklist. There must be a better way to exclude
evil-collection modules from the blacklist.
+ Add explain-pause-mode
+ Now reloads itself if doom-debug-variables is changed or when one of
its variables becomes available.
+ doom-debug-variables now supports a cons cell entry where its CAR is
the name of the variable and CDR is the value it should be set to when
doom-debug-mode is active.
On closer inspection it isn't necessary to expand the gitk and perl
executable paths, since a) gitk is a GUI application that doesn't get
called often enough (only once at a time) to warrant being optimized,
and b) magit uses it to set an envvar for git (so git itself handles
locating the executable internally -- much faster than Emacs can (esp
over TRAMP), so it only benefits us to expand magit-git-executable.
When a log or diff buffer is opened from the magit status buffer, it
would display them in a random window (or split, if none were
available). This changes forces it to predictably open to the right of
the magit status window (using the next window over, if available).
- Adds `magit-gitflow-popup` as `%` keybinding in the `magit-dispatch`, mirroring the keybinding in `magit-mode-map`.
- The existing binding `magit-worktree` is moved to `*`
The former no longer works, since ghub's API has changed. Meanwhile, the
magit-clone command has grown in features to match (and surpass)
+magit/clone, so we'll just use that instead.
This plugin is a source of slowness and occasional bugs. Instead of
enabling it by default, we keep it around for magit-todos-list, which
could replace +ivy/tasks.
Some packages that depend on org (like elfeed) will load the built-in
org early in the rebuild/package install process, which causes org to
define org-release and org-git-version, sometimes overwriting our stubs
for it. Without our hack, org call 'git describe' in the org repo in an
attempt to determine the installed version, which won't work in a sparse
clone. To ensure future definitions never overwrite ours, we advise them
as well.
Also moves magit-version hack to its autoload file, for consistency with
org's hacks.
This commit does two things:
- Renames def-advice! to defadvice!, in the spirit of naming convenience
macros after the function/macro they enhance or replace.
- Correct the names of advice functions to indicate visibility and
intent. A public advice function like doom-set-jump-a is meant to be
used elsewhere. A private one like +dired--cleanup-header-line-a
shouldn't -- it likely won't work anywhere but the function(s) it was
made to advise.
Calling this pivotal macro "def-package!" has frequently been a source
of confusion. It is a thin wrapper around use-package, and it should be
obvious that it is so. For this reason, and to match the naming
convention used with other convenience macros/wrappers, it is now
use-package!.
Also changes def-package-hook! -> use-package-hook!
The old macros are now marked obsolete and will be removed when straight
integration is merged.