0741c8851a
Split core-packages into two (packages & modules)
...
+ Move doom-initialize et co into core.el
+ Lazy load core-packages
+ load! has been moved into core-lib
+ Added FILE! and DIR! macros
+ Fix package! not returning correct value when package is disabled
+ Remove :disabled support for def-package-hook! officially
2018-06-12 00:02:04 +02:00
dd2d704137
Fix reference to renamed _directory variable
...
Whoops!
2018-06-08 13:39:04 +02:00
bc2f8a0ec9
Don't complain about used _directory letvar
...
Byte-compiler-sama must be appeased.
2018-06-08 13:30:20 +02:00
dda81f7b54
Fix insertion order of add-hook! when appending
...
When appending multiple functions to a hook(s) with add-hook!, insertion
order was not preserved. e.g.
=> (add-hook! :append 'some-mode-hook #'(hook-1 hook-2))
=> some-mode-hook
(hook-2 hook-1)
2018-06-07 02:51:45 +02:00
c96086d426
Fix reference to void variable path
...
In certain uses of file-exists-p! and project-file-exists-p!
2018-06-04 21:17:49 +02:00
52a04fd8c6
Optimize file-exists-p! & project-file-exists-p!
2018-06-04 21:17:49 +02:00
b53df20dd5
Minor refactor of associate! macro
2018-06-03 23:56:25 +02:00
796af69c28
Move define-key! macro to core-lib
2018-06-03 23:52:21 +02:00
e5a4415d58
General, minor reformatting/refactor
2018-06-02 13:58:04 +02:00
a4d03654bd
Fix associate!'s :files refusing a list of strings
...
Due to changes under the hood, the :files FORM property requires FORM to
either be a nested form of and/or sexps, or a single string. This is
inconsistent with the plurality of ":files", so it has been fixed to
accept a list of strings (with an implicit (and ...)).
2018-05-31 16:59:53 +02:00
c0b904afca
Fix void-variable nose-mode error in python #628
...
Caused by associate! only doing a fboundp check on MODE, but not boundp,
before trying to access its value.
2018-05-30 16:05:24 +02:00
6b1e1a2c58
Fix doom-files-in returning files in arbitrary order
...
This would cause compilation issues in doom//byte-compile because
prerequisite files weren't compiled before dependent ones.
2018-05-30 01:43:57 +02:00
4863f9fbf0
Fix after! macro with multiple features
2018-05-28 17:31:44 +02:00
9e7703db2a
core-lib (add-transient-hook!): set permanent-local-hook on hook fn
2018-05-24 22:35:45 +02:00
3dd291a675
core-lib: improve function docstrings
2018-05-24 21:15:17 +02:00
4ee0b5ba6d
New macros file-exists-p! & project-file-exists-p!
...
The latter replaces the doom-project-has! macro
2018-05-24 21:15:17 +02:00
b2186745b7
Refactor doom--resolve-path-forms
2018-05-24 18:35:06 +02:00
a48f75371b
core-lib (doom-files-in): default relative-to to default-directory
2018-05-24 13:02:20 +02:00
dc0175b8e1
Merge doom-files-under into doom-files-in; more powerful doom-files-in
2018-05-23 23:34:32 +02:00
2637c415d3
Add error checks & docstrings to doom-keyword-* lib functions
2018-05-23 19:09:09 +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
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
dc4e0f1556
Add doom-file-cookie-p to core-lib
2018-05-20 00:07:06 +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
80adb9c1f6
General refactor for consistency & idempotency
...
Also updated comments
2018-05-18 01:26:41 +02:00
673d3ed147
Prevent duplicate entries in doom-auto-minor-mode-alist
2018-05-16 13:14:46 +02:00
262b2f957b
Fix associate! not enabling minor modes for :files/:modes/:when
...
Fixes #585
2018-05-16 13:14:46 +02:00
6b8520d189
Change add-transient-hook! to take hook suffix as 2nd arg
...
By default, transient hooks are defined as doom-transient-hook-N, where
N is a counter. This makes debugging them difficult.
Now, you may specify an id for the second argument. e.g.
(add-transient-hook! 'find-file-hook load-evil (require 'evil))
Will define doom|transient-hook-load-evil, which is easier to debug and
remove, if necessary.
2018-05-15 21:49:51 +02:00
afdc6a31b5
Move def-setting! macros to core-packages
2018-05-14 13:05:03 +02:00
cef82fe0b0
Minor reorganization of core-lib
2018-05-14 13:05:03 +02:00
57f383ef76
General revision of docstrings
2018-05-14 13:05:03 +02:00
878b413885
New library macro: setq-hook!
2018-05-07 22:35:14 +02:00
035353d295
after!: don't shadow features var
2018-05-07 19:26:31 +02:00
aef9724324
Add doom*shut-up advisor to core-lib
2018-04-23 00:03:28 -04:00
21a23228f2
Refactor initialization; allow package! to universally disable packages
...
No need for def-package-hook! for disable packages anymore, you can do
it from package! in packages.el files.
2018-03-26 02:57:37 -04:00
5eadfdc880
Add EMACS26+ & EMACS27+ constants
2018-03-24 07:25:00 -04:00
01f9ca9e67
Ensure (if|when)-let* are available to the byte-compiler
...
This fixes void function errors in earlier versions of Emacs while
byte-compiling Doom.
2018-03-02 19:14:45 -05:00
138ec2bf07
Remove manual loading of pkg-autoloads files
...
No longer necessary as of 0c80bb42
2018-02-28 17:57:30 -05:00
589108fdb2
Extend after! macro to support :any, :all & feature lists #442
2018-02-28 17:57:30 -05:00
2b1c323dbf
💥 Redesign private sub-module system
...
~/.doom.d/modules is now a full module tree, like ~/.emacs.d/modules.
Symlinks are no longer involved.
Private modules can now shadow Doom modules. e.g.
~/.doom.d/modules/lang/org will take precendence over
~/.emacs.d/modules/lang/org.
Also, made doom--*-load-path variables public (e.g. doom--site-load-path
=> doom-site-load-path), and rearranged the load-path for a 10-15%
startup boost.
2018-02-16 02:11:10 -05:00
562d805136
Sensible alias
2018-02-01 14:46:17 +08:00
2f0822ed44
Remove aggressive load of use-package
...
The autoload in core-packages takes care of it.
2018-01-11 22:18:32 -05:00
7777f9940e
Change add-hook! macro to retain hook order
...
(add-hook! hook '(1 2 3)) should set hook to `(1 2 3 ,@old-hooks).
Before this, they would be pushed sequentially, resulting in hook =
`(3 2 1 ,@old hooks)`
2018-01-08 14:55:58 -05:00
5cd29479f4
Refactor feature/evil hacks & advice; fix tests
2018-01-07 00:15:57 -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
b28f6ed477
General minor refactor & comment revision
2018-01-06 03:03:02 -05:00
02c14f560d
Refactor bootstrap process + add doom-initialize-load-path
2017-12-22 16:26:05 -05:00