mirror of
https://github.com/vim/vim.git
synced 2025-07-25 10:54:51 -04:00
Merge 1a0309793ef3bc78c2c3c909b6c99e65af32dcb9 into a494ce1c64a2637719a5c1339abf19ec7c48089c
This commit is contained in:
commit
ad6480b833
@ -1,4 +1,4 @@
|
||||
*motion.txt* For Vim version 9.1. Last change: 2025 Apr 03
|
||||
*motion.txt* For Vim version 9.1. Last change: 2025 May 29
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@ -809,12 +809,12 @@ m< or m> Set the |'<| or |'>| mark. Useful to change what the
|
||||
start and end position.
|
||||
|
||||
*:ma* *:mark* *E191*
|
||||
:[range]ma[rk] {a-zA-Z'}
|
||||
Set mark {a-zA-Z'} at last line number in [range],
|
||||
column 0. Default is cursor line.
|
||||
:[range]ma[rk] {a-zA-Z`'[]<>}
|
||||
Set mark {a-zA-Z`'[]<>} at last line number in
|
||||
[range], column 0. Default is cursor line.
|
||||
|
||||
*:k*
|
||||
:[range]k{a-zA-Z'} Same as :mark, but the space before the mark name can
|
||||
:[range]k{a-zA-Z`'[]<>} Same as :mark, but the space before the mark name can
|
||||
be omitted.
|
||||
This command is not supported in |Vim9| script,
|
||||
because it is too easily confused with a variable
|
||||
|
@ -1,7 +1,7 @@
|
||||
" Vim syntax file
|
||||
" Language: Vim help file
|
||||
" Maintainer: The Vim Project <https://github.com/vim/vim>
|
||||
" Last Change: 2024 Dec 25
|
||||
" Last Change: 2025 May 29
|
||||
" Former Maintainer: Bram Moolenaar <Bram@vim.org>
|
||||
|
||||
" Quit when a (custom) syntax file was already loaded
|
||||
@ -100,7 +100,7 @@ syn match helpSpecial "\[+-]N\>"ms=s+4
|
||||
syn match helpSpecial "^\t-\?\zsNs\?\s"me=s+1
|
||||
" highlighting N of cinoptions-values in indent.txt
|
||||
syn match helpSpecial "^\t[>enf{}^L:=lbghNEpti+cC/(uUwWkmMjJ)*#P]N\s"ms=s+2,me=e-1
|
||||
syn match helpSpecial "{[-a-zA-Z0-9'"*+/:%#=[\]<>.,]\+}"
|
||||
syn match helpSpecial "{[-a-zA-Z0-9`'"*+/:%#=[\]<>.,]\+}"
|
||||
syn match helpSpecial "\s\[[-a-z^A-Z0-9_]\{2,}]"ms=s+1
|
||||
syn match helpSpecial "<[-a-zA-Z0-9_]\+>"
|
||||
syn match helpSpecial "<[SCM]-.>"
|
||||
|
@ -451,8 +451,7 @@ EXTERN char e_str_exists_add_bang_to_override[]
|
||||
INIT(= N_("E189: \"%s\" exists (add ! to override)"));
|
||||
EXTERN char e_cannot_open_str_for_writing_2[]
|
||||
INIT(= N_("E190: Cannot open \"%s\" for writing"));
|
||||
EXTERN char e_argument_must_be_letter_or_forward_backward_quote[]
|
||||
INIT(= N_("E191: Argument must be a letter or forward/backward quote"));
|
||||
// E191 unused
|
||||
EXTERN char e_recursive_use_of_normal_too_deep[]
|
||||
INIT(= N_("E192: Recursive use of :normal too deep"));
|
||||
#ifdef FEAT_EVAL
|
||||
|
@ -9110,11 +9110,17 @@ ex_mark(exarg_T *eap)
|
||||
return;
|
||||
}
|
||||
|
||||
if (VIM_ISDIGIT(eap->arg[0])) // viminfo write marks only
|
||||
{
|
||||
semsg(_(e_invalid_argument_str), eap->arg);
|
||||
return;
|
||||
}
|
||||
|
||||
pos = curwin->w_cursor; // save curwin->w_cursor
|
||||
curwin->w_cursor.lnum = eap->line2;
|
||||
beginline(BL_WHITE | BL_FIX);
|
||||
if (setmark(*eap->arg) == FAIL) // set mark
|
||||
emsg(_(e_argument_must_be_letter_or_forward_backward_quote));
|
||||
semsg(_(e_invalid_argument_str), eap->arg);
|
||||
curwin->w_cursor = pos; // restore curwin->w_cursor
|
||||
}
|
||||
|
||||
|
@ -4701,7 +4701,7 @@ nv_mark(cmdarg_T *cap)
|
||||
if (checkclearop(cap->oap))
|
||||
return;
|
||||
|
||||
if (setmark(cap->nchar) == FAIL)
|
||||
if (VIM_ISDIGIT(cap->nchar) || setmark(cap->nchar) == FAIL)
|
||||
clearopbeep(cap->oap);
|
||||
}
|
||||
|
||||
|
@ -225,9 +225,29 @@ endfunc
|
||||
|
||||
func Test_mark_error()
|
||||
call assert_fails('mark', 'E471:')
|
||||
call assert_fails('mark "', 'E471:')
|
||||
|
||||
call assert_fails('mark _', 'E475:')
|
||||
call assert_fails('mark 0', 'E475:')
|
||||
call assert_fails('mark 9', 'E475:')
|
||||
call assert_fails('mark .', 'E475:')
|
||||
call assert_fails('mark ^', 'E475:')
|
||||
call assert_fails('mark (', 'E475:')
|
||||
call assert_fails('mark )', 'E475:')
|
||||
call assert_fails('mark {', 'E475:')
|
||||
call assert_fails('mark }', 'E475:')
|
||||
|
||||
call assert_fails('mark xx', 'E488:')
|
||||
call assert_fails('mark _', 'E191:')
|
||||
|
||||
call assert_beeps('normal! m~')
|
||||
call assert_beeps('normal! m0')
|
||||
call assert_beeps('normal! m9')
|
||||
call assert_beeps('normal! m.')
|
||||
call assert_beeps('normal! m^')
|
||||
call assert_beeps('normal! m(')
|
||||
call assert_beeps('normal! m)')
|
||||
call assert_beeps('normal! m{')
|
||||
call assert_beeps('normal! m}')
|
||||
|
||||
call setpos("'k", [0, 100, 1, 0])
|
||||
call assert_fails("normal 'k", 'E19:')
|
||||
|
Loading…
x
Reference in New Issue
Block a user