Commit Graph

341 Commits

Author SHA1 Message Date
49fb34d1c1 Fix 'doom purge' trying to purge site packages
It should only manage packages installed in
doom-elpa-dir (~/.emacs.d/.local/elpa, by default).
2019-09-02 13:12:57 -04:00
c55676d221 cli/upgrade: add timeout flag
Since there is a lot of logic in `bin/doom upgrade` than just running
two commands, I thought we should also add a timeout flag just like
`update` has.
2019-08-29 17:03:42 -07:00
aad0b2f842 Change how unit tests are set up and run
Moves init.test.el to core/test/init.el and initializes the test
environment from within the current session, rather than through a bash
script middle man.

TODO: don't buffer the unit test results
2019-08-27 00:07:01 -04:00
8ac1e1a781 Refactor doom init process
- Refactors doom-initialize
- Moves doom-initialize-modules call to init.el, to more easily isolate
  it during unit testing.
2019-08-27 00:05:12 -04:00
465122320d Byte-compile Doom in the correct order
That is, modules should be byte-compiled in the order they're in in your
doom! block.
2019-08-23 20:30:39 -04:00
9d0966e94a Forcibly refresh doom after 'doom upgrade'
Ensures autoloads files are regenerated.
2019-08-23 01:56:43 -04:00
025a4c3d26 Properly reset packages on 'doom update'
Prevents some cases of infinite hanging while updating certain packages.
2019-08-22 16:13:23 -04:00
e502031412 Fix 'doom purge' not regrafting all repos on first use 2019-08-22 16:12:22 -04:00
eb567f51c8 Handle git submodules from 'doom update' 2019-08-22 13:02:24 -04:00
94ba098e43 Normalize package before checks in 'doom update'
This reduces the likelihood that straight will throw up invisible
popups, blocking the update process indefinitely.
2019-08-21 18:34:55 -04:00
b854a089eb Sort & optimize package list on 'doom purge' 2019-08-18 11:24:44 -04:00
2b3f522858 Update :recipe example in dummy packages.el
Deployed by `doom quickstart`/`doom install`
2019-08-17 16:04:26 -04:00
d298a8e71c Update envvar file comment header
Envvar files are now refreshed on `doom refresh`, if it exists. A while
back I removed the `doom env reload` step.
2019-08-15 17:29:08 -04:00
5aa7415d87 Add -t/--timeout switch to 'doom update'
To get around timeout issues on slower connections or larger packages.
2019-08-15 01:34:28 -04:00
b29a7ba8fe Fix 'doom compile'
Fixes `void-function define-key!` error.
2019-08-15 01:33:40 -04:00
2cd9685758 Discard timed out future correctly on 'doom update'
And list packages immediately after message (no newlines).
2019-08-09 22:23:38 -04:00
624c5e1a71 Complain about unknown targets in 'doom compile' #1657 2019-08-09 22:23:37 -04:00
0a44881df1 Increase number of sub-processes for 'doom update' 2019-08-08 23:00:54 -04:00
c266680c11 Fix #1653: uncaught error when async process times out 2019-08-08 22:59:57 -04:00
115a436273 Fix 'doom update' for chemacs users
Or users who have Doom in a non-standard location (i.e. outside
~/.emacs.d).
2019-08-08 11:48:13 -04:00
ef60762a92 Fix wrong-type-arg: listp error on 'doom update'
Caused when async fails to create a child process for a certain group of
packages (needs to be investigated more).
2019-08-07 21:07:43 -04:00
f42bfde8ae Fix #1648: doom upgrade not updating packages
...when Doom itself is up-to-date.
2019-08-07 20:55:56 -04:00
4a92d12267 Fix void-variable package error on 'doom update' 2019-08-07 17:22:46 -04:00
b808c4e1ab Reload autoloads files in noninteractive sessions
After it's been regenerated, so that any hacks (*cough*org/magit*cough*)
are in scope.
2019-08-07 16:55:04 -04:00
c8d6ab823b Update documentation for 'doom env' 2019-08-07 01:42:46 -04:00
54edffc4bb cli/packages: emit a little more debug info
To mark the start of purging/regrafting procedures.
2019-07-29 21:29:43 +02:00
435436e390 Fix 'doom purge' failing to delete build directory 2019-07-29 21:18:49 +02:00
7559949e09 Rewrite 'doom purge'; add repo regrafting
'doom purge -r' now re-grafts shallow cloned packages (compacting them
as much as possible).
2019-07-29 21:09:23 +02:00
87fd81281f Rewrite 'doom update'
- Is now much more fault tolerant (produces better errors)
- Now handles async.el process errors as well
- Standardizes data structure of thread responses
2019-07-29 21:01:46 +02:00
da954aa361 Improve 'doom build' reporting & checks
- Fix 'doom build' not byte-compiling stale dependencies of rebuilt
  packages.
