Tuesday, January 12, 2016

Re: Try this with release gvim74-1024.exe

Hi 'Suresh!

On Di, 12 Jan 2016, 'Suresh Govindachar' via vim_use wrote:

> On 1/12/2016 1:50 PM, Bram Moolenaar wrote [indicating need to send
> files archived in a format netrw can read, which isn't .7z]
>
> Summary: The following reproducible steps work as expected on
> 7.4.0, but cause 7.4.1023 to go into an infinite loop!
>
> Setup: Windows 7, 64 bit
> cd <some_path>
> dir will show folders vim74 and vimfiles:
> vim74\[gvim.exe and other stuff]
> vimfiles\[contains only 3 files, all named notes.vim, in
> attached zip]
> vimfiles/autoload/notes.vim
> vimfiles/ftplugin/notes.vim
> vimfiles/syntax/notes.vim
>
> Command: start vim74/gvim.exe -V20 -u none -U NONE
>
> Actions: :find <path to file try_loading_me.txt, in attached zip]
> :set filetype=notes
> :source vimfiles\ftplugin\notes.vim
>
> Expected result -- seen in 7.4.0: try_loading_me.txt will have folds
>
> Bug in 7.4.1023: :source goes into infinite loop and never gets
> back to user.
>
> Thanks for investigating this,

You have a problem with your autoload script:

while(textm =~ '^\s*$') " will always exit from while
if cline < i
break
endif
let i = i + 1
let textm = getline(cline-i)
endwhile

There is no exit condition, once cline-i is smaller than 1.
In that case getline returns an empty string, which happens to match
your "^\s*$" and therefore the loop happily continues.
Therefore add an extra condition like this:

while(textm =~ '^\s*$') " will always exit from while
if cline < i
break
endif
let i = i + 1
let textm = getline(cline-i)
endwhile


Not sure, why this doesn't happen with the old gvim.exe


Best,
Christian
--
Sei gewiß, daß nichts dein Eigentum sei, was du nicht inwendig hast.
-- Matthias Claudius

--
--
You received this message from the "vim_use" 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_use" group.
To unsubscribe from this group and stop receiving emails from it, send an email to vim_use+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

No comments: