Commit graph

17864 commits

Author SHA1 Message Date
Henrik Lissner
cf2024b356
tweak(docs): org-footnote-section = nil
In doom-docs-org-mode, so footnotes will always be placed at the end of
the current tree.
2022-08-02 16:24:36 +02:00
Henrik Lissner
3deba740d3
feat(docs): add face:X link type to docs
For linking face symbols to documentation.
2022-08-02 16:24:36 +02:00
Henrik Lissner
e77a45bc22
docs: use lowercase keywords
As per Org's new defaults, which we're adopting elsewhere, so may as
well adopt it here.
2022-08-02 16:23:43 +02:00
Henrik Lissner
9744946a66
docs(ligatures): mention doom-unicode-font incompatibilities 2022-08-02 16:23:42 +02:00
Henrik Lissner
cee641ddc8
feat(docs): hide leading stars 2022-08-02 16:23:42 +02:00
Henrik Lissner
6bba5f8c03
tweak(docs): disable save-place when in documentation
Jumping to a saved position is more jarring than useful in
documentation. Especially for beginners.
2022-08-02 16:23:42 +02:00
Henrik Lissner
4661ea89f2
tweak(docs): move point to first heading on visit 2022-08-02 16:23:42 +02:00
Henrik Lissner
c4b7071397
fix(docs): don't hide src blocks indiscriminately 2022-08-02 16:23:42 +02:00
Henrik Lissner
bfa90e82e9
refactor(docs): use org-with-wide-buffer
It uses save-excursion internally and is a little safer (in case of
narrowing).
2022-08-02 16:23:38 +02:00
Henrik Lissner
d3f2b4d9ca
docs(cli): fix issue tracker URL in 'doom help' 2022-08-01 22:36:33 +02:00
Henrik Lissner
4ee7f0113e
fix(cli): show straight logs after straight error
Instead of displaying an unhelpful backtrace about failed git commands,
show the tail of the *straight-process* buffer.
2022-07-31 23:44:10 +02:00
Henrik Lissner
61d7200e64
revert: compat
emacs-straight/compat@2a9cf8b7bd -> emacs-straight/compat@cc1924fd8b

Fix: #6583
Amend: dd34802523
2022-07-31 17:44:08 +02:00
Henrik Lissner
dd34802523
revert: compat
emacs-straight/compat@2a9cf8b7bd -> emacs-straight/compat@cc1924fd8b

compat is a dependency of magit and doom-modeline (among other
packages), but a recent bug on compat@2a9cf8b caused #6583, so I am
pinning it to a stable commit. It's not common that Doom pins 2nd/3rd
order dependencies, but I will consider doing that more going forward.

Pinning them across multiple modules isn't elegant, but a better
solution is in the works as part of #4273.

Fix: #6583
Ref: #4273
2022-07-31 16:56:14 +02:00
Henrik Lissner
614a54b036
fix(literate): Doom core load paths
The file structure of the project was changed in b9933e6. This updates
the :config literate module to reflect that.

Amend: b9933e6637
2022-07-31 13:52:20 +02:00
Henrik Lissner
55736ac2a6
fix(lib): prevent autoload failure at startup
In some edge cases, an early call to doom-log will cause an autoload
error because of one or more of the following is true:

- The autoloads file hasn't been generated or loaded,
- The autoloads file is out of date (especially relevant after
  b9933e6),
- doom-cli hasn't loaded lib/files eagerly yet.

To avoid this, and due to how prolific doom-log's uses are, and how
trivial the dependency is, I simply remove the dependency.

Amend: b9933e6637
2022-07-31 13:31:21 +02:00
Henrik Lissner
615848e3a7
fix(cli): more future resistant 'doom upgrade'
In the future, should doom-core-dir or {doom-core-dir}/packages.el
change, 'doom upgrade' won't leave the repo in a broken state.
Unfortunately, this cannot retroactively prevent the issue; users will
experience this as soon as they update to b9933e6 or beyond, so users
will have to upgrade manually to overcome it:

  cd ~/.emacs.d
  git reset --hard 35a89bdfa6
  git pull origin master
  doom sync -u

