let other: list<string> = ['asdf']
enddef
+def Test_range_only()
+ new
+ setline(1, ['blah', 'Blah'])
+ :/Blah/
+ assert_equal(2, getcurpos()[1])
+enddef
+
let s:appendToMe = 'xxx'
let s:addToMe = 111
let g:existing = 'yes'
if (*cmd != '\'' || starts_with_colon)
{
ea.cmd = skip_range(ea.cmd, NULL);
- if (ea.cmd > cmd && !starts_with_colon)
+ if (ea.cmd > cmd)
{
- emsg(_(e_colon_required_before_a_range));
- goto erret;
+ if (!starts_with_colon)
+ {
+ emsg(_(e_colon_required_before_a_range));
+ goto erret;
+ }
+ if (ends_excmd2(line, ea.cmd))
+ {
+ // A range without a command: jump to the line.
+ // TODO: compile to a more efficient command, possibly
+ // calling parse_cmd_address().
+ ea.cmdidx = CMD_SIZE;
+ line = compile_exec(line, &ea, &cctx);
+ goto nextline;
+ }
}
}
p = find_ex_command(&ea, NULL, starts_with_colon ? NULL
line = compile_exec(line, &ea, &cctx);
break;
}
+nextline:
if (line == NULL)
goto erret;
line = skipwhite(line);