I feel like we should start from scratch on this one and carefully choose the
defaults.
Also this settings is a very personal setting so if we make some buffers
useless we must have a consensus on it. Marking all special buffers starting
with `*` as useless is too aggressive and make Spacemacs less POLA since two
consecutive press on SPC TAB may not revert to the original buffer.
This is similar to the `Ctrl+Shift+T` keybinding found in major browsers, and
helps when accidentally killing a buffer (i.e. fat-fingering `SPC b d` when
meaning to press `SPC b s`).
Only buffers that resolve to existing files will be considered, and stored in a
stack which is pushed to and popped from on buffer kill.
New function `dotspacmacs/emacs-custom-settings` wrapping Emacs
custom settings sexps.
`dotspacemacs/emacs-custom-settings` is called just after the user
configuration (`dotspacemacs/user-config`)
Customize cannot write its auto-generated sexps inside a function, to
accomplish this we trick Emacs by setting the custom file to a file
in `.cache` directory, the path to this file is defined by the variable
`spacemacs--custom-file`. At the startup of Emacs we read this file
to insert its content inside the function
`dotspacemacs/emacs-custom-settings` in the dotfile, this is done in the
function `spacemacs/write-custom-settings-to-dotfile`.
I don't think we need to write the custom settings to the dotfile when
exiting Emacs as well, since we do it at startup at the very beginning
(i.e. before actually loading the dotfile) we should be OK.
Fixes#5170
Prevent next-buffer, other-buffer, etc. from choosing useless buffers.
No need for spacemacs/next-useful-buffer,
spacemacs/previous-useful-buffer anymore.
Also fix spacemacs/alternate-buffer to respect buffer-predicate.
When spacemacs-layouts is used, buffer-predicate filters useful buffer
that belong to the current layout.
Previously,
* typing `gf` in domain names (for example google.com) in normal buffers
* typing `<tab>` in domain names in the minibuffer
would start pinging that domain name. This is not really useful, so
disable it.
Fixes#2654.
Helm-flx, which is included as a core package, requires a minimum Emacs
version of 24.4. As it stands attempting to install Spacemacs on Emacs
24.3 or below will break on helm-flx.