mirror of
https://github.com/vim/vim.git
synced 2025-09-25 03:54:15 -04:00
patch 8.1.2302: :lockmarks does not work for '[ and ']
Problem: :lockmarks does not work for '[ and ']. Solution: save and restore '[ and '] marks. (James McCoy, closes #5222)
This commit is contained in:
@@ -683,6 +683,8 @@ buf_write(
|
||||
context_sha256_T sha_ctx;
|
||||
#endif
|
||||
unsigned int bkc = get_bkc_value(buf);
|
||||
pos_T orig_start = buf->b_op_start;
|
||||
pos_T orig_end = buf->b_op_end;
|
||||
|
||||
if (fname == NULL || *fname == NUL) // safety check
|
||||
return FAIL;
|
||||
@@ -875,6 +877,13 @@ buf_write(
|
||||
#endif
|
||||
)
|
||||
{
|
||||
if (buf != NULL && cmdmod.lockmarks)
|
||||
{
|
||||
// restore the original '[ and '] positions
|
||||
buf->b_op_start = orig_start;
|
||||
buf->b_op_end = orig_end;
|
||||
}
|
||||
|
||||
--no_wait_return;
|
||||
msg_scroll = msg_save;
|
||||
if (nofile_err)
|
||||
@@ -952,6 +961,13 @@ buf_write(
|
||||
fname = buf->b_sfname;
|
||||
}
|
||||
|
||||
if (cmdmod.lockmarks)
|
||||
{
|
||||
// restore the original '[ and '] positions
|
||||
buf->b_op_start = orig_start;
|
||||
buf->b_op_end = orig_end;
|
||||
}
|
||||
|
||||
#ifdef FEAT_NETBEANS_INTG
|
||||
if (netbeans_active() && isNetbeansBuffer(buf))
|
||||
{
|
||||
|
Reference in New Issue
Block a user