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.
In the spirit of 6f40ad5, I'm deprecating this macro because it doesn't
provide enough value to exist and serves only to complicate a casual
reader's understanding of Doom's modules.
Ref: 6f40ad55f5
pcmpl-args' completion coverage isn't as complete at
{fish,bash}-completion, but it's much lighter, much faster, and builds
on top of pcomplete. Users will have to alias programs to
pcmpl-args-pcomplete-on-{help,man} to extend support.
For dictating what buffers are considered real based on their major
modes.
Also makes most terminal emulator or comint-mode buffers real by
default.
Fix: doomemacs/community#73
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
Otherwise, undo could delete entire chunks of a shell buffer. This
addresses the issue in eshell, comint shells, and derivatives (like
ielm, shell, or inferior-* shells).
Ref: #8410
This makes the output of previous commands and prompts immutable (by
default), so users can't accidentally alter them, which can leave the
buffer in a half-broken state (requiring the user flush out the garbled
input with a couple RETs).
This targets comint shells (shell, ielm, etc), eshell, (ansi-)term, and
any derivatives thereof.
Fix: #8411
Due to a race condition in some contexts, hooks that adjusted window
fringes or margins weren't targeting the windows (usually popups) they
were supposed to, often affecting the last selected window instead. This
could cause the fringes (or margins) to resize or outright vanish
unexpectedly in the wrong windows (e.g. after opening or killing a vterm
or eshell popup).
Fix: #8346
BREAKING CHANGE: This deprecates the IS-(MAC|WINDOWS|LINUX|BSD) family
of global constants in favor of a native `featurep` check:
IS-MAC -> (featurep :system 'macos)
IS-WINDOWS -> (featurep :system 'windows)
IS-LINUX -> (featurep :system 'linux)
IS-BSD -> (featurep :system 'bsd)
The constants will stick around until the v3 release so folks can still
use it -- and there are still some modules that use it, but I'll phase
those uses out gradually.
Fix: #7479
This new default makes eshell-prompt-regexp's consumers a little less
susceptible to false positives in garbage/process output and a little
more resistant to user changes to eshell-prompt-function. It's also
closer to its default value (KISS).
Fixes an upstream issue in pcomplete where completion after quotes fails
with the following message:
Completion function pcomplete-completions-at-point uses a deprecated
calling convention
This issue is fixed in 29+, but I backport this fix for 27-28
users (credit for the fix goes minad/cape, which is where I adapted this
fix from).
Fix: #3817
Co-authored-by: minad <minad@users.noreply.github.com>
doom-etc-dir will be renamed to doom-data-dir, to better reflect its
purpose, and align it with XDG_DATA_HOME (where it will be moved to in
v3, where Doom will begin to obey XDG directory conventions more
closely).
- Deprecates the doom-private-dir variable in favor of doom-user-dir.
- Renames the pseudo category for the user's module: :private -> :user.
- Renames the doom-private-error error type to doom-user-error.
Emacs uses the term "user" to refer to the "things" in user space (e.g.
user-init-file, user-emacs-directory, user-mail-address, xdg-user-dirs,
package-user-dir, etc), and I'd like to be consistent with that. It also
has the nice side-effect of being slightly shorter. I also hope
'doom-user-error' will be less obtuse to beginners than
'doom-private-error'.
featurep! will be renamed modulep! in the future, so it's been
deprecated. They have identical interfaces, and can be replaced without
issue.
featurep! was never quite the right name for this macro. It implied that
it had some connection to featurep, which it doesn't (only that it was
similar in purpose; still, Doom modules are not features). To undo such
implications and be consistent with its namespace (and since we're
heading into a storm of breaking changes with the v3 release anyway),
now was the best opportunity to begin the transition.
This "backports" a Emacs 28 fix which prevents eshell from resetting
eshell-mode-map every time eshell-mode is activated.
Now users can bind keys to eshell-mode-map like they could for any
normal mode.
The h,j,k,l paradigm is distinctly vim's, and should not be bound for
vanilla users, so now it's only available to evil users.
Also, since C-c l is the vanilla localleader prefix, this causes "Key
sequence C-c l b starts with non-prefix key C-c l" errors.
Fixes#3224
Because neither is available on windows, you'll get errors when trying
to complete in eshell. Better to disable it so eshell can fall back to
pcomplete.