Ensure history is completed and cursor is in view after pasting #5790
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Fixes #5733
This PR ensures that the cursor is in view and that any changes are appended to history when using typeable commands instead of keybindings. If changes are not saved to history crashes can occur later. For example the reproduction case for #5733 uses middle mouse to trigger the
:clipboard-paste-before
command which causes the undo command to produce a crash later.While looking into a fix, I noticed that
ensure_cursor_in_view
was also not being called. When the cursor is at the EOF (vgegl
) of a large file and replaced with a very short string from the clipboard the view currently becomes empty (no visible text or line numbers). That second bug is fixed by adding theensure_cursor_in_view
call.