Commit graph

31 commits

Author SHA1 Message Date
Henrik Lissner
9cc190adc9
Minor reformat & refactor keyword intern 2018-06-10 17:28:17 +02:00
Henrik Lissner
3498d5c6b1
Catch more *.elc files with bin/doom clean 2018-06-10 17:28:17 +02:00
Henrik Lissner
88f1ae3797
Refactor autoloads init in doom-initialize
Simplify doom-initialize-autoloads
2018-06-10 17:28:17 +02:00
Henrik Lissner
01d1a814f9
Refactor doom-initialize functions
Removes doom-module-table; which was inflexible (though more stable). It
prevented you from putting your doom! block in anywhere but
~/.doom.d/init.el.

It is replaced (somewhat) by (doom-modules).
2018-06-10 17:30:26 +02:00
Henrik Lissner
3661462a7a
Use dynamic byte-compilation for autoload files
Very experimental! This reduces the size and overhead of autoload files
slightly, but may have other reprecussions!
2018-06-05 14:07:35 +02:00
Henrik Lissner
282e0d6653
Move emacs version check into doom-initialize
Also fixes void-function errors caused by (now removed)
doom-same-emacs-version-p not being defined in all the contexts it was
needed.

Where it was before was clumsy design.
2018-06-05 12:04:43 +02:00
Henrik Lissner
ee154a3eb7
Add Emacs version check to noninteractive session
Changing Emacs versions can cause incompatibilities. Doom now warns the
user about these.
2018-06-04 21:17:49 +02:00
Henrik Lissner
8762129e8d
Don't prompt when byte-compiling plugins
The warning only applies to full byte-compilation of your config.
2018-06-04 21:17:49 +02:00
Henrik Lissner
7acfcf907a
Add warning prompt to byte-compile
Byte-compiling should be a considered an advanced workflow. Warn users
of the dangers. The prompt can be suppressed with the -y option. e.g.

  bin/doom -y compile

You won't get the prompt for byte-compiling :core or :plugins however.
2018-06-03 22:00:40 +02:00
Henrik Lissner
b2dfc4b8e8
Delete plugin *.elc before recompiling plugins 2018-06-03 01:38:35 +02:00
Henrik Lissner
6480a45f84
Fix reload-package-autoloads outdated detection
The package autoloads generator wouldn't take module packages.el files
into consideration when detecting whether the autoloads file should be
regenerated. Now it does.
2018-06-01 17:06:03 +02:00
Henrik Lissner
6bad6d12f3
Remove doom-psuedo-modules-dir
Not needed with now that doom-private-dir has first class support.
2018-06-01 17:01:39 +02:00
Henrik Lissner
b1ab80ec3f
Fix doom//byte-compile when recompiling plugins
This would cause odd void-variable/function errors because
doom//byte-compile would erroneously try to compile *everything* after
recompiling plugins.
2018-05-31 01:31:33 +02:00
Henrik Lissner
bb9f00e275
Fix unused return value warnings
When byte-compiling or reloading autoloads files.
2018-05-30 16:05:24 +02:00
Henrik Lissner
debe3e0dd3 Remove unnused letvar doom--inhibit-reload 2018-05-29 19:39:22 +02:00
Henrik Lissner
592d83a968
Fix doom//byte-compile not initializing module list in some contexts 2018-05-29 15:32:36 +02:00
Henrik Lissner
06bd3dfccc
Improve how reload-doom-autoloads detects your modules have changed 2018-05-25 19:22:44 +02:00
Henrik Lissner
debdb63100
Handle wrong-num-of-args error correctly 2018-05-25 19:22:44 +02:00
Henrik Lissner
e3daf2b818
Improve how reload-package-autoloads detects your packages have changed 2018-05-25 19:22:44 +02:00
Henrik Lissner
74c8df3618
Fix reload-*-autoloads commands not remotely loading byte-compiled autoloads file 2018-05-25 19:22:44 +02:00
Henrik Lissner
068979591a
doom//byte-compile: cl-pushnew => push (redundant w/ cl-delete-duplicates) 2018-05-25 19:22:44 +02:00
Henrik Lissner
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
Henrik Lissner
887e3e11af
Remove unused printerr! macro 2018-05-25 00:49:03 +02:00
Henrik Lissner
7c611df6a6
Have doom//reload return t on success 2018-05-24 22:01:26 +02:00
Henrik Lissner
b629f4f507
Fix doom//clean-byte-compiled-files 2018-05-24 21:20:02 +02:00
Henrik Lissner
6ea5430c4d
Fix doom//byte-compile 2018-05-24 21:20:02 +02:00
Henrik Lissner
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
Henrik Lissner
454a962d6b
Rewrite doom//reload (merge reload-load-path into it) 2018-05-21 01:38:17 +02:00
Henrik Lissner
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
Henrik Lissner
5c101f1909
Update modules library: message! => print! 2018-05-20 12:18:16 +02:00
Henrik Lissner
a46e7655dc
Move batch commands from core-packages to autoload/modules 2018-05-20 00:57:18 +02:00