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
76a4ae459d
Fix obsolete (when|if)-let messages in Emacs 26
2017-12-10 14:49:52 -05:00
4a04406b2b
core-lib: minor refactor; update docstrings+comments
2017-12-09 16:23:19 -05:00
9d3155892a
Rethink how Doom loads core & std libs
2017-12-09 14:41:22 -05:00
07088d3dcf
Removed s.el dependency (prefer built-in)
2017-12-09 14:40:14 -05:00
ff717e5c2f
Refactor quiet! macro
2017-12-03 20:04:00 -05:00
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
546ca0e313
General, minor refactor
2017-09-26 21:55:01 +02:00
5140bb8850
Autoload json library
2017-09-02 16:12:53 +02:00
383d7dbddb
Don't return anything from set! on failure
2017-06-24 17:23:11 +02:00
313fa06400
doom-setting--setter%s => doom--set%s
2017-06-24 16:39:45 +02:00
779ae60454
Refactor doom-resolve-hooks
2017-06-24 16:20:22 +02:00
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
7d081c3154
Fix subr-x macro autoloads
2017-06-18 23:43:08 +02:00
816df321a5
General refactor & cleanup
2017-06-14 21:15:19 +02:00
07299c5020
core-lib: add doom-quote & doom-enlist
2017-06-12 02:48:26 +02:00
c7254e7bdc
Major optimization refactor, across the board
...
+ enable lexical-scope everywhere (lexical-binding = t): ~5-10% faster
startup; ~5-20% general boost
+ reduce consing, function calls & garbage collection by preferring
cl-loop & dolist over lambda closures (for mapc[ar], add-hook, and
various cl-lib filter/map/reduce functions) -- where possible
+ prefer functions with dedicated opcodes, like assq (see byte-defop's
in bytecomp.el for more)
+ prefer pcase & cond (faster) over cl-case
+ general refactor for code readability
+ ensure naming & style conventions are adhered to
+ appease byte-compiler by marking unused variables with underscore
+ defer minor mode activation to after-init, emacs-startup or
window-setup hooks; a customization opportunity for users + ensures
custom functionality won't interfere with startup.
2017-06-09 00:47:45 +02:00
baad7953bf
Breaking change: rewrite add-transient-hook!
...
HOOK is now evaluated. Hooks should be quoted (and functions
sharp-quoted).
This also fixes commit 0150f78e
.
2017-06-05 16:43:14 +02:00
db6de01b16
Add doom/describe-{setting,module}
2017-05-28 02:48:20 +02:00
82efbbd3fb
Fix void-function async-inject-variables ( #81 )
2017-05-22 22:32:08 +02:00
ce49f94bbe
Remove doom-bootstrap system (will be replaced)
2017-05-20 18:40:13 +02:00
8422cbd172
Load cl-lib sooner (address #67 )
2017-05-19 10:44:12 +02:00
eb064887a5
core-lib: add-transient-hook! add support for appending hooks/advice
2017-05-12 11:48:37 +02:00
0791277467
Fix 'Tramp: sending password' loop caused by associate!
2017-04-27 18:05:59 -04:00
3162c98a11
core-lib: reduce s.el autoloads, add subr-x autoloads
2017-04-17 02:30:35 -04:00
5ae94b765c
PRAISE BE TO THE BYTE COMPILER FOR THY SHARP QUOTES
2017-04-17 02:17:10 -04:00
e50dabfde4
Replace ansi plugin with internal ansi library
2017-04-12 10:51:29 -04:00
e320abaef8
core: add message! & format! macros with ansi support
2017-04-12 08:52:12 -04:00
72698ca9e8
Add :requires prop to def-bootstrap! & refactor+rewrite bootstrapping
2017-03-25 18:41:29 -04:00
60aa0ba397
def-project-mode!: fix :files property
2017-03-25 03:46:27 -04:00
2526101de6
core-lib: replace require subr-x with autoloads
2017-03-25 01:44:41 -04:00
b37aadec91
General cleanup + refactor
2017-03-23 19:49:58 -04:00
d0b64860e1
Fix doom-sh/doom-sudo + bootstraps
2017-03-23 02:13:11 -04:00
3445cdeae3
doom/bootstrap: force load core libs
2017-03-22 19:55:41 -04:00
cb9d91d65c
Move bootstrap lib into core-lib
2017-03-20 21:15:18 -04:00