Because the dashboard may change its `default-directory` in the
background, when opening a file straight from the dashboard, to a
directory with a .dir-locals.el that contains unsafe/risky variables,
causing a redundant prompt.
BREAKING CHANGE: This removes four flags from the module and their
associated features. They were removed because:
- Their configs are trivial (<3 lines of config per package) and can be
trivially deployed by the users who want them.
- There are *many* alternative implementations (org-people, all the
pomodoro plugins, pass.el, etc); there's no particular reason to
provide flags for these ones.
- org-password and org-contact were only supported because they were
removed from org (and org-contrib (?)).
- My long-term plan for this module is to slim it down and make it less
opinionated.
This accomplishes a few things:
- Prevents indent guides from showing on blank lines *beyond* an
indented block (e.g. a function).
- Avoids gaps in indent guides on empty lines *within* an indented
block.
- Reduces jumpiness when scrolling across some indented/empty lines at
the top or bottom edge of the window (as if `scroll-margin` was
changed between 0 and 1 on certain lines). The issue still exists (and
needs to be reported upstream), but is less pronounced with this
setting.
Doom's modules no longer support Emacs 27 and older, so remove the
various compatibility fixes/backports/hacks across several modules.
Doom's core, however, will continue to support 27.
Introduces a systemic fix to the problem where most major modes don't
set `tab-width` and/or `standard-indent` to match the mode-specific
indent variables. This tries to guess the indent variable(s) for any
given major mode, by searching for variables that end in:
X-ts-mode-indent-offset
X-indent-offset
X-indent-level
X-tab-width
X-basic-offset
Where X is the major mode without the (base-)?(ts-)?-mode suffix. This
should resolve to the correctly variable for most popular or newer
packages. For modes where it isn't enough, modules will have to manually
register with `set-indent-vars!`.
This commit also moves various indent commands to a new
lisp/lib/indent.el library and rewrites `doom/set-indent-width` to use
this new API (which no longer depends on editorconfig, and less on
dtrt-indent).
Fix: #8713
There will be more of these set-variable-type autodefs in the future, so
I'd rather make the abbreviation of "variable" the precedent now than
destructively rename them all later.
BREAKING CHANGE: This commit removes the `ob-clojure-literate` package.
It was brought in because it was removed from `org-contrib`, but it's
unmaintained and `ob-clojure` (included with Org) already does most of
the baseline support for Clojure-in-Org that I want for this module.
The plist starts at the second argument, not the first, so this advice
wasn't working at all. Also adds basic error handling for more helpful
errors than what gptel-magit gives you.
Amend: b30f5ca6df
Warnings about unused lexical variables, arity warnings, unescaped
single quotes in docstrings, shadowed variables, and invalid value for
:local depending on Emacs version.
d23abed made Magit prefer the vendored git over homebrew/macports
git (or wherever else), because it appeared to speed up Magit's git
calls, but that was a premature optimization. There are some users
reporting it works, but more than report it doesn't. I don't have Mac
hardware to test this properly on, so I opt for the simpler option of
removing the optimization.
Also corrects the comment, because Magit resolves `magit-git-executable`
on Windows and MacOS already, so we only need this for Linux (where the
benefit is minimal).
Revert: d23abed66d
If you invoke a file search command (`SPC s p`) with an active
selection, that selection will be used as your initial query. However,
some characters (like #, %, @, !, etc) have a special meaning as a
separator for async sub-searches, and must be escaped to be treated as
literal text. This used to work, until the
`consult-async-split-styles-alist` spec changed at some point.
If operating on files that aren't in a project, marginalia suffers two
potentially expensive `projectile-project-root` calls per
file/directory. This reduces it to one.
These groups' parents are their source (aka the module library they
belong to). They will be:
- doomemacs/core = doom
- doomemacs/modules = doom+
- doomemacs/modules-contrib = doom++
And this module belongs to doom+.
Rewrites link handlers and keybind to use the new org-link-preview
backend.
Fix: #8164Close: #8707
Co-authored-by: andrewpeck <andrewpeck@users.noreply.github.com>
- Renames `+emacs-lisp-eval-working-buffer` to
`+emacs-lisp-working-buffer`.
- `+emacs-lisp/change-working-buffer`: Expand to accept the prefix arg,
the ability to unset the current working buffer, and only set the
working buffer buffer-locally.