Commit Graph

492 Commits

Author SHA1 Message Date
06bd3dfccc Improve how reload-doom-autoloads detects your modules have changed 2018-05-25 19:22:44 +02:00
debdb63100 Handle wrong-num-of-args error correctly 2018-05-25 19:22:44 +02:00
e3daf2b818 Improve how reload-package-autoloads detects your packages have changed 2018-05-25 19:22:44 +02:00
74c8df3618 Fix reload-*-autoloads commands not remotely loading byte-compiled autoloads file 2018-05-25 19:22:44 +02:00
068979591a doom//byte-compile: cl-pushnew => push (redundant w/ cl-delete-duplicates) 2018-05-25 19:22:44 +02:00
73045f9950 Fix doom//quickstart & improve feedback (make quickstart) 2018-05-25 12:49:39 +02:00
7f31f4a1bd Adjust package state initialization strategies 2018-05-25 02:53:48 +02:00
0368e8f84b Ensure package state is initialized before package management 2018-05-25 02:41:23 +02:00
0aa7bf2d4a Insert package state before package autoloads in autoloads file
Prevents issues where autoloads will try to load packages but
`load-path` isn't initialized yet, causing "Cannot open load file"
errors.
2018-05-25 02:18:55 +02:00
d9894f0b74 Fix package install not retrying after a 'bad request' error 2018-05-25 02:16:19 +02:00
887e3e11af Remove unused printerr! macro 2018-05-25 00:49:03 +02:00
7c611df6a6 Have doom//reload return t on success 2018-05-24 22:01:26 +02:00
ea86b1075f Fix doom-template-exists-p 2018-05-24 21:20:02 +02:00
b70ed84a33 Fix doom//run-tests 2018-05-24 21:20:02 +02:00
18a6df5e6f Fix doom/info 2018-05-24 21:20:02 +02:00
87e9365a41 Fix package autoremove/install/update batch commands 2018-05-24 21:20:02 +02:00
b629f4f507 Fix doom//clean-byte-compiled-files 2018-05-24 21:20:02 +02:00
6ea5430c4d Fix doom//byte-compile 2018-05-24 21:20:02 +02:00
8746c12fae Redesign Doom bootstrap, caching & autoload generation logic
The autoloads file has been split into doom-autoload-file and
doom-package-autoload-file. The former is for Doom's modules and
standard library; the latter is for compiling all package autoloads like
load-path and auto-mode-alist (among other things).

This reduced my startup speed from ~1s to ~0.5s
2018-05-24 21:20:02 +02:00
47ccbb5d41 print!: use terpri instead of princ for newline
Will produce the appropriate newline for the current OS.
2018-05-24 18:30:37 +02:00
b25e215d59 Increase last-pkg-refresh ttl from 900 -> 1200s 2018-05-24 16:41:14 +02:00
592e16d76d Conform debug commands to naming convention 2018-05-24 16:40:37 +02:00
fbf8a7be56 Remove vestigial references to doom//reload-load-path 2018-05-21 01:38:17 +02:00
454a962d6b Rewrite doom//reload (merge reload-load-path into it) 2018-05-21 01:38:17 +02:00
f2c02e32c8 General minor refactor & comment updates 2018-05-21 01:38:17 +02:00
f3f8172579 Fix {copy,move}-this-file commands when file doesn't exist yet 2018-05-21 01:38:17 +02:00
f058505306 New bin/doom (eventual replacement for make)
This commit adds bin/doom, which acts as the middle man that make once
was (and will stay for a while, though the documentation will shift away
from using it). It does everything the previous make interface did, but
is faster and more flexible. bin/doom should eventually replace the
makefile.

bin/doom also makes it easier to run Doom outside of ~/.emacs.d and
~/.doom.d with, for example:

  bin/doom run -p ~/.other.doom.d/ -e ~/.other.emacs.d

bin/doom.cmd is included for Windows users, but I don't recommend using
it yet. It hasn't been tested nor have I ever written a batch script
before.

Also update init.example.el with new defaults.
2018-05-21 01:38:17 +02:00
5c101f1909 Update modules library: message! => print! 2018-05-20 12:18:16 +02:00
b82ef2cee6 Add open-manual command (docs don't exist yet though!) 2018-05-20 12:18:16 +02:00
f80be3682b New open-bug-report & open-vanilla-sandbox commands 2018-05-20 12:18:16 +02:00
7b8917ed42 Split core/autoload/util.el into {help,debug}.el 2018-05-20 12:13:05 +02:00
af7fb1c628 Change doom/retab to reformat w/ opposite style if ARG 2018-05-20 12:10:10 +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
0d9db6f149 Rewrite autoload/message library
+ Rename message! => print!
+ New printerr! macro
+ Extended color support to interactive sessions (now propertized using
  term faces, so we don't have to rely on a popup window to display it).
2018-05-20 11:44:10 +02:00
a46e7655dc Move batch commands from core-packages to autoload/modules 2018-05-20 00:57:18 +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
80adb9c1f6 General refactor for consistency & idempotency
Also updated comments
2018-05-18 01:26:41 +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
b6813393d8 Remove custom helpful pretty-printer; default is superior 2018-05-16 00:11:14 +02:00
1320d83834 Fix doom/info displaying nil module flags 2018-05-15 03:15:45 +02:00
7bf133e991 Update unit test bootstrap 2018-05-15 01:46:22 +02:00
d0f8bf402a doom-visible-windows: support visible window-parameter 2018-05-15 01:31:40 +02:00
e3e0cb7e68 doom/describe-modules: no initial input, instead set default 2018-05-14 18:32:26 +02:00
2b2f6bcf32 New command: doom/profile-emacs (powered by esup) 2018-05-11 10:00:23 +02:00
e6dd7fa867 Fix should-buffer! macro for tests 2018-05-08 15:20:06 +02:00