+ Removes redundant/unhelpful comments
+ Renames functions, hooks and variables to be self-documenting
+ Use add-to-list to ensure idempotency (and is more performant)
Fixes an issue where exec-shell-from-path could not be installed on
Linux or Windows.
Doom used :ignore because, at the time, it supported a workflow where
your Emacs config was shared over dropbox or rslsync across multiple
computers. This workflow is no longer supported (it was very buggy!), so
this is no longer necessary. :ignore should also be reserved for private
use and not used internally.
Occasionally, bin/doom commands hang when generating autoloads. It
blocks endlessly after sending a message to an active Emacs server, but
never receives a proper reply.
This commit makes it less likely that this hanging will leave Doom in a
broken state (and also informs the user it is safe to abort the
process).
+ doom-before-switch-buffer-hook => doom-exit-buffer-hook
+ doom-before-switch-window-hook => doom-exit-window-hook
+ doom-after-switch-buffer-hook => doom-enter-buffer-hook
+ doom-after-switch-window-hook => doom-enter-window-hook
Shorter, easier-to-type names that better describe their intended
purpose.
The old names are still usable, but deprecated.
Causes char-table-p errors in some cases.
Setting hscroll-margin = 0 in dashboard accomplishes the same thing, by
preventing truncation glyphs from ever appearing anyway.
This fixes issues with the doctor not being able to find certain
packages (like evil-collection), and an issue where using the package
management API (which calls doom-initialize-packages) breaks the current
session by breaking the load-path.
Phasing out the +module@name convention for plain old
+module-name-hydra, which is more compatible with elisp reflection tools
like describe-function and such.
Also, Emacs starts up faster now. Tee hee.
And have :ignore and :freeze be evaluated during package management,
rather than during macro expansion/compile time.
Also gives doom-package-prop a third, boolean argument. If non-nil,
`eval' the return value.
Because the package was added to doom-disabled-packages at macro
expansion time, rather than at run time. This meant that, even if you
did:
(when nil
(package! x :disable t))
x would still be disabled.
Reported by @ar1a
Fixes quirky backspace and autoskipping behavior with html tags or
closing delimtiers unpredictably. These might be more useful to non-evil
users, but more testing is required.
Indirectly fixes#712
Defer its compile-time segments to run-time, which would cause many
issues in conditions wrapped around it.
In any case, avoid using require!, it was a poor choice to implement it
and should only be used for unit tests.
After some profiling, it turns out map-put and map-delete are 5-7x
slower (more on Emacs 25) than delq, setf/alist-get and add-to-list for
small lists (under 250 items), which is exactly how I've been using
them.
The only caveat is alist-get's signature is different on Emacs 25, thus
a polyfill is necessary in core-lib.