Steve Hall wrote:
Is there a way to construct the code below to avoid the "E193
:endfunction not inside a function" error in Vim 6.4 when loading a
Vim 7.0 script?

This for-endfor construct produces the error:

  function! MyFunct()
      if v:version < 700
          return
      endif
      ...
      for i in range(tabpagenr('$'))
         ...
      endfor
  endfunction

The runtime condition is fine, earlier versions avoid the problem.
I know I can avoid it by silencing :source call but I'd rather not do
that if there's some other trick.

Thanks.


It might be a bug in v6, but are those still being fixed? Anyway, until Bram comes back from holiday, I guess one possibility would be to replace the for/endfor by a "v6-compatible" construct like

let i = 0
while i < tabpagenr('$')
...
let i = i+1
endwhile

Or does that choke on the "unknown" tabpagenr() function?


Best regards,
Tony.

Reply via email to