Commit graph

5085 commits

Author SHA1 Message Date
Henrik Lissner
0bc3f8ea87
doom/purge: refactor & optimize
Reduce how much work it had to do.
2020-05-25 15:55:29 -04:00
Henrik Lissner
944d7ec83f
Extract installation of core packages to function 2020-05-25 15:55:29 -04:00
Henrik Lissner
235b69bd20
Parameterize packages.el filename 2020-05-25 15:55:29 -04:00
Henrik Lissner
e60d8f9cb1
doom/install: refactor template insertion & module init 2020-05-25 15:55:29 -04:00
Henrik Lissner
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
Henrik Lissner
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
Henrik Lissner
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
Henrik Lissner
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
Henrik Lissner
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
Henrik Lissner
e00bfc7612
Minor refactors & reformatting 2020-05-25 03:43:40 -04:00
Henrik Lissner
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
Henrik Lissner
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
Henrik Lissner
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
Henrik Lissner
ec1c6291ac
Merge pull request #3198 from cxb811201/patch-1
Bump :core
2020-05-24 22:50:18 -04:00
Henrik Lissner
a9316525c4
Backport variadic setq-local from Emacs 27 2020-05-24 16:45:55 -04:00
Mike Chen
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
Henrik Lissner
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
Henrik Lissner
dd0da922a3
{menu,tool,scroll}-bar-mode = nil
See comments.
2020-05-20 15:40:39 -04:00
Henrik Lissner
196490c772
Improve UX & output of doom/bump-* commands 2020-05-20 15:33:55 -04:00
Henrik Lissner
35b99fb272
Add fn! macro
For cl-function version of lambda, for implicit destructuring of
arguments.
2020-05-20 15:33:55 -04:00
Henrik Lissner
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
Henrik Lissner
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
Henrik Lissner
69a25a8468
Make doctor treat missing ripgrep as an error
It's a hard dependency for Doom.
2020-05-19 21:49:01 -04:00
Henrik Lissner
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
Henrik Lissner
df0bca6579
Fix doom/bump-module for :private packages 2020-05-19 19:11:02 -04:00
Henrik Lissner
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
Henrik Lissner
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
Henrik Lissner
a680885ed9
Fix doom-first-{file,buffer}-hook on first file
Due to typo.
2020-05-18 13:59:40 -04:00
Henrik Lissner
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
Henrik Lissner
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
Henrik Lissner
de78d0cc62
Fix #3138: infinite loop when reading package! files 2020-05-17 06:14:37 -04:00
Henrik Lissner
6241ba2faa
Emit fetch output when updating recipe repos 2020-05-17 06:14:37 -04:00
Henrik Lissner
375faedb1b
Emit backtrace if doom upgrade fails 2020-05-16 05:38:20 -04:00
Henrik Lissner
49790fb53f
Include the error when 'doom upgrade' fails 2020-05-16 05:31:33 -04:00
Henrik Lissner
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
Henrik Lissner
1b43cf99f7
Add comments to & reformat doom-initialize 2020-05-15 21:57:21 -04:00
Henrik Lissner
2e1c706c73
doom/env: fix -a switch, add -r switch #2434
Can now white and blacklist envvars
2020-05-15 21:56:04 -04:00
Henrik Lissner
3d10e984ec
Fix #3134: invalid lambda variable t on 'doom compile' 2020-05-15 17:56:29 -04:00
Henrik Lissner
0972858808
Update 'doom install' post-amble 2020-05-15 17:55:23 -04:00
Henrik Lissner
ea2de668b7
Fix #3135: no template after doom install 2020-05-15 17:19:39 -04:00
Henrik Lissner
c1bee692cf
doom/install? ignore errors in module init.el's
Fix #3132
2020-05-15 14:22:13 -04:00
Henrik Lissner
8a83e9addd
Fix wrong-number-of-args error on dired-find-file 2020-05-15 14:20:03 -04:00
Henrik Lissner
e16c410b2a
Fix use-package load errors on 'doom install' 2020-05-15 05:37:10 -04:00
Henrik Lissner
2b8388079b
Fix doom/bump-module command
Also allows you to bump :core now.
2020-05-15 05:37:10 -04:00
Henrik Lissner
76b133fd98
Install core packages early 2020-05-15 05:37:08 -04:00
Henrik Lissner
87e279ce61
doom/doctor: improve error handler for font detection
Fixes #3008
2020-05-15 04:59:10 -04:00
Henrik Lissner
8f8d796ecd
doom/doctor: fix 'missing emacs package: org' #2284 2020-05-15 04:19:25 -04:00
Henrik Lissner
2884dd9ea7
Fix 'recreate repo' option not being recommended
When updating a package with a changed recipe (e.g. it's branch).
2020-05-15 02:29:22 -04:00
Henrik Lissner
ea18c83c0a
General refactors & reformatting across the board 2020-05-15 01:44:53 -04:00
Henrik Lissner
f521823d3b
Fix quiet! macro not silencing file loading 2020-05-15 01:33:52 -04:00