Commit graph

484 commits

Author SHA1 Message Date
Henrik Lissner
d866592beb
Fix unpin! with variadic module lists 2020-01-15 00:45:43 -05:00
Henrik Lissner
835f3f2c53
Eval unpin! logic at runtime 2020-01-15 00:31:12 -05:00
Henrik Lissner
4b2a9c8c38
Polish unpin! user story and docstring 2020-01-14 23:05:17 -05:00
Henrik Lissner
f3a9d0c03c
Resolve pinned packages based on overridden recipes
And rearrange "Checking out ..." message during 'doom upgrade' to
display package first, then commit (and abbreviated), rather than the
other around. It's easier to read.
2020-01-14 21:57:58 -05:00
Henrik Lissner
7326d2b4dc
Add unpin! macro for easy package unpinning 2020-01-14 21:39:19 -05:00
Henrik Lissner
b8b0f73edc
Resolve packages to repo for pinned packages
- Allow :pin SHA's to be abbreviated.
- Print out the repo being updated, rather than the package.
2020-01-14 21:18:59 -05:00
Henrik Lissner
9745f41ded
Add :no-byte-compile & :no-autoloads support to package! :recipe #2370 2020-01-14 19:25:24 -05:00
Henrik Lissner
f6852a2c9f
Add --discard switch to 'doom upgrade' #2224
Also rewrites straight prompt-in-batch-Emacs hack, and move it to
core-cli.el.
2020-01-09 03:36:00 -05:00
Henrik Lissner
309e322037
Add (Recommended) after certain straight prompts
When a package's worktree is dirty (or its recipe was changed), straight
prompts you with options to deal with it. To make it easier for less git
savvy folks, the recommended option has been marked.
2020-01-08 22:07:34 -05:00
Henrik Lissner
7a348f8784
Refactor how we indent straight's progress output
More work up front, less work in the trenches.
2020-01-01 19:34:30 -05:00
Henrik Lissner
b592e58c97
Fix warning when disabling core packages 2019-12-31 14:10:52 -05:00
Henrik Lissner
e5602c1802
Move async.el out of baseline packages
It isn't needed anywhere atm. Perhaps we don't need it in core at all?
2019-12-27 01:52:45 -05:00
Henrik Lissner
0ff68e5a7f
Don't handle straight transactions anymore
Since raxod502/straight.el@e45f726, straight handles its transactions in
non-interactive sessions.
2019-12-27 01:44:41 -05:00
Henrik Lissner
a02cfdc365
No-op package--ensure-init-file completely
Rather than setting package--init-file-ensured to nil. It's less work
for Emacs at startup and is functionally equivalent.
2019-12-27 01:44:40 -05:00
Henrik Lissner
09b49ee83a
Silence unused retval warnings from package! 2019-12-26 02:44:23 -05:00
Henrik Lissner
c1ff03ebed
Expand :local-repo relative to containing file 2019-12-26 02:40:56 -05:00
Henrik Lissner
28e36222ed
Reformat package! macro 2019-12-24 02:35:07 -05:00
Henrik Lissner
ebc30232a3
Fix package manager ignoring :disable 2019-12-24 02:25:37 -05:00
Henrik Lissner
125561eb03
Refactor package! & package init system
- Reduces `package!`'s side-effects and moves them to
  `doom-initialize-packages`.
- Adds :pin to `package!` for commit pinning (but it hasn't been
  implemented just yet -- needs more testing)!
- Adds `doom-pinned-packages` variable
- Now overrides straight recipes using `straight-override-recipe`
  instead of in-house merging.
2019-12-24 00:02:50 -05:00
Henrik Lissner
969b047472
Add warning when disabling core packages #2223 2019-12-21 14:11:20 -05:00
Henrik Lissner
11046d7f82
Move gcmh from doom-core-packages to core/packages.el
It doesn't need to be present outside of interactive sessions.
2019-12-19 22:07:32 -05:00
Henrik Lissner
5ece51a2a6
Prevent straight recipe lookup errors #2104
Errors like 'Could not find package emacsmirror-mirror in recipe
repositories' occur because I assumed that straight--reset-caches would
unset `straight-recipe-repositories`. I'm not sure if that was ever the
case, but it isn't now.
2019-11-23 01:44:49 -05:00
Henrik Lissner
9676c7a871
Update straight init
Since straight-allow-recipe-inheritance was introduced upstream, we no
longer need to merge recipes ourselves.
2019-11-23 01:21:24 -05:00
Henrik Lissner
db19241936
Use gcmh package to manage adjust GC interactively 2019-11-21 14:46:45 -05:00
Henrik Lissner
8ea3733e73
Fix :built-in property for package! 2019-11-17 17:55:06 -05:00
Henrik Lissner
3195b84fd2
Evaluate package! properties & error on :fetcher
- No longer translates :fetcher to :host. Update your package!
  declaration people!
