Communicating with the Emacs server isn't reliable and has a tendency to
hang, so we no longer do that. Instead, we inform the user to reload it
themselves.
On MacOS, the daemon is unlikely to run with the correct environment if
launched through launchctl or brew services, so it makes sense to use
exec-path-from-shell there too.
May address #736
+ 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.