Autoload paths used to be relative to arbitrary roots (usually
doom-modules-dir). This commit changes doom//reload-autoloads to iterate
over autoloads in doom-autoloads-file and replace their file paths with
an absolute one.
Theoretically this should make Emacs feel marginally faster, but we
*probably* get more of a benefit from a shorter load-path (because we no
longer need doom-modules-dirs, doom-core-dir or doom-psuedo-module-paths
in the load-path).
This is highly experimental however!
Any module can now use a doom! call to declare a module tree root.
This means that if you have a doom! block in
~/.emacs.d/modules/lang/org/init.el, then you can have submodules in
~/.emacs.d/modules/lang/org/modules/MODULE/SUBMODULE if you wanted to
for some reason.
This is only really truly useful for private modules. A doom! block in
~/.doom.d/init.el will recognize and enable modules in
~/.doom.d/modules/.
~/.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.
+ Instead of remapping delete-backward-char to doom/delete-backward-char
(which was unreliable, depending on the mode), it is now overridden
with it, without sacrificing its original functionality. The new
behavior is as follows:
+ Fall back to sp-backward-delete-char when it makes sense to delete
the adjacent pair: {|} => |
+ Collapse an indented pair block, if at bolp in between: {
|
} => {|}
+ Refresh a pair's :post-handlers when deleting into pair: {
|
} => {|} => {
|
} (can be repeated)
+ When cursor is preceded by whitespace, delete in increments of
tab-width.
+ newline-and-indent has been advised to:
+ Only newline when in a string.
+ Continue comment lines consistently (needs more testing!)
+ Falls back to basic newline-and-indent, without affecting whitespace
in the origin line (it would originally delete-horizontal-space
before creating a new line).
+ Incorporates a set of reasonable defaults for brace expansion on RET
or SPC, as mentioned in #343 and #413.
Affects #343, #413