Commit Graph

4540 Commits

Author SHA1 Message Date
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
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
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
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
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
6a8e990459 Fix wrong-number-of-args error on doom-init-theme-h
And silence byte-compiler warning for unused lexical argument.
2020-05-25 00:01:52 -04:00
ec1c6291ac Merge pull request #3198 from cxb811201/patch-1
Bump :core
2020-05-24 22:50:18 -04:00
a9316525c4 Backport variadic setq-local from Emacs 27 2020-05-24 16:45:55 -04:00
2cfff96437 Bump :core
raxod502/straight.el@f606bfa -> raxod502/straight.el@846956e
jwiegley/use-package@c873d55 > jwiegley/use-package@d2640fe
bbatsov/projectile@768f057 > bbatsov/projectile@5103cfc
noctuid/general.el@42e3803 > noctuid/general.el@a0b17d2
2020-05-22 23:58:00 +08:00
a262527a7f Fix load-theme not disabling old themes in Emacs 26
In Emacs 26, the old themes must be disabled *before* the new one is
loaded, otherwise it will fail to do so. In 27+ this isn't necessary,
and it's preferred that we do it after the theme loads, so we can be
absolutely sure the theme was successfully enabled, before we disable
the others!
2020-05-21 04:33:39 -04:00
dd0da922a3 {menu,tool,scroll}-bar-mode = nil
See comments.
2020-05-20 15:40:39 -04:00
196490c772 Improve UX & output of doom/bump-* commands 2020-05-20 15:33:55 -04:00
35b99fb272 Add fn! macro
For cl-function version of lambda, for implicit destructuring of
arguments.
2020-05-20 15:33:55 -04:00
ecbd4b7567 Fix setq! not triggering setters
Because the setters were looked up at expansion/compile time (much, much
too early), rather than at runtime.

This should indirectly fix "No year zero" errors for org-journal
users (#3173).
2020-05-20 01:06:04 -04:00
f0e6ede81b Relax how strict doom/bump-package-at-point is about point
This command would formerly work only if the point was on the opening
parenthesis, and sometimes insert the :pin in odd places. It is now much
more relaxed.
2020-05-19 22:00:20 -04:00
69a25a8468 Make doctor treat missing ripgrep as an error
It's a hard dependency for Doom.
2020-05-19 21:49:01 -04:00
204783a96e Change how doom core reloads itself after 'doom upgrade'
Hopefully to address weird void-function errors while upgrading.
2020-05-19 21:49:01 -04:00
df0bca6579 Fix doom/bump-module for :private packages 2020-05-19 19:11:02 -04:00
92b98bed11 Fix doom/help-search-loaded-files
Would throw a string type error because load-history doesn't only
contain sublists whose CARs are strings.
2020-05-19 17:33:57 -04:00
49bf79a380 Restore .projectile recognition
Why it was removed in the first place: hlissner/doom-emacs#1974

Why it's being restored: seems this causes too much confusion. Folks ask
why projectile doesn't recognize their projects. It's too much of
maintenance hassle. We'll deal with the breaking changes project.el will
introduce when we cross that bridge.

Closes #3074
2020-05-19 01:56:56 -04:00
a680885ed9 Fix doom-first-{file,buffer}-hook on first file
Due to typo.
2020-05-18 13:59:40 -04:00
ebdb3399b5 Recommend the correct option for changes in package origin
For prompts like these

  > In repository "org-roam", remote "origin" has URL
    "https://github.com/jethrokuan/org-roam.git"
  but recipe specifies a URL of
    "https://github.com/org-roam/org-roam.git"

       1) Abort
       2) Rename remote "origin" to "origin-1", re-create "origin" with correct URL, and fetch
       3) Rename remote "origin" manually, re-create it with correct URL, and fetch (Recommended)
       4) Delete remote "origin", re-create it with correct URL, and fetch
       5) Delete remote "origin", re-create it with manually set URL, and fetch

    How to proceed? (1, 2, 3, 4, 5)

4 should be recommended, not 3.
2020-05-18 03:37:42 -04:00
643377d8a4 Fix void-function doom--straight-respect-print-indent-a error
On first use of 'doom upgrade'
2020-05-18 03:27:30 -04:00
de78d0cc62 Fix #3138: infinite loop when reading package! files 2020-05-17 06:14:37 -04:00
6241ba2faa Emit fetch output when updating recipe repos 2020-05-17 06:14:37 -04:00
375faedb1b Emit backtrace if doom upgrade fails 2020-05-16 05:38:20 -04:00
49790fb53f Include the error when 'doom upgrade' fails 2020-05-16 05:31:33 -04:00
10d9ca87e9 Correct regexps for recommended straight options
When you're being prompted, these regexps control what option is
highlighted as the recommended option, and two of them were definitely
wrong, and another two *might've* been wrong.
2020-05-15 22:58:00 -04:00
1b43cf99f7 Add comments to & reformat doom-initialize 2020-05-15 21:57:21 -04:00
2e1c706c73 doom/env: fix -a switch, add -r switch #2434
Can now white and blacklist envvars
2020-05-15 21:56:04 -04:00
3d10e984ec Fix #3134: invalid lambda variable t on 'doom compile' 2020-05-15 17:56:29 -04:00
0972858808 Update 'doom install' post-amble 2020-05-15 17:55:23 -04:00
ea2de668b7 Fix #3135: no template after doom install 2020-05-15 17:19:39 -04:00
c1bee692cf doom/install? ignore errors in module init.el's
Fix #3132
2020-05-15 14:22:13 -04:00
8a83e9addd Fix wrong-number-of-args error on dired-find-file 2020-05-15 14:20:03 -04:00
e16c410b2a Fix use-package load errors on 'doom install' 2020-05-15 05:37:10 -04:00
2b8388079b Fix doom/bump-module command
Also allows you to bump :core now.
2020-05-15 05:37:10 -04:00
76b133fd98 Install core packages early 2020-05-15 05:37:08 -04:00