Commit Graph

484 Commits

Author SHA1 Message Date
d866592beb Fix unpin! with variadic module lists 2020-01-15 00:45:43 -05:00
835f3f2c53 Eval unpin! logic at runtime 2020-01-15 00:31:12 -05:00
4b2a9c8c38 Polish unpin! user story and docstring 2020-01-14 23:05:17 -05:00
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
7326d2b4dc Add unpin! macro for easy package unpinning 2020-01-14 21:39:19 -05:00
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
9745f41ded Add :no-byte-compile & :no-autoloads support to package! :recipe #2370 2020-01-14 19:25:24 -05:00
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
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
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
b592e58c97 Fix warning when disabling core packages 2019-12-31 14:10:52 -05:00
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
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
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
09b49ee83a Silence unused retval warnings from package! 2019-12-26 02:44:23 -05:00
c1ff03ebed Expand :local-repo relative to containing file 2019-12-26 02:40:56 -05:00
28e36222ed Reformat package! macro 2019-12-24 02:35:07 -05:00
ebc30232a3 Fix package manager ignoring :disable 2019-12-24 02:25:37 -05:00
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
969b047472 Add warning when disabling core packages #2223 2019-12-21 14:11:20 -05:00
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
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
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
db19241936 Use gcmh package to manage adjust GC interactively 2019-11-21 14:46:45 -05:00
8ea3733e73 Fix :built-in property for package! 2019-11-17 17:55:06 -05:00
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
6599388f00 Fix infinite loop on invalid answer to straight prompts 2019-11-14 02:37:24 -05:00
cae8c3f145 Refresh package.el first time package-install is used 2019-11-02 21:55:40 -04:00
c2f6aa3e9d Remove duplicate straight-are-you-sure advice 2019-10-26 00:58:26 -04:00
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
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
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
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
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
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
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
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
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
0b2b5d1c6c Install & track from straight.el's develop branch 2019-08-21 00:09:44 -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
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
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
1eacda2d5c Fix :fetcher warning to include package name 2019-07-28 10:00:36 -04:00
1a72cf0677 Minor, general refactors to package API 2019-07-26 20:17:30 +02:00
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
9eaee096c8 Minor comment revision & general code reformatting 2019-07-23 17:30:32 +02:00