Mirror of the Vim source from https://github.com/vim/vim
Révision | 52c87a746f4ab8397933a53388389aba6a16bdd3 (tree) |
---|---|
l'heure | 2006-01-15 06:23:38 |
Auteur | vimboss |
Commiter | vimboss |
updated for version 7.0181
@@ -1,4 +1,4 @@ | ||
1 | -*todo.txt* For Vim version 7.0aa. Last change: 2006 Jan 13 | |
1 | +*todo.txt* For Vim version 7.0aa. Last change: 2006 Jan 14 | |
2 | 2 | |
3 | 3 | |
4 | 4 | VIM REFERENCE MANUAL by Bram Moolenaar |
@@ -30,6 +30,9 @@ | ||
30 | 30 | *known-bugs* |
31 | 31 | -------------------- Known bugs and current work ----------------------- |
32 | 32 | |
33 | +When the file "" exists, then ":!ls aap<Tab>" should put backslashes before | |
34 | +'&', ';', '<' and '>'. | |
35 | + | |
33 | 36 | Evaluating CTRL-R = in the sandbox causes trouble (G. Sumner Hayes). Can the |
34 | 37 | rules for the commandline window be used? |
35 | 38 |
@@ -67,7 +70,6 @@ | ||
67 | 70 | Can't reproduce it right now... |
68 | 71 | |
69 | 72 | spelling: |
70 | -- NL woordenlijst naar Adri sturen. | |
71 | 73 | - Include script to cleanup a .add file. (Antonio Colombo, Jan 9) |
72 | 74 | - suggestions for "macARONI" doesn't include "macaroni", they are all allcap. |
73 | 75 | suggestion for "KG" to "kg" when it's keepcase. |
@@ -1,4 +1,4 @@ | ||
1 | -*version7.txt* For Vim version 7.0aa. Last change: 2006 Jan 13 | |
1 | +*version7.txt* For Vim version 7.0aa. Last change: 2006 Jan 14 | |
2 | 2 | |
3 | 3 | |
4 | 4 | VIM REFERENCE MANUAL by Bram Moolenaar |
@@ -1558,4 +1558,12 @@ | ||
1558 | 1558 | stopped at the region end match, making the region continue after that. |
1559 | 1559 | Now check for the column being past the end of the line in syn_add_end_off(). |
1560 | 1560 | |
1561 | +When changing a file, setting 'swapfile' off and then on again, making another | |
1562 | +change and killing Vim, then some blocks may be missing from the swapfile. | |
1563 | +When 'swapfile' is switched back on mark all blocks in the swapfile as dirty. | |
1564 | +Added mf_set_dirty(). | |
1565 | + | |
1566 | +Expanding wildcards in a command like ":e aap;<>!" didn't work. Put | |
1567 | +backslashes before characters that are special to the shell. (Adri Verhoef) | |
1568 | + | |
1561 | 1569 | vim:tw=78:ts=8:ft=help:norl: |
@@ -17667,7 +17667,18 @@ | ||
17667 | 17667 | } |
17668 | 17668 | |
17669 | 17669 | if (lv.ll_exp_name != NULL) |
17670 | + { | |
17670 | 17671 | len = STRLEN(lv.ll_exp_name); |
17672 | + if (lead <= 2 && lv.ll_name == lv.ll_exp_name | |
17673 | + && STRNCMP(lv.ll_name, "s:", 2) == 0) | |
17674 | + { | |
17675 | + /* When there was "s:" already or the name expanded to get a | |
17676 | + * leading "s:" then remove it. */ | |
17677 | + lv.ll_name += 2; | |
17678 | + len -= 2; | |
17679 | + lead = 2; | |
17680 | + } | |
17681 | + } | |
17671 | 17682 | else |
17672 | 17683 | { |
17673 | 17684 | if (lead == 2) /* skip over "s:" */ |
@@ -701,6 +701,23 @@ | ||
701 | 701 | } |
702 | 702 | |
703 | 703 | /* |
704 | + * For all blocks in memory file *mfp that have a positive block number set | |
705 | + * the dirty flag. These are blocks that need to be written to a newly | |
706 | + * created swapfile. | |
707 | + */ | |
708 | + void | |
709 | +mf_set_dirty(mfp) | |
710 | + memfile_T *mfp; | |
711 | +{ | |
712 | + bhdr_T *hp; | |
713 | + | |
714 | + for (hp = mfp->mf_used_last; hp != NULL; hp = hp->bh_prev) | |
715 | + if (hp->bh_bnum > 0) | |
716 | + hp->bh_flags |= BH_DIRTY; | |
717 | + mfp->mf_dirty = TRUE; | |
718 | +} | |
719 | + | |
720 | +/* | |
704 | 721 | * insert block *hp in front of hashlist of memfile *mfp |
705 | 722 | */ |
706 | 723 | static void |
@@ -563,7 +563,13 @@ | ||
563 | 563 | |
564 | 564 | /* Flush block zero, so others can read it */ |
565 | 565 | if (mf_sync(mfp, MFS_ZERO) == OK) |
566 | + { | |
567 | + /* Mark all blocks that should be in the swapfile as dirty. | |
568 | + * Needed for when the 'swapfile' option was reset, so that | |
569 | + * the swap file was deleted, and then on again. */ | |
570 | + mf_set_dirty(mfp); | |
566 | 571 | break; |
572 | + } | |
567 | 573 | /* Writing block 0 failed: close the file and try another dir */ |
568 | 574 | mf_close_file(buf, FALSE); |
569 | 575 | } |