Fix: #6598
Amend: b9933e6637
2022-07-31 00:58:36 +02:00
Henrik Lissner
29dc2fed29
refactor(cli): use sh! instead of doom-call-process 2022-07-31 00:27:05 +02:00
Henrik Lissner
b9933e6637
refactor!: restructure Doom core
BREAKING CHANGE: This restructures the project in preparation for Doom
to be split into two repos. Users that have reconfigured Doom's CLI
stand a good chance of seeing breakage, especially if they've referred
to any core-* feature, e.g.

  (after! core-cli-ci ...)

To fix it, simply s/core-/doom-/, i.e.

  (after! doom-cli-ci ...)

What this commit specifically changes is:
- Renames all core features from core-* to doom-*
- Moves core/core-* -> lisp/doom-*
- Moves core/autoloads/* -> lisp/lib/*
- Moves core/templates -> templates/

Ref: #4273
2022-07-30 22:41:13 +02:00
Henrik Lissner
a9866e37e4
feat(lib): add doom-theme-face-attribute function
For reading face attributes for inactive themes.
2022-07-30 22:41:13 +02:00
Henrik Lissner
9ea6ea68b0
tweak(lib): show chemacs version in doom-info 2022-07-30 22:41:13 +02:00
Henrik Lissner
510032bcb0
refactor(lib): s/doom--debug-/doom-debug-/
To uphold conventions introduced in 6c0b7e1.

Ref: 6c0b7e1530
2022-07-30 22:41:12 +02:00
Henrik Lissner
964b7dcbee
fix(cli): indentation & docstring highlights for defstub! 2022-07-30 22:41:12 +02:00
Henrik Lissner
f8fb8b189d
refactor(cli): remove unused synopsis examples
These can be included in their own EXAMPLES: section, and doesn't need
to be treated especially.
2022-07-30 22:41:12 +02:00
Henrik Lissner
a79b2ec69e
fix(cli): ensure order of subcommands in 'doom help'
They should be in insertion order. They were formerly in
reverse-insertion order.
2022-07-30 22:41:12 +02:00
Henrik Lissner
a2d2206797
feat(cli): allow defcli! in ci.el
A project may provide a ci.el to config bin/doom's CI commands. With
this, users can also define their own 'doom ci' subcommands from there.
2022-07-30 22:40:27 +02:00
Henrik Lissner
04a09128d4
nit(cli): stub 'doom test'
To prep for v3.1.
2022-07-30 22:23:12 +02:00
Henrik Lissner
6ffee6ece7
fix(cli): ensure type specs are case insensitive 2022-07-29 12:34:58 +02:00
Henrik Lissner
491f49cfe5
refactor(cli): better error for missing profiles.el
Only appears if a profile was requested and no profile file was found.
2022-07-29 12:32:35 +02:00
Henrik Lissner
068966a4cd
bump: :core
Fuco1/smartparens@ec15aaa748 -> Fuco1/smartparens@8b6a3c3b31
bbatsov/projectile@4d6da873ae -> bbatsov/projectile@dc6e7ff658
domtronn/all-the-icons.el@ca1ef30004 -> domtronn/all-the-icons.el@b18db6be0a
jscheid/dtrt-indent@57f4072fa8 -> jscheid/dtrt-indent@d4fd1b4977
jwiegley/use-package@a7422fb8ab -> jwiegley/use-package@0ad5d9d5d8
radian-software/straight.el@0e204d418d -> radian-software/straight.el@fed2153480
2022-07-29 12:31:44 +02:00
Henrik Lissner
493a049dff
tweak: disable tty optimization in debug mode
If an error occurs before tty-run-terminal-initialization
does (producing a backtrace window), it can leave Emacs in a garbled,
unreadable state.
2022-07-29 12:24:25 +02:00
Henrik Lissner
7a9f8b18ab
refactor: resolve doom-{core,modules}-dir properly
Future proofing for changes in doom-emacs-dir.
2022-07-29 12:23:42 +02:00
Henrik Lissner
7d93feb98c
nit: minor reformatting, comment revision, & sharpquoting 2022-07-29 12:22:33 +02:00
Henrik Lissner
35a89bdfa6
fix(lib): missing bin/doom error on doom/reload
doom/reload quotes `doom-bin`, but if doom-bin uses a tilde instead of
an absolute path, the quoting means it won't be expanded to $HOME,
causing "no such file or directory" errors when trying to execute it.

Fix: #6603
2022-07-28 22:29:32 +02:00
Henrik Lissner
a22cd75839
fix(cli): log benchmarks & postscripts to stderr
And only write benchmark to stdout if the command succeeded (exit code =
0) and isn't restarting (exit code = 254).
2022-07-28 22:29:32 +02:00
Henrik Lissner
fe2ea9f443
fix(cli): redundant lines in stderr logs 2022-07-28 22:29:32 +02:00
Henrik Lissner
20d5440023
fix(cli): don't persist options/args in context
They're overwritten anyway. And leftover state can cause confusion in
sub-sessions.
2022-07-28 22:29:18 +02:00
Henrik Lissner
7eeec53c30
fix(cli): improve end-of-file error in profiles file
Otherwise, the error message complains that the error originates from
core-cli.el.
2022-07-28 18:15:15 +02:00
Henrik Lissner
12b52909e3
fix(cli): env setter for profile loader
Amend: 48e3603dfe
2022-07-28 18:15:15 +02:00
Henrik Lissner
743b740e79
fix(cli): verbose output in debug mode 2022-07-28 18:15:15 +02:00
Henrik Lissner
314463bd49
fix(cli): ignored --{profile,doomdir,emacsdir,debug}
Fixes an edge case where --profile, --doomdir, --emacsdir, and --debug
were ignored if used in a nested bin/doom call. Now possible thanks to
49d3f1e.

Ref: 49d3f1e96c
2022-07-28 18:15:06 +02:00
Henrik Lissner
49d3f1e96c
feat(cli): accept omit list on (exit! :restart)
A list of arguments to omit can now be passed to (exit! :restart). For
example, `(exit! :restart "-c" :omit "--foo=" "--bar" "--baz=2")` will
restart the current script with a new switch (-c) and three switches
removed (--foo + one argument, --bar, --baz + two arguments).
2022-07-28 18:05:42 +02:00
Henrik Lissner
22eace62d0
fix: doom-local-dir for profiles
- Ensure it ends in slash,
- Ensure it includes the @-tag (e.g. default@latest),
- Remove vestigial code path that is unreachable.
2022-07-28 12:40:32 +02:00
Henrik Lissner
44f169740e
tweak: more debug output at startup
Particularly to do with profiles, in case the user starts Emacs with
--debug or --debug-init.
2022-07-28 12:01:02 +02:00
Henrik Lissner
48e3603dfe
fix: envvars in profiles.el not being set 2022-07-28 12:01:02 +02:00
Henrik Lissner
df8caf2867
nit(cli): revise header commentary
To properly reflect that it's unsafe to load core-cli in interactive
sessions, but safe to load core-cli-lib.
2022-07-28 12:01:02 +02:00
Henrik Lissner
5af38fb08e
feat: make bin/doom profile aware
- Fixes Doom's former inability to (trivially) juggle multiple profiles
  based on the same EMACSDIR (see #6593).
- Adds '--profile NAME' switch to bin/doom (also recognized
  $DOOMPROFILE).
- Adds new doom-profile* variables. These will eventually replace
  doom-{local,etc,cache}-dir and doom-{autoloads,env}-file.

This is intentionally messy to ensure backwards compatibility for a
little while longer. This will be fixed over the next couple weeks.

Ref: #6593
2022-07-28 12:01:02 +02:00
Henrik Lissner
1ecb5c7b9b
fix: fall back to $EMACSDIR/profiles/*
Formerly, profiles.el and $EMACSDIR/profiles/* were mutually exclusive.
I.e. if the file existed, it'd never check the directory. Now, it will
check the directory if the requested profile isn't in profiles.el, or
the file didn't exist.

Amend: 5b6b204bcb
2022-07-27 13:54:12 +02:00
Henrik Lissner
4c4a880f6b
docs: fix blockquote in profiles/README.org 2022-07-27 13:36:15 +02:00
Henrik Lissner
8f96850543
nit: add dummy safe-mode profile
To reserve the name, and to signal to posterity how future (static)
profiles will look. Someday, this profile will play "failsafe" if Doom
fails to load the requested one.
2022-07-27 13:33:43 +02:00
Henrik Lissner
bd989d16f0
tweak: prep gitignore for v3
- Ignore generated profiles
- Ignore /{init,config,packages}.el, in case the user wants to use
  $EMACSDIR and their $DOOMDIR.
- Cast a wider net for auto-generated files (usually made when launching
  sandboxes, but this will happen less as the sandbox develops).
2022-07-27 13:33:34 +02:00