Commit Graph

64 Commits

Author SHA1 Message Date
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