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.
+ :sh can now be fed commands to run immediately, e.g. :sh cd %:P to
start from the current project root.
+ Eshell will spawn a new eshell on every split. This can be controlled
via `+eshell-enable-new-shell-on-split'
+ Eshell can be configured to kill the window when you kill the eshell
process. This is disabled by default. See
`+eshell-kill-window-on-exit'. Some commands ignore this, like the
quit-and-close command (I alias this to "q").
+ eshell-directory-name has been moved to doom-etc-dir/eshell. It will
seem like eshell has forgotten all your history, but you can move
~/.eshell (or ~/.doom.d/eshell) to ~/.emacs.d/.local/etc/eshell and
you'll be fine.
+ eshell-aliases-file has been moved to ~/.doom.d/eshell_aliases by
default.
+ Automatic writing to eshell-aliases-file has been disabled. No shell
so aggressively persists aliases. You may maintain it yourself, or use
the new +eshell-aliases variable to customize eshell from Doom.
+ C-s now invokes a history search with ivy/helm.
+ C-c s and C-c v split horizontally and vertically. Inspired by tmux.
+ C-c x kill the current eshell and its window. Inspired by tmux.j
+ New set-eshell-alias! autodef for defining your own aliases.
+ +eshell/open-workspace has been replaced with +eshell/open-fullscreen.
+ Added the "cd-to-project" command. I suggest you alias it.