On Tue, Dec 22, 2015 at 12:19 AM, Steven Hall <[email protected]> wrote: > I have 2 versions of vim. Both the exact same configuration, but whenever I > do a :m command in one of them, it closes all open folds. > > I ran vim -N -u NONE to open vim with no configs or plugins. > > Then in vim I set set foldmethod=marker, to start using folds with a marker > (without this setting the odd behaviour does not occur). > > Now if I am on any line and do a command with :m it will close that fold. > > Example: > > /*{{{*/ > test > test > test > test > /*}}}*/ > > Hello > > Here we have 4 lines with "test" in a fold, and a stray "Hello" that is not > in the fold. > > With my cursor on the line of Hello if I do a :m command such as :m 6 the > resulting document looks like this (note that I gave the example of :m 6, > but every single combination of :m commands that I have tried yield the same > result): > > +-- 6 lines: > ------------------------------------------------------------------------------------------ > Hello > > The movement is correct, but now the fold is closed, which is not what I > would expect. > > This occurs also when the line you are moving is inside a fold (All folds > close). > > This is the output of vim --version that behaves in this strange way for me: > > $ vim --version > VIM - Vi IMproved 7.4 (2013 Aug 10, compiled Nov 28 2015 02:02:33) > Included patches: 1-942 > Modified by pi-rho > Compiled by buildd@lcy01-36 > Huge version with GTK2-GNOME GUI. Features included (+) or not (-): […] > > And this is the version I have that behaves as I expect (The folds do not > close themselves): > > $ vim --version > VIM - Vi IMproved 7.4 (2013 Aug 10, compiled Jan 2 2014 19:40:46) > Included patches: 1-52 > Modified by [email protected] > Compiled by buildd@ > Huge version with GTK2-GNOME GUI. Features included (+) or not (-): […]
Between 7.4.52 and 7.4.942, that's a wide range! I tried searching the patch descriptions at http://ftp.vim.org/pub/vim/patches/7.4/ for the word "fold" but the only "interesting" thing I found was patch 7.4.700, which would seem to repair what you found broken. Then I tried to reproduce it in my Huge gvim 7.4.979 with GTK2/Gnome2 GUI for linux-x86_64, where the only "local changes" are in feature.h to set +xterm_save -tag_old_static. First I tried checking the fold option values and got foldmethod=manual foldlevel=0 foldmarker={{{,}}} foldenable foldclose= Setting foldmethod=marker _immediately_ closes the fold, which is what I would expect with fdl=0. So I reopened the fold by clicking right on the "+" character at its far left, moved the cursor back to "Hello" and moved that line to immediately below the fold by ":m 6". The fold indeed closes, which is in agreement with 'foldlevel'. So I set 'foldlevel' to 1 (which opened it), added an empty line above the "Hello", then repeated the move. This time the move didn't close the fold. 3rd experiment: Add two empty lines before Hello (e.g. by ":m $"), set fdl=0 (e.g. by zM), reopen only this fold (by right-arrow on its + token), bring back the cursor on Hello and move it, but not directly below the fold (by :m 7) Here too, the move closes the fold. IOW, in "modern" Vim versions, :move reapplies 'foldlevel'. This may be surprising to some, but I think it is understandable. Bram, what do you think? Bug or feature? Best regards, Tony. -- -- You received this message from the "vim_dev" maillist. Do not top-post! Type your reply below the text you are replying to. For more information, visit http://www.vim.org/maillist.php --- You received this message because you are subscribed to the Google Groups "vim_dev" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. For more options, visit https://groups.google.com/d/optout.