- Now evaluates the values for properties (except for :recipe IF it is a
  list whose CAR passes keywordp -- for backwards compatibility).
- Throws error if an invalid property is used for a package!'s :recipe
2019-11-17 16:48:25 -05:00
Henrik Lissner
6599388f00
Fix infinite loop on invalid answer to straight prompts 2019-11-14 02:37:24 -05:00
Henrik Lissner
cae8c3f145
Refresh package.el first time package-install is used 2019-11-02 21:55:40 -04:00
Henrik Lissner
c2f6aa3e9d
Remove duplicate straight-are-you-sure advice 2019-10-26 00:58:26 -04:00
Henrik Lissner
c990c50fb8
Force straight to fall back to tty prompts
Otherwise it tries to use popups, which are invisible in non-interactive
Emacs, causing Emacs to block indefinitely.
2019-10-26 00:35:47 -04:00
Henrik Lissner
641d4a1b71
Fix ':built-in prefer' in package!
It was treating 'prefer as truthy, thus preventing packages with it from
being installed (like so-long).
2019-10-25 04:00:49 -04:00
Henrik Lissner
f516d4c342
Fix package! mutating package state at expansion time
Fixes an issue where package! declarations were read unconditionally at
compile time, whether or not they were on a reachable code path. e.g.
evil is always disabled by:

  (when nil
    (package! evil :disable t))
2019-10-25 02:38:15 -04:00
Henrik Lissner
45240699e0
Remove doom-elpa-dir variable
And just use package-user-dir. No need for two variable when one will
do.
2019-09-26 14:26:47 -04:00
Henrik Lissner
31ccd9be78
Replace vestigial references to def-package!
def-package! is deprecated and is replaced with use-package! to reduce
confusion about its purpose and connection to use-package.
2019-09-13 22:00:34 -04:00
Henrik Lissner
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
Henrik Lissner
91b27bdccc
Remove doom--straight-use-local-dir-a advice
Unnecessary now that straight-base-dir exists.
2019-09-02 22:51:20 -04:00
Henrik Lissner
19899dac82
Fix inverted condition in package-archives assembly 2019-08-28 22:08:13 -04:00
Henrik Lissner
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
Henrik Lissner
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
Henrik Lissner
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
Henrik Lissner
0b2b5d1c6c
Install & track from straight.el's develop branch 2019-08-21 00:09:44 -04:00
Henrik Lissner
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
Henrik Lissner
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
Henrik Lissner
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
Henrik Lissner
c3e2ec0157
Redesign straight initialization #1610 #1607
Straight throws an 'emacs-version-changed' error if you load it with a
version of Emacs it wasn't compiled with. This update causes this to
emit a more helpful error.
2019-07-29 21:09:21 +02:00
Henrik Lissner
19b6e82dc4
Change package! :recipe to extend default recipe
Instead of replacing the whole recipe with the contents of :recipe, only
modify the specified properties. This allows you to specify helpful
parameters like :nonrecursive or :depth without having to include the
full recipe.
2019-07-29 17:22:27 +02:00
Tej Chajed
1eacda2d5c
Fix :fetcher warning to include package name 2019-07-28 10:00:36 -04:00
Henrik Lissner
1a72cf0677
Minor, general refactors to package API 2019-07-26 20:17:30 +02:00
Henrik Lissner
bdcb156b91
Manually finalize straight transactions
Straight expects to be used interactively, which don't do (yet). Its
transactional system depends on idle timers, which don't run in a
noninteractive session, so we have to nudge it ourselves.
2019-07-26 03:12:06 +02:00
Henrik Lissner
9eaee096c8
Minor comment revision & general code reformatting 2019-07-23 17:30:32 +02:00