Commit Graph

233 Commits

Author SHA1 Message Date
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
Henrik Lissner
7d081c3154
Fix subr-x macro autoloads 2017-06-18 23:43:08 +02:00
Henrik Lissner
816df321a5
General refactor & cleanup 2017-06-14 21:15:19 +02:00
Henrik Lissner
07299c5020
core-lib: add doom-quote & doom-enlist 2017-06-12 02:48:26 +02:00
Henrik Lissner
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
Henrik Lissner
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
Henrik Lissner
db6de01b16 Add doom/describe-{setting,module} 2017-05-28 02:48:20 +02:00
Henrik Lissner
82efbbd3fb Fix void-function async-inject-variables (#81) 2017-05-22 22:32:08 +02:00
Henrik Lissner
ce49f94bbe Remove doom-bootstrap system (will be replaced) 2017-05-20 18:40:13 +02:00
Henrik Lissner
8422cbd172 Load cl-lib sooner (address #67) 2017-05-19 10:44:12 +02:00
Henrik Lissner
eb064887a5 core-lib: add-transient-hook! add support for appending hooks/advice 2017-05-12 11:48:37 +02:00
Henrik Lissner
0791277467 Fix 'Tramp: sending password' loop caused by associate! 2017-04-27 18:05:59 -04:00
Henrik Lissner
3162c98a11 core-lib: reduce s.el autoloads, add subr-x autoloads 2017-04-17 02:30:35 -04:00
Henrik Lissner
5ae94b765c PRAISE BE TO THE BYTE COMPILER FOR THY SHARP QUOTES 2017-04-17 02:17:10 -04:00
Henrik Lissner
e50dabfde4 Replace ansi plugin with internal ansi library 2017-04-12 10:51:29 -04:00
Henrik Lissner
e320abaef8 core: add message! & format! macros with ansi support 2017-04-12 08:52:12 -04:00
Henrik Lissner
72698ca9e8 Add :requires prop to def-bootstrap! & refactor+rewrite bootstrapping 2017-03-25 18:41:29 -04:00
Henrik Lissner
60aa0ba397 def-project-mode!: fix :files property 2017-03-25 03:46:27 -04:00
Henrik Lissner
2526101de6 core-lib: replace require subr-x with autoloads 2017-03-25 01:44:41 -04:00
Henrik Lissner
b37aadec91 General cleanup + refactor 2017-03-23 19:49:58 -04:00
Henrik Lissner
d0b64860e1 Fix doom-sh/doom-sudo + bootstraps 2017-03-23 02:13:11 -04:00
Henrik Lissner
3445cdeae3 doom/bootstrap: force load core libs 2017-03-22 19:55:41 -04:00
Henrik Lissner
cb9d91d65c Move bootstrap lib into core-lib 2017-03-20 21:15:18 -04:00
Henrik Lissner
12e786db9a Fix remove-hook! macro 2017-03-15 22:40:04 -04:00
Henrik Lissner
d6667a433f General cleanup + refactor 2017-03-04 20:54:13 -05:00
Henrik Lissner
e7720e4aae Simplify doom--resolve-hooks 2017-03-04 00:00:25 -05:00
Henrik Lissner
0a39aa64d1 add-transient-hook!: fix indentation 2017-03-02 18:28:46 -05:00
Henrik Lissner
c037c325a1 Refactor add-hook! and associate!; associate! only for minor modes now 2017-03-02 18:28:46 -05:00
Henrik Lissner
2d190fe0c5 Add & use add-transient-hook! macro 2017-03-02 01:43:59 -05:00
Henrik Lissner
27cc4a9508 reverse => nreverse; other optimizations 2017-03-01 19:15:45 -05:00
Henrik Lissner
da663aa5da feature/file-templates: remove f.el references 2017-02-28 18:04:02 -05:00
Henrik Lissner
de7e8c33a7 Add remove-hook! 2017-02-28 15:38:47 -05:00
Henrik Lissner
e2cb712b18 Add :local and :append capabilities to add-hook! 2017-02-28 15:29:23 -05:00
Henrik Lissner
33c88d4f82 Revert macros to ...! name convention (elisp doesn't like @...) 2017-02-23 00:06:12 -05:00
Henrik Lissner
a511d5ea00 Move core/autoload/set.el into core/core-lib.el 2017-02-21 16:03:12 -05:00
Henrik Lissner
2569774a3b Add f.el autoloads to core-lib 2017-02-20 19:44:12 -05:00
Henrik Lissner
d675332980 @quiet: don't be quiet when doom-debug-mode is non-nil 2017-02-20 00:26:48 -05:00
Henrik Lissner
11a5e15e4e Refactor core config 2017-02-20 00:26:08 -05:00
Henrik Lissner
2d5d826177 Remove dash/f dependencies; use cl-lib & subr-x more 2017-02-20 00:26:07 -05:00
Henrik Lissner
704099a7b9 Add core-keybinds.el 2017-02-20 00:26:07 -05:00
Henrik Lissner
2d0b2d9a3f @map: fix no key-bindings after byte-compiling 2017-02-20 00:26:07 -05:00
Henrik Lissner
b4e9f1312d caddr => cl-caddr 2017-02-20 00:26:07 -05:00
Henrik Lissner
f8505e1c7e @map: macroexp-progn => `(progn 2017-02-20 00:26:06 -05:00
Henrik Lissner
7ef87546cc Refactor package management system 2017-02-20 00:26:06 -05:00
Henrik Lissner
85d5360c7c @map: fix :L error checking 2017-02-20 00:26:06 -05:00
Henrik Lissner
3cfc7d1c0a @map: fix nested @map calls not inheriting let-bindings 2017-02-20 00:26:06 -05:00
Henrik Lissner
7107d38d34 @map: remove :unset property (just set to nil instead) 2017-02-20 00:26:06 -05:00
Henrik Lissner
85a5d7b5ac @map: better no-evil support; better prefixes; :prefix now evaluated 2017-02-20 00:26:06 -05:00
Henrik Lissner
6c06aa0ce7 Macros now prefixed with @, instead of suffixed with ! 2017-02-20 00:26:06 -05:00
Henrik Lissner
9bd8c6cc21 General cleanup 2017-02-20 00:26:05 -05:00
Henrik Lissner
b8042bdaaa General cleanup + refactor core.el 2017-02-20 00:23:08 -05:00
Henrik Lissner
f99468a135 Move __DIR__/__FILE__ vars/defuns into core-lib 2017-02-20 00:23:08 -05:00
Henrik Lissner
f1208e9179 makefile: reload running Emacs after tasks + refactor 2017-02-20 00:23:07 -05:00
Henrik Lissner
a955ff78e0 Heavy refactor of package management; new parsing doom-read-packages 2017-02-20 00:23:07 -05:00
Henrik Lissner
3bce1246cd Move library requires into core-lib 2017-02-20 00:23:07 -05:00
Henrik Lissner
093fa1b5a3 Rethink setting system 2017-02-20 00:23:07 -05:00
Henrik Lissner
e80df3c03c Polish package management system; no infinite recursion; smarter autoload refresh 2017-02-20 00:23:07 -05:00
Henrik Lissner
e0652b311d General cleanup 2017-02-20 00:23:06 -05:00
Henrik Lissner
d85eff3397 Add __PACKAGE__ support to add-hook! 2017-02-20 00:23:06 -05:00
Henrik Lissner
f2a31e9d87 Rewrite package management to be less hackish (untested) 2017-02-20 00:23:06 -05:00
Henrik Lissner
058967d4de core-lib: remove message on byte-compile for after! macro 2017-02-20 00:23:05 -05:00
Henrik Lissner
3c0e22d253 Remove map! usage from core files (to be moved to evil module) 2017-02-20 00:23:05 -05:00
Henrik Lissner
02fef2fded core-lib: refactor map! (and disable it when noninteractive) 2017-02-20 00:23:04 -05:00
Henrik Lissner
fb53c8fda7 core-lib: refactor associate! 2017-02-20 00:23:04 -05:00
Henrik Lissner
c71b8ac438 core-lib: refactor add-hook! 2017-02-20 00:23:04 -05:00
Henrik Lissner
d7db99a1ef core-lib: let-bind package-name in after! 2017-02-20 00:23:04 -05:00
Henrik Lissner
50ea98319f Rewrite core libraries (WIP) 2017-01-16 23:15:48 -05:00