Commit Graph

282 Commits

Author SHA1 Message Date
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
12e786db9a Fix remove-hook! macro 2017-03-15 22:40:04 -04:00
d6667a433f General cleanup + refactor 2017-03-04 20:54:13 -05:00
e7720e4aae Simplify doom--resolve-hooks 2017-03-04 00:00:25 -05:00
0a39aa64d1 add-transient-hook!: fix indentation 2017-03-02 18:28:46 -05:00
c037c325a1 Refactor add-hook! and associate!; associate! only for minor modes now 2017-03-02 18:28:46 -05:00
2d190fe0c5 Add & use add-transient-hook! macro 2017-03-02 01:43:59 -05:00
27cc4a9508 reverse => nreverse; other optimizations 2017-03-01 19:15:45 -05:00
da663aa5da feature/file-templates: remove f.el references 2017-02-28 18:04:02 -05:00
de7e8c33a7 Add remove-hook! 2017-02-28 15:38:47 -05:00
e2cb712b18 Add :local and :append capabilities to add-hook! 2017-02-28 15:29:23 -05:00
33c88d4f82 Revert macros to ...! name convention (elisp doesn't like @...) 2017-02-23 00:06:12 -05:00
a511d5ea00 Move core/autoload/set.el into core/core-lib.el 2017-02-21 16:03:12 -05:00