- Fix 'doom build' logging the wrong number of packages that were
  rebuilt.
2019-07-29 20:59:52 +02:00
c32244ad4e Generalize doom-sh
And slightly reformat 'doom upgrade' "you have updates" message.
2019-07-29 20:57:20 +02:00
2b81233353 Clean up _upgrade rmeote after 'doom upgrade' 2019-07-29 03:47:56 +02:00
ba07fe575e Add {--no-{elpa,builds},-r,--repos} flags to 'doom purge' 2019-07-29 03:47:12 +02:00
8a16513107 Fix various errors in 'doom upgrade' 2019-07-29 03:34:35 +02:00
2304d69898 Fix wrong-type-arg number during 'doom upgrade' 2019-07-29 03:21:55 +02:00
c28fff4fbf Fix void-variable branch error on 'doom upgrade' 2019-07-29 03:18:39 +02:00
c2af0723d7 Show progress percentage during 'doom update' 2019-07-28 16:10:54 +02:00
efb4584797 Alias 'doom build' to 'doom rebuild' 2019-07-28 14:02:51 +02:00
a9c1986a68 Fix and refactor 'doom upgrade' #1607
Now accepts the -f/--force switches to discard local changes to
the .emacs.d directory.
2019-07-28 13:47:57 +02:00
4dc42de9e3 def-command! -> defcli!
And def-command-group! -> defcligroup!, to match our new convention for
naming definer macros.
2019-07-28 02:32:25 +02:00
8dab8eefca Prevent load-file-name/#$ replacements in strings & comments 2019-07-27 22:57:32 +02:00
8d388ebba9 Improve 'doom rebuild' checks & formatting of logs
Corrects stale bytecode a little more aggressively.
2019-07-27 17:22:47 +02:00
21a27b52d8 Refactor autoloads generation
- Correctly replace references to load-file-name and $# in autoloads.
- Don't load resulting autoloads file twice
- Read package autoloads literally (a little faster)
2019-07-27 16:59:10 +02:00
0dfdbd471c Ensure envvars at top of envvar file are checked
The regexp expects there to be at least one newline at the top of the
file, otherwise the very first envvar is skipped.
2019-07-27 02:46:50 +02:00
597ef77c20 Ignore envvars prefixed with __
They are likely private. There are some public variables with single
underscore prefixes, however, like _FASD_DATA and _FASD_VIMINFO.
2019-07-27 02:46:49 +02:00
6fcaa80355 Improve autoloads mtime scanning on packages
Scan source files in build directory rather than repos, which are better
indicators of a stale autoloads file.
2019-07-26 20:17:30 +02:00
a10693886e Fix double-rebuilding & lingering stale elc files
This update addresses two evasive issues:

1. Packages updated with `doom update` would not rebuild correctly,
   requiring a `doom refresh` afterwards,
2. Packages would fail to rebuild even if their byte-compiled files were
   stale. The result: "*.el is newer than *.elc" warnings at startup.
2019-07-26 20:17:29 +02:00
f8c4d075a5 Fix doom purge reporting failure despite success 2019-07-26 20:17:29 +02:00
c2ae6f30a5 Don't compress auto-mode-alist
Modules may readd their entries afterwards, anyway.
2019-07-26 15:33:32 +02:00
8834ba17e3 Only return non-nil if doom-packages-purge worked 2019-07-26 13:59:14 +02:00