Commit Graph

697 Commits

Author SHA1 Message Date
538ddf5e66 fix: C-i in KKP supported terminals
"C-i" and "TAB" are equivalent to Emacs. In GUI Emacs, we can bind to
[tab] instead of "TAB", permitted users to treat the two keys
differently. However, [tab] is unavailable in TTY frames, so there was
no avoiding sacrificing C-i keybinds there. With KKP support, though,
that's no longer the case.
2024-08-30 22:08:16 -04:00
79910fba42 fix(cli): wrong-number-of-args error from mapconcat
On Emacs <=28.2, mapconcat's third argument isn't optional.

Amend: 7f175ab6d9
Ref: #8024
2024-08-30 04:57:29 -04:00
7197ee65c7 fix: help(ful) reporting symbol's source as init.*.el
Fix: #7958
2024-08-30 02:27:03 -04:00
6671adc687 refactor!: move helpful from :core to :lang emacs-lisp
BREAKING CHANGE: This moves helpful.el out of core into :lang
emacs-lisp. Since most (all) people have this module enabled, this
shouldn't make a difference for most people, but if you're one of the
few that don't have :lang emacs-lisp enabled, Doom will revert to using
Emacs' built-in help.el and describe-* commands.

Others can also disable helpful with (package! helpful :disable t) if
they prefer Emacs' built-in help system, which wasn't possible before,
because it was a core package.

This was done as part of an ongoing effort to slim down Doom's core in
preparation for v3.
2024-08-30 02:26:41 -04:00
bf9e619533 refactor: remove redundant projectile-track-known-projects hook
With the `doom-switch-buffer-hook` hook in 83fedf1, this hook isn't
needed anymore.

Amend: 83fedf1fff
2024-08-30 01:02:33 -04:00
7f175ab6d9 fix(cli): inconsistent system hash between sessions
sxhash doesn't guarantee hashes are consistent across Emacs sessions, so
use md5 instead. Also simplifies what's getting hashed;
`system-configuration` is a sufficient substitute for both `system-type`
and what I wanted to glean from changes in
`system-configuration-features`.

Amend: 80e9263b85
Close: #8030
Ref: #8024
Co-authored-by: yaaama <yaaama@users.noreply.github.com>
2024-08-29 15:44:29 -04:00
83fedf1fff fix: recursive load errors on lib/projects.el
A change upstream was causing recursive load errors. I'm not too clear
how it happens, as I can't reproduce it, but
bbatsov/projectile@3c92d28c05 is the common thread (bumped in
c1b5f48).

Rather than revert the bump, I've just undone the hook and used a saner
hook for the same task. It is a stopgap solution until I eventually
replace projectile with project.el.

