Commit Graph

3667 Commits

Author SHA1 Message Date
81ee250c09 Minor refactor & revision across the board 2019-09-03 00:59:46 -04:00
4ce86b06d4 Use more ambiguous reset target when normalizing repos
Possibly addresses "ambiguous target" errors during 'doom update'.

Might address #1738 and #1721
2019-09-03 00:59:46 -04:00
62b089ba36 Refactor core & core-lib
And make their tests pass
2019-09-03 00:59:46 -04:00
059ede53b6 Update all unit tests
To meet changes introduced from the straight branch merge.
2019-09-03 00:59:46 -04:00
52b6c51914 Read packages.el files directly for doom-info
This is a little more accurate and affects less state of the current
session.
2019-09-03 00:38:29 -04:00
65d3406e27 Fix various errors during 'doom compile' 2019-09-03 00:38:04 -04:00
4b736bef68 Introduce doom-interactive-mode
As soft inverse alias for noninteractive; this makes it easier to unit
test functionality that depends on the session type.
2019-09-03 00:37:30 -04:00
91b27bdccc Remove doom--straight-use-local-dir-a advice
Unnecessary now that straight-base-dir exists.
2019-09-02 22:51:20 -04:00
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
cd25abd7d2 Merge pull request #1735 from seanfarley/smf/add-timeout-arg
cli/upgrade: add timeout flag
2019-09-02 00:45:13 -04:00
d1a299b9f5 Fix #1719: sole :when in def-project-mode! 2019-08-29 20:05:34 -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
3a10e948aa Fix #1718: void-function set-fontset-font
Occurs when Emacs is built without X server/GUI support.
2019-08-29 18:52:33 -04:00
19899dac82 Fix inverted condition in package-archives assembly 2019-08-28 22:08:13 -04:00
75fe17950e Refactor doom-initialize-packages
Make it reinitialize more if FORCE-P is provided or doom-init-packages-p
is nil.
2019-08-28 16:46:39 -04:00
7727920629 Rewrite doom/reload 2019-08-28 15:19:58 -04:00
851b51357e Fix #1712, #1719: project minor modes not activating 2019-08-28 15:17:40 -04:00
464ebabc2a Add warning to doom/reload (SPC h R) 2019-08-28 12:40:59 -04:00
8cb1fe1874 Add setq! macro
A convenient alternative to setq where you don't have to care about load
order (no need for after! blocks).
2019-08-27 00:08:22 -04: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
8766499b0d Fix some file permissions errors
Occurs when deferred packages are loaded while in an unreadable or
non-existent directory.
2019-08-27 00:05:12 -04:00
a5096ff86b Add ELPA packages to doom info output 2019-08-27 00:05:12 -04:00
ca574c60b0 Fix pushnew! inserting duplicates of complex types
Because it was using #'eql for comparison, which is insufficient for
compound datatypes, like strings.
2019-08-27 00:05:12 -04:00
a567e2f85e Remove pushmany! macro
It is redundant with prependq!, appendq! and pushnew!.
2019-08-27 00:05:12 -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
205bf453de Fix void-function doom--resolve-path-forms error
By using project-file-exists-p! macro instead.
2019-08-23 01:56:43 -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
aff5cc5b28 Move file-exists-p! to core/autoload/files.el 2019-08-22 13:03:12 -04:00
eb567f51c8 Handle git submodules from 'doom update' 2019-08-22 13:02:24 -04:00
970a31fc56 Enable ns-auto-titlebar-mode for mac users
ns-auto-titlebar-mode needs to be enabled for
ns-auto-titlebar-set-all-frames and ns-auto-tilebar-set-frame to work.
2019-08-21 21:12:52 -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
3b9701161a Fix build date in doom/version
When it is called interactively from a file outside of ~/.emacs.d
2019-08-21 12:17:32 -04:00
879f3a660a Use new straight-base-dir variable
We can't phase out doom--straight-use-local-dir-a until I fix the issue
with straight not reinstalling packages when their recipes change.
2019-08-21 00:29:12 -04:00
40e6a37652 Expand on doom-module-load-path's docstring
Mention that value in the returned list is always doom-private-dir.
2019-08-21 00:10:24 -04:00
0b2b5d1c6c Install & track from straight.el's develop branch 2019-08-21 00:09:44 -04:00
1cd219dfa7 Update the docstring for leader/localleader vars
They should be set in your private config.el, not init.el.
2019-08-19 21:04:54 -04:00
2eb8035f15 Add more DEPRECATED tags
For Emacs 25 functionality that'll be removed when 25.x support is
dropped.
2019-08-19 21:04:11 -04:00
b854a089eb Sort & optimize package list on 'doom purge' 2019-08-18 11:24:44 -04:00
2a3f95f615 Update line-number-display-width polyfill
It takes one argument in later versions of Emacs. This file really
shouldn't be visible to Emacs 25.x and earlier, but there has been one
case of it being indexed by Doom's autoload scanner.

Also marks the library with the new DEPRECATED tag. It will be removed
once Doom removes 25.x support.
2019-08-17 16:04:26 -04:00
2b3f522858 Update :recipe example in dummy packages.el
Deployed by `doom quickstart`/`doom install`
2019-08-17 16:04:26 -04:00
b2fd76cb49 Ensure straight is loaded on doom-initialize-packages
Without causing recursive require errors if called in an after! handler
for straight.
2019-08-15 19:56:20 -04:00
8d3536fa77 Initialize package.el on doom-initialize-packages
So that packages installed via package.el are still available.
2019-08-15 19:52:43 -04:00
bc8b6605db Don't byte-compile straight
This eliminates the possibility of straight throwing an
emacs-version-changed error, which is difficult to catch, when uses
could invoke a straight command interactively and any time. We'll do our
own version checks (later).
2019-08-15 19:51:36 -04:00
a7bdf6825a Set default exec-path & shell-file-name
In case doom-load-envvars-file is called when these vars have local
bindings.
2019-08-15 18:42: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
4e016eb843 Merge pull request #1621 from ashtonbaker/fix-spelling
fix small spelling mistake in fonts.el
2019-08-15 15:02:17 -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