Skip to content

evil-undo (u) unaligns the cursors #123

@duianto

Description

@duianto

evil-undo (u) unaligns the cursors,
undo (C-/) keeps them aligned.

Reproduction steps

With multiple words in a buffer.

abcdef
abcdef
abcdef
  • In evil normal state, create evil-mc cursors on all occurrences by pressing: grm
    The cursors appear at the end of the words.
abcde[f]
abcde[f]
abcde[f]
  • Move back the cursors to the left twice: hh
abc[d]ef
abc[d]ef
abc[d]ef
  • Enter evil insert state: i
abc|def
abc|def
abc|def
  • Type a character: x
abcx|def
abcx|def
abcx|def
  • Exit to evil normal state: esc
abc[x]def
abc[x]def
abc[x]def

Move the cursors to the beginning of the words: b

[a]bxcdef
[a]bxcdef
[a]bxcdef

Undo: u (evil-undo)

Observed

The real cursor moved to the position where the x was.
The fake cursors remain at the beginning of the words.

abc[d]ef
[a]bcdef
[a]bcdef

Expected

The cursors should remain aligned.
This behavior is observed when the Emacs undo command is used:
C-/ (undo)
All cursors move to the positions where the x's were.

abc[d]ef
abc[d]ef
abc[d]ef

The cursors should probably stay where they were when the undo command was called.

[a]bcdef
[a]bcdef
[a]bcdef

Notes

The same behavior is also observed when the words are unaligned.

  • evil-undo (u)
abc[d]ef
  [a]bcdef
    [a]bcdef
  • undo (C-/)
abc[d]ef
  abc[d]ef
    abc[d]ef

System Info

evil-mc-20210730.1752
GNU Emacs 27.2 (build 1, x86_64-w64-mingw32) of 2021-03-26
Windows 21H1

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions