Mercurial > vim
changeset 28220:73c5dbdc4236 v8.2.4636
patch 8.2.4636: not using Visual range
Commit: https://github.com/vim/vim/commit/1501b63f8dedbd15ee5bfd9a177e558ffdf0673a
Author: Bram Moolenaar <Bram@vim.org>
Date: Sun Mar 27 16:56:21 2022 +0100
patch 8.2.4636: not using Visual range
Problem: Not using Visual range.
Solution: Put the command pointer back to the range.
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Sun, 27 Mar 2022 18:00:04 +0200 |
parents | 1b6553ab16e5 |
children | 50a14b45797e |
files | src/ex_docmd.c src/version.c |
diffstat | 2 files changed, 17 insertions(+), 9 deletions(-) [+] |
line wrap: on
line diff
--- a/src/ex_docmd.c +++ b/src/ex_docmd.c @@ -3092,15 +3092,21 @@ parse_command_modifiers( break; } - if (has_visual_range && eap->cmd > cmd_start) - { - // Move the '<,'> range to after the modifiers and insert a colon. - // Since the modifiers have been parsed put the colon on top of the - // space: "'<,'>mod cmd" -> "mod:'<,'>cmd - // Put eap->cmd after the colon. - mch_memmove(cmd_start - 5, cmd_start, eap->cmd - cmd_start); - eap->cmd -= 5; - mch_memmove(eap->cmd - 1, ":'<,'>", 6); + if (has_visual_range) + { + if (eap->cmd > cmd_start) + { + // Move the '<,'> range to after the modifiers and insert a colon. + // Since the modifiers have been parsed put the colon on top of the + // space: "'<,'>mod cmd" -> "mod:'<,'>cmd + // Put eap->cmd after the colon. + mch_memmove(cmd_start - 5, cmd_start, eap->cmd - cmd_start); + eap->cmd -= 5; + mch_memmove(eap->cmd - 1, ":'<,'>", 6); + } + else + // no modifiers, move the pointer back + eap->cmd -= 5; } return OK;