Commit Graph

13423 Commits

Author SHA1 Message Date
10a4e6570d Fix 'doom env' refusing arguments/options 2020-05-26 03:21:27 -04:00
b6cc110f4c Fix 'wrong-type-arg' error on 'doom upgrade' 2020-05-26 03:12:35 -04:00
894966b1e2 Fix #3221: incorrect usage of doom-cli-execute
The function is variadic in as-of-yet published versions of Doom's CLI;
this usage snuck into a commit.
2020-05-26 02:55:24 -04:00
a814239ec7 Implement daisy-chaining for CLI sessions
elisp lacks an execv implementation (or mature subprocess library), so
we exploit some splenderiffic hackery to get Emacs to execute arbitrary
shell commands after a 'doom ...' command completes. This allows us to
daisy chain doom commands in distinct sessions (wonderful for reloading
doom after a 'doom upgrade', which we do). This minimizes errors when a
'doom upgrade' pulls in breaking changes to Doom's CLI.

We also bring 'doom run' into elisp, since this new functionality
enables us to.
2020-05-26 02:30:54 -04:00
e89b604f5f Fix 'doom upgrade' when doom is a git submodule 2020-05-26 02:13:02 -04:00
101cd5019f Bump :emacs undo
ideasman42/emacs-undo-fu@bcf7f92 -> ideasman42/emacs-undo-fu@46de023

bcf7f92 no longer exists (probably force pushed).
2020-05-26 01:39:52 -04:00
e1f73bd7cb Fix void-function +literate-tangle-h on saving org files 2020-05-26 01:00:49 -04:00
07714a12d4 Fix wrong-type-argument: sequencep 45 opening dired 2020-05-25 22:16:11 -04:00
3253ca8435 Minor refactors & comment/message revision 2020-05-25 22:11:15 -04:00
519a402f62 Freeze doom-modules in between 'doom sync'
The coming CLI rewrite makes bin/doom atomic, but also "freezes" more of
your config in between 'doom sync's and 'doom upgrade's. This is
necessary to implement a robust rollback system. However, that also
means that `doom!` shouldn't do anything when read in an interactive
session (and should only be read when running `doom sync`).

Indirectly fixes #2612
2020-05-25 21:51:35 -04:00
2c2a4c5c8a Don't load core modules if NO-CONFIG-P
Might address #2612
2020-05-25 21:01:09 -04:00
d1fcbf244b doom/toggle-debug-mode -> doom-debug-mode 2020-05-25 20:18:36 -04:00
1febb5a04e lang/org: refactor +journal submodule 2020-05-25 20:18:35 -04:00
1916d26c75 Fix void-function +literate-tangle 2020-05-25 18:18:10 -04:00
16ecfd3e4f Bump :lang org
abo-abo/org-download@d248fcb -> abo-abo/org-download@8e12cf0
bastibe/org-journal@524009b -> bastibe/org-journal@a3ff9ce
emacs-straight/org-mode@9bc0cc7 -> emacs-straight/org-mode@5454312
hlissner/evil-org-mode@9cf661a -> hlissner/evil-org-mode@2e9c4a2
org-roam/org-roam@e3d101f -> org-roam/org-roam@ea6bd21

org-journal introduces some breaking changes (by shifting away from
auto-mode-alist to magic-mode-alist for detecting journal files), and
had to be accommodated.

Fixes #3199
2020-05-25 18:17:38 -04:00
15a58d5b81 Prevent 'doom sync' rebuilding all packages, each time 2020-05-25 18:17:38 -04:00
e4d508b47f Merge pull request #3208 from webframp/vc-readme
Add emacs/vc readme
2020-05-25 16:52:09 -04:00
8c3f24f14c Disable lsp-auto-guess-root
This was too confusing for beginners. May as well have LSP prompt or a
project than sometimes guess incorrectly.

Closes #3212, #3075
2020-05-25 16:48:42 -04:00
f47ec8b919 Disable default doom-font in config.el template
Closes #3194
2020-05-25 16:30:21 -04:00
9f024e549f Instruct user to rerun 'doom upgrade'
If it fails during reloading of Doom's core.

Relevant to #3131
2020-05-25 16:27:51 -04:00
16d44de0db Add/improve docs for doom sync's -u & -p switches 2020-05-25 16:26:16 -04:00
8c37928de2 Disable 'doom refresh'
That 'doom refresh' and 'doom sync' do the same thing has been a point
of confusion for a while. By phasing out 'doom refresh' we can finally
put that to rest.
2020-05-25 16:23:17 -04:00
3c24f15450 Fix void-variable doom-interactive-mode (part 3)
Third time's a charm!

...

