Use buffer-local post-commad-hook instead of global function advice on
yank and yank-pop. This avoids any global changes to Emacs' runtime
environment outside of the specific buffers within which
yank-indent-mode is enabled.
BREAKING CHANGE: Removed yank-indent-setup and yank-indent-teardown functions.
Rename variables that control how the global mode works, adding
"-global" to their names:
- `yank-indent-derived-modes` -> `yank-indent-global-derived-modes`
- `yank-indent-exact-modes` -> `yank-indent-global-exact-modes`
- `yank-indent-excluded-modes` -> `yank-indent-global-excluded-modes`
BREAKING CHANGE: Rename global mode customization variables.
Instead advice yank and yank-pop the first time that yank-indent-mode
is enabled.
Also add new yank-indent-setup and yank-indent-teardown functions which
enable manual control over adding and removing the advice on yank and
yank-pop.
There's no need for yank and yank-pop to be adviced via an autoload, as
it means simply having the package installed will apply the advices.
Without autoloads on the advices, things still work as on first use of
yank-indent-mode or global-yank-indent-mode the advices will be applied.
Groups are tracked on a per-file basis with the
custom-current-group-alist variable, which is set by defgroup, and used
by defcustom to set the group property if it is not provided.