| Age | Commit message (Collapse) | Author |
|
|
|
|
|
Allow C-g to abort evil-read-key
|
|
This prevents evil-replace from inserting a literal C-g if C-g is typed after
entering replace state.
|
|
|
|
|
|
|
|
When `enable-recursive-minibuffers` is non-nil it is
possible to enter another minibuffer at a lower editing
depth from within the Ex minibuffer.
Since `evil-ex-teardown` is added to the global value of
`minibuffer-exit-hook`, it will only be called in the
minibuffer at the lower level when it exits instead of in
the Ex minibuffer since it is removed from
`minibuffer-exit-hook` when it is called.
But this means that `evil-ex-update` will not be properly
cleaned up since it is added to the local value of
`after-change-functions` in the Ex minibuffer.
After completely exiting all minibuffers and then entering a
minibuffer that is not an Ex minibuffer, `evil-ex-update`
will still be in `after-change-functions` due to how
minibuffers are
named (https://www.gnu.org/software/emacs/manual/html_node/elisp/Intro-to-Minibuffers.html)
and assuming that the initial Ex was entered when the
recursive editing depth was 0.
Instead of adding `evil-ex-teardown` to the global value of
`minibuffer-exit-hook`, this commit adds it to the local
value of `minibuffer-exit-hook` in the Ex minibuffer so that
`evil-ex-update` is properly removed regardless of how many
recursive minibuffers there are.
|
|
|
|
|
|
|
|
Refine vdiff folding
|
|
|
|
|
|
Emacs's games work better in Emacs state
|
|
|
|
Closes #1046
|
|
Fix evil-set-jump called with an argument
|
|
Previously, it would always push the current position.
|
|
|
|
|
|
Better protect against modes that disable undo
|
|
Even though 'evil-start-undo-step' does check buffer-undo-list, it is
possible that the forms wrapped by 'evil-with-undo' disable undo in
the meantime. In those conditions, 'evil-refresh-undo-step' will
eventually error.
https://github.com/joaotavora/sly/issues/156 references such an
incident.
* evil-common.el (evil-end-undo-step): Also check that
buffer-undo-list is a list here.
|
|
Use local-variable-p instead of assq
|
|
assq uses more memory for some reason. See #1037
|
|
Allow auxiliary maps to be intercept maps
|
|
Use string-match-p when possible
|
|
In some situations, we don't use the match data. So we might as well not capture
it.
|
|
Respect use-hard-newlines in evil-insert-newline-{above/below}
|
|
Since `newline` isn't good for non-interactive use, conditionally
insert `hard-newline` or simply "\n" in evil-insert-newline-{above,below}
|
|
:global should take into account evil-ex-search-case
|
|
Call `newline`, which respects use-hard-newlines.
|
|
|
|
Treat going to marks jumps
|
|
Add mapping gx to open an url at point
|
|
evil-ex-global: parse COMMAND only once, not on each matching line
|
|
|
|
|
|
|
|
Rework #984
|
|
Previously this was done in evil-initial-state-for-buffer, but it's easier to
recursively follow all parent branches (including those from aliases) within
evil-initial-state.
|
|
|
|
|
|
Teach evil-initial-state to look at aliases for a mode when they exist and to
handle nil for modes
Search parent modes (and their aliases) for defined initial states in
evil-initial-state-for-buffer.
One effect is that
(evil-set-initial-state 'special-mode 'motion)
now makes motion state the default for all major modes that derive from special
mode and don't have defaults set for them.
|
|
Copy text to PRIMARY, not CLIPBOARD in visual mode
|
|
|
|
Since `evil-visual-update-x-selection` is ran from a timer, the buffer
argument could have been killed in the meantime.
|
|
Add notmuch-tree-mode to evil-emacs-state-modes
|
|
|
|
Previously, the selected text in visual mode was copied to the X
CLIPBOARD, while 'normal' Emacs copies the active region to the
PRIMARY selection (controlled by `select-active-regions`). The latter
is also what the major X toolkits do by default.
This changes evil-visual-update-x-selection to use the PRIMARY
selection and also...
- Uses the wrapper `evil-set-selection` instead of the obsolete
`x-select-text`
- Tests for `display-selections-p` instead of boundness of
`x-select-text` or `ns-initialized`
|