| Age | Commit message (Collapse) | Author |
|
|
|
Fixes #1964
|
|
Normal mode "g$" put the cursor on the start of the next visual line
instead of the end of the current one.
Fixes #1244, fixes #1963
|
|
Emacs 30 introduces improved touch-screen support (via the Android port), see
“Touchscreen Events” in the Emacs Lisp reference manual: By default, touch
screen gestures are not processed when a command is bound to `down-mouse-1` (as
`evil-mouse-drag-region` is), as that is taken as an indication that touch input
should be translated to `down-mouse-1` followed by mouse motion events.
This change applies the `ignored-mouse-command` property to
`evil-mouse-drag-region` that is also present on `mouse-drag-region` in Emacs
30. This has the effect that touch screen gestures are prioritized and mouse
events are only emitted when no gesture was detected.
|
|
Undo in region can be very useful and is supported by all undo backends.
Before #1888, `evil-undo` stayed in visual state, and I think restoring this
behaviour should not negatively affect the fix for #1883.
|
|
This pull request fixes an issue where using `(evil-goto-line nil)` to
move the cursor to the end of the buffer would result in no visible
text.
This patch draws inspiration from the built-in `(end-of-buffer)`
function, which does not exhibit the same issue as calling
`(evil-goto-line nil)`.
Closes #1938
|
|
|
|
This commit circumvents the following byte compilation error:
evil-commands.el:2644:2: Error: List contains a loop: (lower-right lower-left upper-left upper-right lower-right lower-left upper-left upper-right lower-right lower-left . #6)
Resolves #1903
|
|
|
|
|
|
|
|
|
|
Also temporarily disable pre- and post-command hooks
|
|
Fixes #1908
|
|
|
|
Improves consistency
|
|
|
|
Fixes #1907
|
|
|
|
|
|
|
|
Fixes #1902
|
|
|
|
Refactoring accidentally changed `evil-operator-state-p`
to `evil-operator-state`
|
|
|
|
There already exists a method for sticking to EOL: Setting
temporary-goal-column to most-positive-fixnum. As such, there is no
need for the variable evil--visual-eol-anchored introduced by commit
e31bff8cb64d773bbfd9a8e326db8645eaee43fd.
This commit also fixes a regression where "g$" made "gj"/"gk" stick to
visual EOLs.
|
|
Fixes an issue noticed while triaging #1894
|
|
This fixes a regression caused by commit
004ac4e0cd766d49d48d53270e9c0c080ad9f173, where Visual mode "I"
repeated the insertion on one too many lines unless at EOB.
|
|
|
|
|
|
Also fixes #1876
|
|
Partially fixes #1878
|
|
Bug since 476f5fbcf1288c5a46a6ba35efe0b8dd1e4dd0ec
Thanks to @axelf4 for spotting.
|
|
|
|
|
|
Most of the work was done by Maxi Wolff (@smile13241324) over 6yrs ago.
I've made a few changes, so have assumed authorship.
This fixes #968
|
|
Fixes a warning:
evil-commands.el:2125:15: Warning: ‘backward-delete-char’ is for interactive use only; use ‘delete-char’ instead.
|
|
Fixes #1858
|
|
|
|
|
|
Tests added for evil-goto-char. Fixes #1852
|
|
See "Changing tabs" section in the Vim manual
https://vimhelp.org/change.txt.html#change.txt
|
|
|
|
This emulates the behavior of vim, where {N}gt goes to the Nth tab,
but {N}gT goes back N tabs.
|
|
|
|
|
|
* README.md: Mention that `undo-fu` is also in NonGNU ELPA and update
its repository URL.
* evil.el: Update the undo-fu repository URL.
* evil-macros.el (evil-define-interactive-code): Move the insertion of
quote around `func` to the `cond` so the `quote` is not incorrectly
added around lambda forms.
* evil-tests.el: Add a FIXME.
* evil-commands.el (evil-save-side-windows): Silence spurious warning.
|
|
Save some kittens by using a macro instead of using `eval`.
This also exposes more code to the compiler, so should result in
more efficient code and potentially better compiler warnings.
* evil-common.el (evil-unquote): Delete unused function.
(evil--with-delay): New function, extracted from `evil-delay`.
(evil-with-delay): New macro, extracted from `evil-delay`.
(evil-delay): Redefine using `evil-with-delay` and declare obsolete.
* evil-states.el (evil-visual-activate-hook):
* evil-core.el (evil-define-key):
* evil-commands.el (evil-execute-in-normal-state): Use `evil-with-delay`.
|
|
The function evil-visual-paste would assign to evil-visual-point/-mark
the same markers used by the '[ and '] marks. Therefore, after a
single visual paste Normal mode "gv" would act funkily in that buffer
ever after. To reproduce:
* Enter a new buffer with the contents:
x
y
* With the cursor on "x", type "ylvpjxgv".
The expectation is that "x" should be re-selected. Instead the empty
lower line is selected due to it being the previously changed text.
This commit fixes this, and also removes unused definitions related to
evil-visual-previous-point/-mark.
|
|
Most of the code already used lexical-binding, but there were
still a few of remnant of use of the old dynbound dialect.
* evil-tests.el: Activate `lexical-binding`.
(evil-test-change-state): Initialize the local vars immediately rather
than as a separate step. Remove unused vars `keymap` and `local-keymap`.
(evil-test-auxiliary-maps): Rename local var to `evil--map` and declare
it dynbound since we need `evil-define-key` to have access to it.
(evil-test-exclusive-type): Remove unused var `third`.
(evil-test-text-object): Mark unused var `type`.
(evil-with-both-search-modules): Move before first use.
(evil-test-properties): Rename local var to `evil--alist` and declare
it dynbound since we need `evil-put-property` to have access to it.
* evil.el: Activate `lexical-binding`.
* evil-types.el ("<addr>"):
* evil-common.el (evil--eval-expr):
* evil-commands.el (evil-ex-global): Tell `eval` to use the lexbind
dialect of ELisp.
|