# HG changeset patch # User vimboss # Date 1137273818 0 # Node ID 52c87a746f4ab8397933a53388389aba6a16bdd3 # Parent f3694b073509bbfed95230cbcc20aa4ae4447ad5 updated for version 7.0181 diff --git a/runtime/doc/todo.txt b/runtime/doc/todo.txt --- a/runtime/doc/todo.txt +++ b/runtime/doc/todo.txt @@ -1,4 +1,4 @@ -*todo.txt* For Vim version 7.0aa. Last change: 2006 Jan 13 +*todo.txt* For Vim version 7.0aa. Last change: 2006 Jan 14 VIM REFERENCE MANUAL by Bram Moolenaar @@ -30,6 +30,9 @@ be worked on, but only if you sponsor Vi *known-bugs* -------------------- Known bugs and current work ----------------------- +When the file "" exists, then ":!ls aap" should put backslashes before +'&', ';', '<' and '>'. + Evaluating CTRL-R = in the sandbox causes trouble (G. Sumner Hayes). Can the rules for the commandline window be used? @@ -67,7 +70,6 @@ ccomplete: Can't reproduce it right now... spelling: -- NL woordenlijst naar Adri sturen. - Include script to cleanup a .add file. (Antonio Colombo, Jan 9) - suggestions for "macARONI" doesn't include "macaroni", they are all allcap. suggestion for "KG" to "kg" when it's keepcase. diff --git a/runtime/doc/version7.txt b/runtime/doc/version7.txt --- a/runtime/doc/version7.txt +++ b/runtime/doc/version7.txt @@ -1,4 +1,4 @@ -*version7.txt* For Vim version 7.0aa. Last change: 2006 Jan 13 +*version7.txt* For Vim version 7.0aa. Last change: 2006 Jan 14 VIM REFERENCE MANUAL by Bram Moolenaar @@ -1558,4 +1558,12 @@ happens to be after the end of the line stopped at the region end match, making the region continue after that. Now check for the column being past the end of the line in syn_add_end_off(). +When changing a file, setting 'swapfile' off and then on again, making another +change and killing Vim, then some blocks may be missing from the swapfile. +When 'swapfile' is switched back on mark all blocks in the swapfile as dirty. +Added mf_set_dirty(). + +Expanding wildcards in a command like ":e aap;<>!" didn't work. Put +backslashes before characters that are special to the shell. (Adri Verhoef) + vim:tw=78:ts=8:ft=help:norl: diff --git a/src/eval.c b/src/eval.c --- a/src/eval.c +++ b/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:" */ diff --git a/src/memfile.c b/src/memfile.c --- a/src/memfile.c +++ b/src/memfile.c @@ -701,6 +701,23 @@ mf_sync(mfp, flags) } /* + * 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 */ static void diff --git a/src/memline.c b/src/memline.c --- a/src/memline.c +++ b/src/memline.c @@ -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); }