Hmm... I've just found a case on which my patch fails (as well as unpatched vim). I attach the updated test case but it has (now) incorrect title and isn't finished yet.
It seems that in the vim-7.2-fold_o.patch patch > while (!got_int && fline.lnum > 0 && (!fline.start || fline.lvl != lvl)) whould be at least replaced by > while (!got_int && fline.lnum > 0 && (!fline.start || fline.lvl != 1)) to work properly since changing a line may change all the parents' fold levels. But I guess that will be much slower. It would probably be faster to use foldFind() for the similar purpose but the solution will still be slower than the current (fline.lvl != lvl) situation. I hope someone can find a better fix. -- You received this message from the "vim_dev" maillist. For more information, visit http://www.vim.org/maillist.php
test70.in
Description: Binary data
test70.ok
Description: Binary data