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