I need sleep.
2020-05-25 16:15:23 -04:00
53b7abde1e Fix void-variable doom-interactive-mode (part 2)
Of the 10 part mini-series!
2020-05-25 16:14:27 -04:00
d3e4d317b3 Fix void-variable doom-interactive-mode 2020-05-25 16:12:30 -04:00
20cddb3565 config/literate: fix tangling on 'doom sync' 2020-05-25 16:03:34 -04:00
5cba174bd9 Add doom-sync-{pre,post}-hook 2020-05-25 16:03:16 -04:00
3139303874 Remove unused test module
This will be replaced soon.
2020-05-25 16:02:07 -04:00
fe7df725f6 Have package manager manage straight.el
We used a clumsy hack in `doom--ensure-straight` to delete straight if
its pinned commit didn't match the current one, to force it to be
reinstalled. With this, Doom's package manager will delete/update
straight like any other package.
2020-05-25 15:58:28 -04:00
0bc3f8ea87 doom/purge: refactor & optimize
Reduce how much work it had to do.
2020-05-25 15:55:29 -04:00
944d7ec83f Extract installation of core packages to function 2020-05-25 15:55:29 -04:00
235b69bd20 Parameterize packages.el filename 2020-05-25 15:55:29 -04:00
e60d8f9cb1 doom/install: refactor template insertion & module init 2020-05-25 15:55:29 -04:00
5909b183c6 Prohibit posting usage/config questions on issue tracker
We've hit capacity. It's impossible to support all these howto "issues",
and it adds too much noise to our issue tracker.
2020-05-25 15:55:29 -04:00
6387f26a5d ui/modeline: mention "cut off modeline" issue in readme
Plus workarounds.
2020-05-25 15:55:29 -04:00
e6c88e4384 Refactor autoloads generator & reduce to one generated file
We no longer need two separate autoloads files, so I merged them and
optimized its generation logic.

Other changes
- Doom will refuse to start up (with a helpful error) if it's in an
  incomplete state. This should hopefully reduce the number of bug
  reports from folks that have done something weird, e.g.
  1. You've changed Emacs versions without running 'doom sync -b'.
  2. You've updated Doom outside of `doom upgrade` and didn't run `doom
     sync -u`.
  3. You've forgotten to run 'doom sync' in the first place!
  4. If a previous 'doom ...' command was aborted midway without running
     'doom sync' afterwards.
- 'doom sync' will emit reminders that you need to reload/restart Emacs
- Autoloads API now uses the `doom-autoloads-` prefix, intead of
  'doom-cli-autoloads-', as will be the new convention in the coming
  rewrite.
- Errors from within the package autoloads should be easier to invoke
  the debugger on.
- `doom-modules` is now stored in your autoloads file. Your module list
  will soon be frozen between calls to 'doom sync' to allow for our new,
  atomic CLI I'm working on. This will also means the `doom!` block
  won't cost anything in interactive sessions.
2020-05-25 15:55:29 -04:00
be889d09e8 Rename doom-format lib -> doom-output
`format` isn't an appropriate for this library, considering it (and
future additions to it) will be mainly concerned with printing or
capturing output.
2020-05-25 15:55:29 -04:00
a706c3527b Simplify test/shell.nix
And merge shell.head.nix into it. A different version can be passed in
as an --arg
2020-05-25 15:55:29 -04:00
ccd1764acb Remove 'doom sync' from shell.nix
Let user decide what they want to do upon starting the shell. We
accommodate the user that wants simple access to Emacs 26/27/HEAD.
2020-05-25 15:55:28 -04:00
cc5f498586 Add magic cli.el in modules & refactor module init
Doom now looks for cli.el files in your private directory or modules,
giving them an opportunity to customize the CLI (add commands or
reconfigure existing ones) to suit their purposes.
2020-05-25 15:55:28 -04:00
3a38fc633c Change doom-{interactive,debug}-mode suffix to -p
Because these are not really modes.

Also makes `doom-debug-mode` an actual (global) minor mode.
2020-05-25 03:43:40 -04:00
4f46140226 Bump :lang emacs-lisp
jorgenschaefer/emacs-buttercup@532d082 -> jorgenschaefer/emacs-buttercup@e71a40f
2020-05-25 03:43:40 -04:00
ada4110730 Refactor :lang emacs-lisp 2020-05-25 03:43:40 -04:00
7ca20f158b Resolve mu4e-attachment-dir from mu4e-root-maildir
Closes #3133
2020-05-25 03:43:40 -04:00
b625a54db6 Add -v switch to dired-listing-switches (for GNU ls)
Natural sorting of ls file list (when it comes to numbers/versions in
file names).
2020-05-25 03:43:40 -04:00
c690ed600a lang/swift: add pair rule for string interpolation 2020-05-25 03:43:40 -04:00
0252f4f36f Refactor :ui modeline +light 2020-05-25 03:43:40 -04:00
e00bfc7612 Minor refactors & reformatting 2020-05-25 03:43:40 -04:00
3e5cf3de09 Simplify gcmh config
We don't need to manipulate gc-cons-percentage. The GC never procs at
startup either way.
2020-05-25 02:10:07 -04:00
09c6e99e23 Fix 'Cannot get this file-path' when bumping in babel edit buffers
Break glass in case of literate configs.
2020-05-25 01:19:03 -04:00