Ref: bbatsov/projectile@3c92d28c05
Amend: c1b5f48f07
2024-08-29 06:56:57 -04:00
c1b5f48f07 bump: :core
Fuco1/smartparens@ab475c7891 -> Fuco1/smartparens@c7519a1b69
bbatsov/projectile@0163b335a1 -> bbatsov/projectile@8cc2ee8937
emacs-compat/compat@09dce8a193 -> emacs-compat/compat@e9203e1649
emacs-straight/project@093f42a1b6 -> emacs-straight/project@5c77d78936
hlissner/emacs-hide-mode-line@bc5d293576 -> hlissner/emacs-hide-mode-line@ddd154f1e0
jscheid/dtrt-indent@339755e4fb -> jscheid/dtrt-indent@a8aa356684
rainstormstudio/nerd-icons.el@4322290303 -> rainstormstudio/nerd-icons.el@c3d641d8e1
2024-08-29 02:47:21 -04:00
c53f63b96e fix: trigger doom-first-{file,buffer}-hook at startup
Should fix issues where modes/hooks weren't triggered for
files/directories opened early (e.g. from the command-line or
programmatically from the user's config).
2024-08-28 17:55:25 -04:00
c352bd0dcd refactor: remove redundant doom-bin{,-dir} decls
Amend: a8ba8feecb
Amend: a5039c4333
2024-08-28 04:58:11 -04:00
a5039c4333 fix(lib): doom/{reload,upgrade}: expand path to bin/doom
A user's shell config might destructively alter the shell's $PATH (also
common on MacOS, which destructively sets $PATH with its system dotfiles
for ZSH). This prevents the sub-shell spawned from `doom/reload` and
`doom/upgrade` from inheriting emacs' `$PATH`, which Doom adds
$EMACSDIR/bin to. Without this entry, these commands would fail to find
the Doom script.

Fix: #8027
Amend: a8ba8feecb
2024-08-27 03:24:58 -04:00
6077b6f0d8 fix: correct version string in obsoletion calls 2024-08-26 18:07:47 -04:00
80e9263b85 fix(cli): doom sync: heuristic for total rebuilds
Fix: #8024
2024-08-26 02:16:03 -04:00
ea97adf9c7 fix: set jump points on more kill-buffer functions
Close: #7643
Co-authored-by: LemonBreezes <LemonBreezes@users.noreply.github.com>
2024-08-25 17:44:29 -04:00
fac979c6d8 fix: package!: unpinning with :pin nil 2024-08-25 17:44:29 -04:00
9c6a5e9323 fix(lib): doom/{reload,upgrade}: ensure env matches session 2024-08-25 17:44:29 -04:00
a8ba8feecb refactor(lib): doom/{reload,upgrade}: customizable commands
Ref: #8024
2024-08-25 17:44:28 -04:00
e21e01d4c2 fix(cli): doom env: blacklist $WAYLAND_DISPLAY 2024-08-23 02:50:19 -04:00
c901f5806e fix(cli): straight ignoring native-comp-jit-compilation-deny-list
Turns out native-comp doesn't respect
`native-comp-jit-compilation-deny-list` if called explicitly (instead of
from deferred compilation).

Fix: #5592
Fix: #6283
Fix: #3655
2024-08-23 02:50:19 -04:00
ba01418652 revert: fix: straight-built-in-pseudo-packages: add seq
Magit requires a newer version of seq than what's available on 28.x or
older or it spews out warnings.

Revert: bc634eaca0
2024-08-23 01:27:54 -04:00
bc634eaca0 fix: straight-built-in-pseudo-packages: add seq
Avoid installing a newer (or older) and possibly incompatible copy of
seq.

Also, seq would get installed along with its unit tests, and Emacs will
hang trying to natively compile them, so...
2024-08-22 20:09:03 -04:00
9913acbdc4 fix: opening tramp paths from command line args
Eventually, Emacs will process any files passed to it via the command
line, and will do so *really* early in the startup process. These might
contain special file paths like TRAMP paths (e.g.
/sudo://etc/ssh/ssh_config), so restore `file-name-handler-alist' just
for this small portion of startup.
2024-08-18 16:12:42 -04:00
1977b3dfba refactor(lib): generalize ripgrep executables
Amend: 4fcf332749
2024-08-17 03:56:59 -04:00
7499995643 fix: better-jumper evil integration (part 2)
Fix typo.

Amend: 916180a6bf
Fix: #7997
2024-08-16 13:27:40 -04:00
1912571c9c docs: minor revisions of docstrings across core+cli 2024-08-15 23:24:56 -04:00
e8a444749a refactor: use eval-when! less
These uses of this macro are a micro optimization that yield no benefit.
The only place it's useful is in autoloads (which are guaranteed to be
byte-compiled during `doom sync`).
2024-08-15 23:23:12 -04:00
0f4328058c fix: restrict find-function-search-for-symbol advice to Emacs 29
The issue this advice fixes are fixed at some point in 30.x.
2024-08-15 23:19:49 -04:00
5e2e886b35 nit: comment revision & reformatting 2024-08-15 23:18:47 -04:00
3a2c234b1c fix(cli): don't AOT native-comp if disabled 2024-08-15 15:46:47 -04:00
dc035a652f fix: reset inhibit-* vars a mote more aggressively
There are still a few edge cases where inhibit-redisplay is never
reset (usually involving errors at startup), leaving Emacs as a blank
screen until the user performs an action that forces it to redraw (e.g.
pressing M-x). This tries to address more of those.
2024-08-15 15:45:53 -04:00
916180a6bf fix: better-jumper evil integration
Fix: #7997
Amend: ebf0e1ac30f9
Ref: gilbertw1/better-jumper#26
Ref: emacs-evil/evil@9cdd55bff8
2024-08-15 13:11:13 -04:00
95e0b43012 fix: "Malformed pattern in custom ignore file .project" error
I introduced '--ignore-file .project' to `projectile-git-fd-args` in
4fcf332  expecting fd to ignore the file if it didn't exist, but it
throws an error if it doesn't, causing it to throw these errors in any
project without a .project file.

Amend: 4fcf332749
2024-08-12 19:46:40 -04:00
f5020a4f7f refactor: simplify projectile config
Reverts projectile-project-root-files-bottom-up to its original value,
since the absence of those VC entries may surprise folks who aren't new
to projectile.
2024-08-09 21:21:26 -04:00
d04e1404c2 fix: projectile: ignore more vc directories in file listings 2024-08-09 21:03:46 -04:00
4fcf332749 refactor: generalize fd/ripgrep vars & options
I intend to eventually replace projectile with project.el, so these
doom-projectile-* variables need to be generalized, starting with the
fd/ripgrep executable paths.

ALong with that, this refactors Doom's projectile-generic-command to
lean more on built-in fd support in projectile, where possible (fewer
wheels reinvented).

Ref: doomemacs/core#1
2024-08-09 21:03:37 -04:00
939fc0d322 feat: add project-vc config
I intend to keep `project-vc-extra-root-markers` much lighter than what
`projectile-project-root-files` ended up being, so I won't be
transferring all the root markers.

Ref: doomemacs/core#1
2024-08-09 20:50:51 -04:00
a6df88a56a feat(lib): doom-org-docs-mode: bind q to kill-current-buffer
For consistency with other help modes.

Fix: #7985
2024-08-08 17:26:58 -04:00
e3fdfee1c5 feat(cli): add --aot option
Allow ahead-of-time native-compilation during CLI operations that
install or update packages. This will not retroactively native-compile
already-installed packages, you'll need to use --rebuild to do so.

(This is a stop-gap solution until the v3.0 release)

Fix: #6811
2024-08-08 17:26:54 -04:00
2c17f71965 fix(cli): don't prompt to rebuild if --rebuild is given
When running `doom sync --rebuild` after emacs upgrade the user is
prompted with "Installed packages must be rebuilt. Do so now?", even
though doom was explicitly instructed to rebuild. This PR removes this
prompt when the `--rebuild` option is provided
2024-08-06 13:02:13 -04:00
cf7098528d release(modules): 24.09.0-dev
Ref: 2b39e41368
2024-07-30 17:40:22 -04:00
07f88f94ea fix: improve startup error message
Showing `user-init-file` in the startup message seems more confusing
than helpful, especially to beginners, as it's not a file they can (or
should) be editing to fix whatever caused the error. Plus, its value
could be `t` if the error happens late enough in the startup process,
which is even less helpful.
2024-07-30 17:40:22 -04:00
b163c21fe5 fix(cli): --force: handle more straight prompts
Fix: #7906
2024-07-28 15:21:13 -04:00
54a084fed7 fix(cli): some package files not being byte-compiled
Fix: #7707
Ref: radian-software/straight.el#1132
2024-07-26 04:46:54 -04:00
5852b2ecf5 fix(cli): properly overwrite last line of output
Before this, text that extended past the new line's length would
persist, causing garbled output like this:

  > Ensuring packages are installed and built...
    > Updating recipe repos...
    > Cloning org-appear...r emacsmirror-mirror...
    - No packages need attention

