BREAKING CHANGE: This removes git-gutter as an implementation for the
`:ui vc-gutter` module, leaving only the diff-hl implementation. There
are no longer any +git-gutter or +diff-hl flags for this module. Users
don't have to do anything to keep the vc gutter, unless they prefer
git-gutter for any reason (in which case they'll need to install and set
it up themselves).
This has been planned for some time, because of a roadmap goal for Doom
to lean into native/built-in functionality where it's equal or better
than the third party alternatives. diff-hl relies on the built-in vc.el
library instead of talking to git directly (thus expanding support to
whatever VCS's vc.el supports, and not git alone), which also means it
can take advantage of its caching and other user configuration for
vc.el. Overall, it is faster and lighter.
What I've also been waiting for was a stage-hunk command, similar to
git-gutter:stage-hunk, which arrived in dgutov/diff-hl@a0560551cd and
dgutov/diff-hl@133538973b, and have evolved since.
Ref: dgutov/diff-hl@a0560551cd
Ref: dgutov/diff-hl@133538973b
Ref: https://github.com/orgs/doomemacs/projects/5/views/1?pane=issue&itemId=58747789
`tuareg-opam-update-env` has been deprecated, and the `opam-switch-mode`
package is recommended for managing opam switches. This commit adds this
package to the OCaml module
* lisp/lib/autoloads.el(doom-autoloads--scan) Remove invoke
`file-truename` of file, keeping symbolic from being converted to a real
path.
* lisp/doom-modules.el(doom-module-from-path) Replace
`file-in-directory-p` with `string-match` to determine the module to
which the file belongs.
Fix: #7821
`centaur-tabs-line-tab' reads `centaur-tabs-ace-jump-keys' without
length guards. If there are fewer entries than you have tabs, you'll see
an error (ema2159/centaur-tabs#231), and because the function is inlined
and monolithic, advising its behavior is non-trivial. This workaround
will mitigate it until it's dealt with upstream.
Ref: ema2159/centaur-tabs#231
Given a relative file path that:
- Doesn't exist, relative to the open file/buffer (default-directory),
- Doesn't exist, relative to the project root,
- Doesn't satisfy any of the other rules in ffap-alist,
- Contains more than one segment (forward slashes),
The +lookup/file command will walk the file tree from default-directory
to the project root to search for the path, so given:
project
└── src
├── a
│ └── a.h
└── b
└── b.h
This command, run on 'b/b.h' in a/a.h, will open b/b.h (but 'b.h' alone
won't work, which is intended, to reduce false positives).
Close: #7890
Co-authored-by: liuzhishan <liuzhishan@users.noreply.github.com>
As brought up in #7866, M-/ is bound to dabbrev-expand by default. Also,
a `M-;` keybind already exists on web-mode-map for commenting (and is
the vanilla default for commenting in other modes), so I'm removing this
redundant keybind.
Close: #7866
Co-authored-by: kuba-orlik <kuba-orlik@users.noreply.github.com>
These checks and warnings were added on some recent commit of Emacs.
They're annoying to deal with and the end-user typically can't do much
about them (e.g. old packages), so I suppress them across the board.
That said, there are a few we cannot catch in non-interactive
sessions (where they aren't delayed), and those early warnings don't
respect delayed-warnings-list. This ought to be considered a bug
upstream.
Emacs bug#70914 handles `file://whatever` incorrectly, potentially
crashing emacs.
Fixed in emacs commit 350ae75f5c1c47a03560e43e8699781c04c9078a:
Avoid crashes on MS-Windows due to invalid UNC file names
* src/w32.c (parse_root): Avoid crashes due to invalid (too short)
UNC names, such as "\\". (Bug#70914)
The auto-generated script has bom characters on my mac. if bin/doom
exits with code 254, it gives me the below error:
`.../doom.123.0.sh: line 1: #!/usr/bin/env: No such file or directory`
Although this is a refactor for normal users of Doom, it is a bugfix for
one (I assume) unsupported configuration: when Doom is not running from
a git checkout. In that case, `doom--help-package-configs` currently
returns Git's error messages. This breaks `doom/help-packages` because
it expects each returned line to contain at least one `:` character, so
it errors out with `Wrong number of arguments: (file line _match &rest),
2`.
Using ripgrep here should be equivalent for normal users as long as they
have not added untracked files not covered by Doom's .gitignore.
This commit removes the keybinds to add and remove a breakpoint in a
gdscript buffer, which were removed from gdscript-mode long ago, and
replaces them with one binding to toggle a breakpoint.
Fix: #7254
magit-stage-file prompts the user to select a file to stage, but the
intention for these two keys has always been to (un)stage the current
file (and without prompting). This ensures that is the case.
I've also tweaked their description to make that intention clearer.
Not only is this keybind always overshadowed by the magit-file-dispatch
keybind on the same key, the hydra module is deprecated, so I will
simply remove it.
Fix: #5388