Commit Graph

134 Commits

Author SHA1 Message Date
b25e215d59 Increase last-pkg-refresh ttl from 900 -> 1200s 2018-05-24 16:41:14 +02:00
fbf8a7be56 Remove vestigial references to doom//reload-load-path 2018-05-21 01:38:17 +02:00
f2c02e32c8 General minor refactor & comment updates 2018-05-21 01:38:17 +02:00
b7b1445712 Update doom-get-outdated-packages to match new init process 2018-05-20 12:07:31 +02:00
c826f0f6a8 Shrink dependency chains in core libraries 2018-05-20 12:06:50 +02:00
0634289a01 Autoload doom-*-package functions 2018-05-20 12:05:17 +02:00
61ca98fd3f Refactor package managent batch commands
+ Replace message! with print!
+ doom//packages-* commands now only return t if package list changed
2018-05-20 12:03:50 +02:00
ee386f8461 Fix wrong-number-of-args error when installing packages
The fourth argument of map-put is an Emacs 26+ only feature.
2018-05-18 18:47:19 +02:00
50401f6c09 Minor refactor of package management api 2018-05-18 01:11:20 +02:00
82f9fb7027 Optimize package management commands
Effectively halving run time on package install, update and autoremove
commands.
2018-05-18 01:08:28 +02:00
e7a1e0b4a2 Improve interactive package management support 2018-05-16 00:11:14 +02:00
225dfde40f Initialize all package metadata on doom-get-missing-packages 2018-04-05 02:29:14 -04:00
1aa50b8364 Error if doom-package-outdated-p cannot discern package's version 2018-04-05 02:28:42 -04:00
f334a92fdc Fix package management delete-reinstall loop with quelpa packages 2018-03-28 01:04:34 -04:00
b5db4f1fb6 Debug log missing modules; remove log! macro 2018-03-24 07:25:00 -04:00
c54fb7b8c0 Fix package advice interfering with doom-initialize
...by aggressively reloading the config from within doom-initialize (too
early, some state hasn't been initialized at this point).
2018-03-14 20:12:15 -04:00
8898c5cb9a Fix void-function doom*initialize-packages error
Occurs before autoloads are generated.
2018-03-14 19:52:25 -04:00
cdbd677423 Allow use of package.el #444
This makes package.el commands safe to use in Doom, and prevents errors
caused by unitialized state, by running package-initialize before
you use a package.el command.
2018-03-14 18:25:25 -04:00
03e6900d3c doom//packages-update: output feedback earlier 2018-03-13 03:18:02 -04:00
0425724571 Major rewrite of doom module API
+ Fix #446, where the .local/packages.el cache was generated with
  a faulty load-path.
+ Entries in the doom-modules hash table are now plists, containing
  :flags and :path, at least.
+ Add doom-initialize-modules for loading module config.el files.
+ Add doom-module-get for accessing this plist, e.g.

    (doom-module-get :some module)         ; returns plist
    (doom-module-get :some module :flags)  ; return specific property

+ Replace doom-module-enable with doom-module-set, e.g.

    (doom-module-set :some module :flags '(+a +b +c))

+ Remove doom-module-flags (use doom-module-get instead)
+ Rename doom-module-enabled-p with doom-module-p
+ Replace doom-module-path with doom-module-find-path and
  doom-module-expand-file. The former will search for an existing module
  or file in doom-modules-dirs. The latter will expand the path from
  whatever path is stored in doom-modules.
+ Replace doom-module-paths with doom-module-load-path
+ Changed doom! to allow for nested doom! calls by delaying the loading
  of module config.el files until as late as possible.
+ Refactor doom-initialize-packages to only ihitialize package state
  (i.e. doom-packages, package-alist, and quelpa-cache), rather than its
  previous behavior of loading all Doom files (and sometimes all module
  files). This is faster and more predictable.
2018-03-02 19:14:45 -05:00
55c6244e9f doom-install-package: clean up after failed quelpa install 2018-02-22 04:48:36 -05:00
446a66603f Fix quelpa packages looking up elpa version
This is a regression introduced in b1bf67f6.

Package management would incorrectly compare quelpa package versions
with elpa package versions. This would cause "outdated" packages to get
deleted.
2018-02-22 04:19:25 -05:00
7bfd0a3304 And changed-quelpa-recipe detection
These packages are now reinstalled on make install.
2018-02-20 17:55:55 -05:00
b1bf67f630 Refactor package init process
quelpa is now initialized by doom-initialize-packages.
2018-02-20 17:54:10 -05:00
cb3e780a96 Fix package manager not detecting outdated quelpa packages 2018-02-13 05:23:40 -05:00
57b2b5c546 Fix doom//packages-update not updating dependencies 2018-02-11 16:13:15 -05:00
7e87ab3e29 New warn! macro; replace debug! with log! macro 2018-02-04 17:53:31 -05:00
2734810060 Show error when looking up dependency trees for built-in packages
There's no obvious way to do this, and I don't think it's important
enough to accommodate it.
2018-01-07 00:15:58 -05:00
392f04446f General refactor (use map.el more)
+ map-delete is shorter and faster than assq-delete-all
+ map-put is simpler than the delete-then-set workflow
+ map-merge is great for merging default and user settings
2018-01-07 00:15:58 -05:00
31a4244686 Rethink what Doom loads at startup and manually
Better to simply load what we need, when we need it, rather than set up
autoloads for every litte thing.
2018-01-07 00:15:57 -05:00
0042a56d02 Add new cache library (persistent-soft wrapper) 2018-01-07 00:15:57 -05:00
5d186d10b4 doom-install-package: don't try to uninstall built-in packages 2018-01-04 16:16:45 -05:00
f3bad40fdf Packages api: simpler error handling 2018-01-04 16:16:45 -05:00
a29bc54c63 Install packages in the order they are declared 2018-01-04 16:16:45 -05:00
7ab8958971 Refactor package management api + remove doom-initialize 2017-12-22 16:26:08 -05:00
98e324b785 Fix 'not installed' errors for built-in packages #288
Caused by doom-package-backend not taking into account that a package
could be built-in. Derp!
2017-12-22 04:02:58 -05:00
34c74d2d5c doom//packages-install: fix skipped cleanup code 2017-12-20 20:10:14 -05:00
4e83cd516c Add unicode symbols to package management output 2017-12-20 20:07:46 -05:00
76a4ae459d Fix obsolete (when|if)-let messages in Emacs 26 2017-12-10 14:49:52 -05:00
6def061c5a Minor refactor/comment corrections 2017-11-13 18:03:36 +01:00
958c7da288 Fix ALREADY INSTALLED for packages with new backends #222 2017-11-13 18:02:57 +01:00
80d8949f91 doom-update-package: error if package's backend has changed 2017-11-13 18:01:38 +01:00
cc3f2c76d9 doom-install-package: let -> let* 2017-11-13 18:00:46 +01:00
eb01401513 Remove references to old package api 2017-11-13 17:58:16 +01:00
903ac3f0ef Run doom//reload-autoloads in separate session
Includes a minor refactor core/core-packages.el
2017-11-08 22:51:55 +01:00
0c2b1b5a93 Fix packages with changed backend #222
Doom can't tell what backend a package was installed with, only whether it
is installed or not. This means if a package was installed with, say,
ELPA, then was changed to QUELPA, Doom wouldn't know.

Package management would fail. ELPA/QUELPA can't manage a package that
it didn't install.

This fix gives Doom that capability.
2017-11-05 19:54:43 +01:00
95a5b46dc5 New // naming convention + refactor doom management functions 2017-11-05 19:54:43 +01:00
43a9acec28 Simplify doom-get-outdated-packages (1 thread per quelpa pkg) 2017-11-05 19:54:43 +01:00
42fec8494d Rename doom/reload => doom/reload-load-path 2017-09-19 15:07:57 +02:00
81c54684de Fix incorrect user-emacs-directory when updating packages #190 2017-09-05 12:40:54 +02:00