mirror of
https://github.com/vim/vim.git
synced 2025-09-25 03:54:15 -04:00
updated for version 7.0181
This commit is contained in:
11
src/eval.c
11
src/eval.c
@@ -17667,7 +17667,18 @@ trans_function_name(pp, skip, flags, fdp)
|
||||
}
|
||||
|
||||
if (lv.ll_exp_name != NULL)
|
||||
{
|
||||
len = STRLEN(lv.ll_exp_name);
|
||||
if (lead <= 2 && lv.ll_name == lv.ll_exp_name
|
||||
&& STRNCMP(lv.ll_name, "s:", 2) == 0)
|
||||
{
|
||||
/* When there was "s:" already or the name expanded to get a
|
||||
* leading "s:" then remove it. */
|
||||
lv.ll_name += 2;
|
||||
len -= 2;
|
||||
lead = 2;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
if (lead == 2) /* skip over "s:" */
|
||||
|
@@ -700,6 +700,23 @@ mf_sync(mfp, flags)
|
||||
return status;
|
||||
}
|
||||
|
||||
/*
|
||||
* For all blocks in memory file *mfp that have a positive block number set
|
||||
* the dirty flag. These are blocks that need to be written to a newly
|
||||
* created swapfile.
|
||||
*/
|
||||
void
|
||||
mf_set_dirty(mfp)
|
||||
memfile_T *mfp;
|
||||
{
|
||||
bhdr_T *hp;
|
||||
|
||||
for (hp = mfp->mf_used_last; hp != NULL; hp = hp->bh_prev)
|
||||
if (hp->bh_bnum > 0)
|
||||
hp->bh_flags |= BH_DIRTY;
|
||||
mfp->mf_dirty = TRUE;
|
||||
}
|
||||
|
||||
/*
|
||||
* insert block *hp in front of hashlist of memfile *mfp
|
||||
*/
|
||||
|
@@ -563,7 +563,13 @@ ml_open_file(buf)
|
||||
|
||||
/* Flush block zero, so others can read it */
|
||||
if (mf_sync(mfp, MFS_ZERO) == OK)
|
||||
{
|
||||
/* Mark all blocks that should be in the swapfile as dirty.
|
||||
* Needed for when the 'swapfile' option was reset, so that
|
||||
* the swap file was deleted, and then on again. */
|
||||
mf_set_dirty(mfp);
|
||||
break;
|
||||
}
|
||||
/* Writing block 0 failed: close the file and try another dir */
|
||||
mf_close_file(buf, FALSE);
|
||||
}
|
||||
|
Reference in New Issue
Block a user