| Age | Commit message (Collapse) | Author |
|
```
» 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.
```
|
|
|
|
* 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
|
|
|
|
Tests added for evil-goto-char. Fixes #1852
|
|
|
|
Otherwise it will pop an error after this commit
https://github.com/emacs-mirror/emacs/commit/802a54ad620
For ref: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=62248
|
|
Pressing C-f while editing an Ex command to open the command-line
window and later quitting that window used to not reselect the Ex
command line, but instead just continue the recursive edit in some
previous window. This was specially confusing before commit
02004bce6884619e687654d333b75c90f8fc27d0, as the evil-ex-abort hack
did not trigger, leaving you in a bad state with
evil-ex-current-buffer set to t.
This commit fixes that by setting the delete-window window parameter
on the command-line window to a function that switches back to the
minibuffer after deleting the window, which closes #1379.
This commit also replaces the split-window call with a display-buffer
invocation, to always spawn the window at the bottom of the frame, but
also allow the user to override this behavior.
|
|
There was a lot of duplication between evil-ex-completion-map and
evil-ex-search-keymap, which meant that any rebinds had to be done
twice. This commit fixes that by introducing evil-command-line-map as
a common ancestor of the two keymaps.
Also renames evil-ex-map to evil-ex-shortcut-map to avoid confusion,
as its purpose is more niche than evil-ex-completion-map which
functions the same as any other keymap passed to read-from-minibuffer.
|
|
|
|
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.
|
|
Some of these commits can be almost immediately restored,
once the time is found to do so.
Revert "Fix evil-with-delay with dynamic binding"
This reverts commit 1e9b2434264529fe0dd964b68fe89236a4abeac3.
Revert "Some cleanups"
This reverts commit 0cbd61f2de104fab16602d0418605cd0513b16f3.
Revert "Misc minor changes"
This reverts commit b291039b0c6ffc3b2f3c9f02b8ad2f0041127b12.
Revert "Merge evil-with-delay condition and body lambdas"
This reverts commit 1b56ffcc102b4c5f8b015e760b5f9cf5932622af.
Revert "(evil-with-delay): New macro, extracted from `evil-delay`"
This reverts commit 3d7faadf30016a8c20699a5fb1b5731b8a49dcd2.
Revert "Make evil-search-wrap-ring-bell work with evil-search"
This reverts commit 5e72cf5b6d57b785ea229236bb5c4638db2c9a05.
Revert "Stop the '</'> and '[/'] marks from intertwining"
This reverts commit 26db9441a13ebedb2481d7ada4c3b5e60ec22795.
Revert "Remove redundant `:group` args"
This reverts commit 6e30037fdc6a275d78d6b82d89bd8e47bcf4d4e3.
Revert "Avoid eval in evil-test-buffer"
This reverts commit 27d81ad406d2d3e07591b927357d2354ef5b5c65.
Revert "Use lexical-binding everywhere"
This reverts commit 44c7f301468c264a781be4ee8ae879fe1b457e60.
|
|
|
|
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.
|
|
|
|
Also try and make the docstring fit within 80 columns.
This fixes some incorrect uses and eliminates some warnings.
|
|
This is a proper fix for #569 instead of commit
ab0f6a546e6c703cd8d3c0d7c1035196b0455c45, which simply aborted the Ex
command line upon it being unfocused. Apart from disallowing recursive
editing, that also made debugging Ex errors impossible.
The core issue was that evil-ex-current-buffer had a dual purpose:
(I) While in the minibuffer, it stored the original buffer the Ex
command would eventually act on, and was used for special registers
and some argument handlers; and (II) While executing an Ex command it
was non-nil, which signified that commands should use the variables
evil-ex-range, evil-ex-bang and evil-ex-argument set by
evil-ex-call-command, instead of, say, prompting for a motion.
However, during recursive editing due to (I) evil-ex-current-buffer
was dynamically let-bound, triggering the special behavior in (II),
meaning all operators always worked on the evil-line motion, i.a.
Fix this by, for (I), only setting evil-ex-current-buffer
buffer-locally in the Ex minibuffer, renaming it to
evil-ex-original-buffer (similar to minibuffer--original-buffer), and
for (II) instead introducing evil-called-from-ex-p which is set to t
solely during evil-ex-call-command.
Closes #1415, by only making use of the return value of
minibuffer-selected-window where required.
|
|
|
|
When lexing a string with string-match and its START argument, there
is no way to anchor matches to the START position. Instead, one must
either allocate substrings - as done prior to commit
56b43b6f7e014e905f85df1c542c67f46ea99566 - or use looking-at etc.,
instead. This commit opts for the latter.
The Ex completion-at-point functions are also rewritten in order to
avoid having to add ex-index text properties to the command string,
since evil--ex-syntactic-context could be extended to provide that
information just as easily.
|
|
It was a no-op since (evil-repeat-type this-command t) does not
returns t, and otherwise the call to evil-repeat-start would overwrite
changes done by (funcall repeat-type 'pre) in evil-repeat-pre-hook.
|
|
Also replace a few calls to evil-filter-list that destructively
modified user-provided lists with cl-remove-if.
|
|
|
|
With the Evil repeat system now aware of read-key, there is no need for
the digraph repeat workaround introduced by commit
dba2fa9907cf096f5e615df2e8b0381b643d47ee.
|
|
This commit reworks the function evil-parser into a macro that in turn
expands to a parser.
Some features that were not utilized have been dropped:
* The GREEDY flag allowed backtracking to kick in instead of reporting
an incomplete match. However the rules in cases where they are not
deterministic are already listed in order of longest first.
Lookaheads can still be used for this purpose.
* Parsing is now always whitespace insensitive, but this is reversible
without any hassle.
* String replacement semantic actions.
* (+ ...) rules no longer implicitly use seq.
* Computation of the syntax tree has been deferred until when
completion is requested.
|
|
|
|
|
|
|
|
|
|
|
|
- make-variable-buffer-local should not be used for user-option
variables according to the emacs elisp manual.
See 12.11.2 Command: make-variable-buffer-local
|
|
|
|
|
|
|
|
Fixes #1675
|
|
Fixes #1520
|
|
|
|
This is pretty new in Vim (Jan 2022)
|
|
|
|
Fixes #1628
|
|
aa3ea1dcfc54fe25581841a8685679d482e99b3f unwed these, but they should
still keep in touch (so people can easily find out why behaviour
changed).
|
|
Deprecate `evil-want-visual-char-semi-exclusive`.
Fixes #897
|
|
|
|
haskell-interactive-mode and utop-mode are REPL-like modes that both
inherit from fundamental-mode, so they need to be explicitly listed here.
|
|
|
|
|
|
* evil-vars.el (evil-markers-alist): Adjust to new name
|
|
fixes #883
|
|
|
|
way (#1534)
* Try just comparing to '0'
* Remove cruft and clean things up
* Remove magic number
|
|
Vim user can select a region in visual mode and press the key `p` to
replace the selected text.
But in GUI Emacs, the selected text might not be replaced when:
- `select-enable-primary` is `t`
- Third plugins override `interprogram-paste-function` (xclip.el, for example)
- Clipboard managers syncronise data between PRIMARY and CLIPBOARD selection
It's because the visual commands automatically insert the content of visually
selected region into X PRIMARY selection. But paste commands call the api
`current-kill` which calls `interprogram-paste-function`.
Value of `interprogram-paste-function` is `gui-selection-value` which
might return CLIPBOARD or PRIMARY selection.
|