| Age | Commit message (Collapse) | Author |
|
|
|
|
|
|
|
|
|
|
|
See: https://about.readthedocs.com/blog/2024/12/deprecate-config-files-without-sphinx-or-mkdocs-config/
|
|
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
|
|
|
|
|
|
```
» Warning (comp): evil-vars.el:561:25: Warning: the function `evil-delete-backward-word' is not known to be defined.
» Warning (comp): evil-vars.el:565:25: Warning: the function `evil-delete-backward-word' is not known to be defined.
```
|
|
As after-change-functions such as evil--ex-update are not guaranteed
to run, this commit ensures evil-ex re-parses the final Ex command
string instead of relying on evil--ex-expression. This makes the
workaround in commit 6afd86bbc740f3008e91881f990bf346b31d3f0b (Fix for
evil-ex-teardown, 2025-01-03) to not overwrite a shortcut in
evil--ex-expression no longer necessary.
Closes #1949
|
|
Add zS-left & zS-right too. They're not in vim, but seems like an oversight
|
|
|
|
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.
|
|
|
|
Fixes #1949
|
|
This commit fixes the following error:
Error in minibuffer-exit-hook (evil-ex-teardown): (wrong-type-argument stringp nil)
|
|
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
|
|
Fixes #1941
|
|
|
|
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
|
|
* evil-common.el (evil-with-delay): Add comment for last change.
* evil-macros.el (font-lock-add-keywords): Use the font-lock faces
rather than their obsolete variables.
* evil-ex.el (evil-ex-define-argument-type): Make sure the function
arguments can be compiled.
(evil-ex-init-shell-argument-completion): Don't let-bind
`completion-at-point-functions` because hooks aren't just variables.
|
|
This either requires a dependency on the `nadvice` package,
or bumping the minimum Emacs version to 24.4. I went with
the `nadvice` package, but maybe bumping up to 24.4 would be better.
* evil.el: Require `nadvice`.
* evil-core.el (evil--advices): New var.
(evil-mode): Use it instead of `ad-dis/enable`.
(evil--advice-add): New function.
(set-window-buffer, select-window, toggle-input-method, use-global-map):
* evil-search.el (isearch-message-prefix, isearch-delete-char)
(isearch-lazy-highlight-search):
* evil-integration.el (keyboard-quit, wdired-change-to-dired-mode)
(show-paren-function, quail-show-key, describe-char, ace-jump-done):
Use `(evil--)advice-add` instead of `defadvice`.
(preceding-sexp, pp-last-sexp): Remove old code for when `advice-add`
is not available.
* evil-repeat.el (evil--read-key-sequence-advice): Adapt to use in
`advice-add`.
(read-key-sequence, read-key-sequence-vector): Use `advice-add`.
* evil-keybindings.el (elp-results): Use `advice-add` and move outside
of `eval-after-load`.
|
|
This file is auto-generated from headers in `evil.el` anyway.
* evil.el: Synchronize metadata with what was in `evil-pkg.el`.
* .gitignore: Add `evil-pkg.el`.
* Makefile (VERSION): Fetch the info from `evil.el`.
(elpa-pkg.el): New rule to (re)generate the file.
(elpa): Use it (not sure if EASK needs it, tho).
|
|
When in the point is on a blank line in normal state, scrolling down
with `pixel-scroll-precision-mode` enabled "sticks" because Evil ends up
invoking `line-move` in the `post-command-hook`. `line-move` resets
vscroll to 0, which undoes the scroll if we scrolled less than a line.
Specifically, `evil-normal-post-command` calls `evil-adjust-cursor`
which calls `evil-move-end-of-line` which calls `move-end-of-line`,
which finally calls `line-move`.
This change avoids this issue by removing the call to `evil-move-end-of-line`
entirely, instead relying on the `bolp` call in `evil-move-cursor-back`.
|
|
|
|
|
|
Means that :de expands to delete
|
|
|
|
|
|
Steps to reproduce the issue:
- Create files `a` `b` `c` with the following content:
$ head a b c
==> a <==
b
I'm A
==> b <==
c
I'm B
==> c <==
I'm C
- Run `emancs a` to open bufer `a`
- Press `gf` to jump to bufer `b`
- Press `gf` to jump to bufer `c`
- Press `C-o` to jump back to bufer `b`
- Press `C-o` to jump back to bufer `a`
- Press `C-i` to jump foward to bufer `b`
- Press `C-i` to jump foward to bufer `c`, but the window stays with
buffer unexpectedly.
|
|
|
|
* make C-w in ex and search match insert and replace
merely changed bindings and added a test
* fix evil-delete-backward-word in ex test
|
|
|
|
Also temporarily disable pre- and post-command hooks
|
|
|
|
Fixes #502, fixes #1835. Refreshing the cursor when changing the evil state is
only needed (or almost only, see below) when the current buffer is displayed in the
selected window. If this is not the case, and the buffer is only displayed or
its window selected at some later point in time, then `evil-refresh-cursor` will
be called as part of the `window-configuration-change-hook` or as advice to
`select-window`.
However, this introduces the following tiny (and maybe acceptable?) regression:
When doing something like
```elisp
(with-current-buffer (some-buffer-displayed-in-another-window)
(some-evil-state-with-a-different-cursor-type))
```
the cursor will not be refreshed in the other window before selecting it. The
cursor colour should indeed not be refreshed, because it is defined for the
whole frame; however, the cursor type should in principle be changed, as it is
defined per buffer and also defines the shape of the cursor in non-selected
windows.
There exist different ways to also handle this case, but they mostly seem ugly
or needlessly complicated to me. I think the most elegant way to fix this would
involve implementing per-buffer cursor colors in Emacs (as suggested in
https://debbugs.gnu.org/cgi/bugreport.cgi?bug=24153d). What do you think?
|
|
|
|
|
|
Fixes #1908
|
|
|
|
Improves consistency
|
|
|
|
Fixes #1907
|
|
|
|
|
|
|
|
visual-state-map inherits from normal-state map because normal is :enabled in
visual's state definition, so this is unnecessary.
|