Which might lead you to believe org-appear is being cloned from
emacsmirror-mirror, but the full output is actually:

  > Ensuring packages are installed and built...
    > Updating recipe repos...
      > Updating recipes for melpa...
      > Updating recipes for nongnu-elpa...
      > Updating recipes for gnu-elpa-mirror...
      > Updating recipes for el-get...
      > Updating recipes for emacsmirror-mirror...
    > Cloning org-appear...
    - No packages need attention
2024-07-26 04:46:54 -04:00
98a3cad54d docs: minor docstring revisions
For clarity only. These do not reflect any recent changes.
2024-07-18 22:38:59 -04:00
bd728fd2a8 fix(lib): doom-project-find-file: fall back to find-file if DIR is empty
Fix: #7949
2024-07-16 11:06:39 -04:00
7543b04e15 feat(format): add +format/org-block-in-region
Also updates `+org/reformat-at-point` to call
`+format/org-block-in-region` if selection is active.

Fix: #7936
2024-07-14 01:57:20 -04:00
378d0b8db6 fix(cli): doom env: omit XDG_BACKEND & DOOMLOCALDIR 2024-07-14 00:45:42 -04:00
8ab42fa774 nit: revise site-lisp comments
The motivations for delaying the site-lisp files are different between
interactive and non-interactive sessions. I've revised these comments to
reflect that.
2024-07-13 19:38:16 -04:00
20ee90614a nit(cli): revise comment over site-run-file loader
To better explain to the wondering reader why we're loading site-start
here.
2024-07-11 21:53:38 -04:00