It's not possible to get full backtraces in these instances when an
error is signaled, and I think we should generate full backtraces when
debug-on-error is enabled as a general rule.
I had to make this change at one place to track down the root of problem
2 in #5200.
Fixes#3450
For some reason, the scroll transient state was trying to reinvent
scrolling halfway up and down a page when these are well supported
operations in evil.
Make use of new evil variable evil-disable-insert-state-bindings. This
is better because we are not copying evil code to get hybrid state to
work. We should not need to worry about tracking upstream evil changes
with this version of hybrid mode.
The only effect I can think of with this change is that there is no
longer a distinct hybrid-map, since there is no longer a distinct hybrid
state. This means that, for example, (evil-define-key 'hybrid ...)
will throw an error. You can either use (evil-define-key 'insert ...) or
the preferred (global-set-key ...). The latter is preferred because the
purpose of hybrid mode is to not interfere with Emacs bindings in insert
state.
Use post-init-evil function to load
It's a bit safer than with-eval-after-load, in case evil gets loaded
before its init function is called.
Add entry and exit hooks
Add temporary wrapper to evil-define-key
This is so that calls like (evil-define-key 'hybrid ...) do not fail
after switching over. Instead issue a warning for all such instances and
bind using define-key instead.
Also define evil-hybrid-state-map and make it the parent of
evil-insert-state-map this will prevent calls like (define-key
evil-hybrid-state-map ...) from failing.
These are both temporary and are only intended to smooth the transition
to the new version of hybrid-mode.
With the introduction of `rspec` support in version 0.105.0
tests run with rspec launch in their own `rspec-compilation`
which is not managed in `spacemacs-base/init-popwin` causing
those compilations to open a new buffer and take over an exisiting
window.
It is preferable to have the test compilation open in a popwin
that does not disrupt the current state of a workspace layout and
takes advantage of the full width of the current editor view
so it's easier to read. Popwin is also nice because it is easier
to dismiss with a simple `C-g` or `SPC w p p`.
ivy-use-virtual-buffers was triggering recentf-mode to be called before
the recentf init function was called leading to problems with where the
recentf file was placed.
Use mnemonic j for jumping commands. Although some of these commands
exist in other places, they are duplicated here when they don't
conflict.
Add:
1. jb for bookmark-jump
2. jc for avy char jump
3. jd for dired-jump
4. jD for dired-jump-other-window
5. jf for find-function-at-point
6. ji for spacemacs/jump-in-buffer (imenu)
7. jI for helm imenu in all buffers
8. jl for avy go to line
9. ju for avy-pop-mark (u for "undo")
10. jU for spacmacs/avy-goto-url
11. jv for find-variable-at-point
12. jw for avy go to word or subword
Move:
1. jh to j0 (push mark and go to beginning of line)
1. jl to j$ (push mark and go to end of line)
This make `SPC h SPC` as default binding for accessing `helm-spacemacs`,
by either A) changing all the documentation; and B) adding a deprecation
message for `SPC f e h`.
The deprecation use a warning, because if a message is used it's hidden
directly when the helm buffer is shown, making it nearly unnoticeable
for the user.