vim-patch:9.1.0573: ex: no implicit print for single addresses

Problem:  ex: no implicit print for single addresses
Solution: explicitly print even during single addresses,
          as requested by POSIX (Mohamed Akram)

See the POSIX behaviour here:
https://pubs.opengroup.org/onlinepubs/9699919799/utilities/ex.html#tag_20_40_13_03
Section 6b

closes: vim/vim#15230

c25a7084e9

Co-authored-by: Mohamed Akram <mohd.akram@outlook.com>
This commit is contained in:
zeertzjq
2024-07-14 06:38:26 +08:00
parent 49ba36becd
commit 9093fbdd02
5 changed files with 32 additions and 4 deletions

View File

@@ -2079,6 +2079,7 @@ static char *do_one_cmd(char **cmdlinep, int flags, cstack_T *cstack, LineGetter
if (ea.skip) { // skip this if inside :if
goto doend;
}
assert(errormsg == NULL);
errormsg = ex_range_without_command(&ea);
goto doend;
}
@@ -2431,7 +2432,7 @@ static char *ex_range_without_command(exarg_T *eap)
{
char *errormsg = NULL;
if (*eap->cmd == '|' || (exmode_active && eap->line1 != eap->line2)) {
if (*eap->cmd == '|' || exmode_active) {
eap->cmdidx = CMD_print;
eap->argt = EX_RANGE | EX_COUNT | EX_TRLBAR;
if ((errormsg = invalid_range(eap)) == NULL) {

View File

@@ -2729,7 +2729,7 @@ static int vgetorpeek(bool advance)
timedout = true;
continue;
}
// In Ex-mode \n is compatible with original Vim behaviour.
// For the command line only CTRL-C always breaks it.
// For the cmdline window: Alternate between ESC and
// CTRL-C: ESC for most situations and CTRL-C to close the