Commit Graph

2556 Commits

Author SHA1 Message Date
2637c415d3 Add error checks & docstrings to doom-keyword-* lib functions 2018-05-23 19:09:09 +02:00
553d00b598 Add doctor/help dummy dispatchers
This way they show up in doom help + documentation.
2018-05-21 15:42:36 +02:00
fbf8a7be56 Remove vestigial references to doom//reload-load-path 2018-05-21 01:38:17 +02:00
f853d8b407 Update core autoload-message tests 2018-05-21 01:38:17 +02:00
67269fdf2b add-transient-hook!: unintern => fmakunbound 2018-05-21 01:38:17 +02:00
ac5eaf0fb3 Load core-lib before core-package
So that core-package may use the Doom standard library.
2018-05-21 01:38:17 +02:00
8ce5e96ea5 recentf: auto-cleanup = 120; refactor temp-file detector 2018-05-21 01:38:17 +02:00
1369c51000 Replace :defer HOOK/FN with :after-call keyword 2018-05-21 01:38:17 +02:00
89c52e7d99 Rename reload dispatcher to refresh & refactor 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
16a9126b3e Make after! noop if package is disabled
After disabling a package, def-package! blocks for that package are
ignored. Now, after! blocks for those packages will be ignored too.
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
da5c7d27cf Use correct init hook (doom-post-init-hook) 2018-05-20 12:18:48 +02:00
8da3f56795 core-project: rename autoload-project-mode => init-project-mode
To be consistent with other initializing hooks.
2018-05-20 12:18:16 +02:00
d4608c08f8 Defer dtrt-indent & don't detect indent in noninteractive Doom 2018-05-20 12:18:16 +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
f984d46a9b Fix featurep! & load! calls while byte-compiling
The would prioritize load-file-name over byte-compile-current-file
during byte-compiling, which would result featurep! being unable to
resolve the current module and load! from figuring out where "here" was
to build its relative paths from.
2018-05-20 00:57:58 +02:00
a46e7655dc Move batch commands from core-packages to autoload/modules 2018-05-20 00:57:18 +02:00
1d99ee5017 Add esup back to core package list 2018-05-20 00:37:48 +02:00
2d2ce3cff9 Fix exec-path/osx-clipboard initializing too early 2018-05-20 00:08:19 +02:00
dc4e0f1556 Add doom-file-cookie-p to core-lib 2018-05-20 00:07:06 +02:00
85ee9ce459 Refactor doom module API
+ Consolidate the CATEGORY -> MODULE terminology
+ Rename functions to make their function easier to understand
  + Rename doom-module-expand-file => doom-module-path
  + Rename doom-module-find-path => doom-module-locate-path
2018-05-20 00:03:57 +02:00
5abdbaee38 Rewrite docstrings for doom-initialize{,-packages} 2018-05-20 00:01:07 +02:00
6f5e710d98 Refactor startup process, hooks, doom-initialize & doom!
+ Brings back doom-pre-init-hook and doom-post-init-hook hooks.
+ Extracts autoload file loading logic into doom-initialize-autoloads
  function.
2018-05-19 23:59:55 +02:00
17d5721102 Minor reformatting of core startup config 2018-05-19 23:49:25 +02:00
a19a64b16b Complain if using Emacs <25
More helpful than advice-add errors.
2018-05-19 18:01:54 +02:00
fa37d7b05e Refactor core initialization process
A vastly simpler bootstrap process.

Also load core libs in core-lib (duh)
2018-05-19 16:42:48 +02:00
59f510e85f Add four new functions for keywords & file collection 2018-05-19 16:32:12 +02:00
f16aa539c7 Fix window is not a live frame error #596 2018-05-18 22:06:10 +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
3d0745c3ec Add automatic indentation-detection (experimental)
Editorconfig is given precedence. If it successfully sets an
indent_style or indent_size for the current buffer, automatic
indentation detection will be disabled.
2018-05-18 01:28:41 +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
7aecb85c34 Reverse order of operations for doom//reload-packages 2018-05-18 01:10:05 +02:00
340aa0449c Rewrite & optimize autoload generation logic
Now includes package autoloads (which allows us to shed some fat from
various module configs, but that'll come later).
2018-05-18 01:09:14 +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
e2f99a8c24 Load core-lib sooner 2018-05-17 22:44:20 +02:00
cea750fc55 Rename doom|ansi-color-apply => doom|compilation-ansi-color-apply 2018-05-17 17:29:23 +02:00
b01893bef2 Disable whitespace-mode in childframes 2018-05-17 17:29:07 +02:00