Commit Graph

316 Commits

Author SHA1 Message Date
Henrik Lissner
4863f9fbf0 Fix after! macro with multiple features 2018-05-28 17:31:44 +02:00
Henrik Lissner
9e7703db2a core-lib (add-transient-hook!): set permanent-local-hook on hook fn 2018-05-24 22:35:45 +02:00
Henrik Lissner
3dd291a675 core-lib: improve function docstrings 2018-05-24 21:15:17 +02:00
Henrik Lissner
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
Henrik Lissner
b2186745b7 Refactor doom--resolve-path-forms 2018-05-24 18:35:06 +02:00
Henrik Lissner
a48f75371b core-lib (doom-files-in): default relative-to to default-directory 2018-05-24 13:02:20 +02:00
Henrik Lissner
dc0175b8e1 Merge doom-files-under into doom-files-in; more powerful doom-files-in 2018-05-23 23:34:32 +02:00
Henrik Lissner
2637c415d3 Add error checks & docstrings to doom-keyword-* lib functions 2018-05-23 19:09:09 +02:00
Henrik Lissner
67269fdf2b add-transient-hook!: unintern => fmakunbound 2018-05-21 01:38:17 +02:00
Henrik Lissner
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
Henrik Lissner
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
Henrik Lissner
dc4e0f1556 Add doom-file-cookie-p to core-lib 2018-05-20 00:07:06 +02:00
Henrik Lissner
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
Henrik Lissner
59f510e85f Add four new functions for keywords & file collection 2018-05-19 16:32:12 +02:00
Henrik Lissner
80adb9c1f6 General refactor for consistency & idempotency
Also updated comments
2018-05-18 01:26:41 +02:00
Henrik Lissner
673d3ed147 Prevent duplicate entries in doom-auto-minor-mode-alist 2018-05-16 13:14:46 +02:00
Henrik Lissner
262b2f957b Fix associate! not enabling minor modes for :files/:modes/:when
Fixes #585
2018-05-16 13:14:46 +02:00
Henrik Lissner
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
Henrik Lissner
afdc6a31b5 Move def-setting! macros to core-packages 2018-05-14 13:05:03 +02:00
Henrik Lissner
cef82fe0b0 Minor reorganization of core-lib 2018-05-14 13:05:03 +02:00
Henrik Lissner
57f383ef76 General revision of docstrings 2018-05-14 13:05:03 +02:00
Henrik Lissner
878b413885 New library macro: setq-hook! 2018-05-07 22:35:14 +02:00
Henrik Lissner
035353d295 after!: don't shadow features var 2018-05-07 19:26:31 +02:00
Henrik Lissner
aef9724324 Add doom*shut-up advisor to core-lib 2018-04-23 00:03:28 -04:00
Henrik Lissner
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
Henrik Lissner
5eadfdc880 Add EMACS26+ & EMACS27+ constants 2018-03-24 07:25:00 -04:00
Henrik Lissner
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
Henrik Lissner
138ec2bf07 Remove manual loading of pkg-autoloads files
No longer necessary as of 0c80bb42
2018-02-28 17:57:30 -05:00
Henrik Lissner
589108fdb2 Extend after! macro to support :any, :all & feature lists #442 2018-02-28 17:57:30 -05:00
Henrik Lissner
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
Amos Bird
562d805136 Sensible alias 2018-02-01 14:46:17 +08:00
Henrik Lissner
2f0822ed44 Remove aggressive load of use-package
The autoload in core-packages takes care of it.
2018-01-11 22:18:32 -05:00
Henrik Lissner
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
Henrik Lissner
5cd29479f4 Refactor feature/evil hacks & advice; fix tests 2018-01-07 00:15:57 -05:00
Henrik Lissner
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
Henrik Lissner
0042a56d02 Add new cache library (persistent-soft wrapper) 2018-01-07 00:15:57 -05:00
Henrik Lissner
b28f6ed477 General minor refactor & comment revision 2018-01-06 03:03:02 -05:00
Henrik Lissner
02c14f560d Refactor bootstrap process + add doom-initialize-load-path 2017-12-22 16:26:05 -05:00
Henrik Lissner
76a4ae459d Fix obsolete (when|if)-let messages in Emacs 26 2017-12-10 14:49:52 -05:00
Henrik Lissner
4a04406b2b core-lib: minor refactor; update docstrings+comments 2017-12-09 16:23:19 -05:00
Henrik Lissner
9d3155892a Rethink how Doom loads core & std libs 2017-12-09 14:41:22 -05:00
Henrik Lissner
07088d3dcf Removed s.el dependency (prefer built-in) 2017-12-09 14:40:14 -05:00
Henrik Lissner
ff717e5c2f Refactor quiet! macro 2017-12-03 20:04:00 -05:00
Henrik Lissner
6cb5efc929 core-lib: rename helper fns; move doom-resolve-vim-path
+ doom--resolve-paths => doom--resolve-path-forms
+ doom--resolve-hooks => doom--resolve-hook-forms
+ +evil*ex-replace-special-filenames => doom-resolve-vim-path
2017-09-27 01:23:54 +02:00
Henrik Lissner
546ca0e313 General, minor refactor 2017-09-26 21:55:01 +02:00
Henrik Lissner
5140bb8850 Autoload json library 2017-09-02 16:12:53 +02:00
Henrik Lissner
383d7dbddb Don't return anything from set! on failure 2017-06-24 17:23:11 +02:00
Henrik Lissner
313fa06400 doom-setting--setter%s => doom--set%s 2017-06-24 16:39:45 +02:00
Henrik Lissner
779ae60454 Refactor doom-resolve-hooks 2017-06-24 16:20:22 +02:00
Henrik Lissner
928812da8a Make def-setting! behave more like defmacro
set! used to aggressively evaluate its arguments (at expansion-time),
even if placed inside an after! block. This causes unavoidable errors if
those arguments use functions/variables that don't exist yet.

Fixes #112
2017-06-19 00:32:44 +02:00