I've just spent a few hours trying to track this down. It was very frustrating 
as vim's behaviour became unpredictable, though I think I know the cause.  
Using :Decho went bananas until I found the comment that explained that 
DechoTabOn was necessary, but even that was subject to weirdness caused by the 
autocommands running the code being debugged, which interacted with the problem 
I was trying to find.

Anyway, to cut a long story short, in V147b the variable g:netrw_xstrlen is 
used when it doesn't exist in the function s:Strlen in autoload/netrw.vim, when 
it is called in s:LocalListing.  Maybe there's :silent on the way to that 
point, but s:Strlen's execution is abandoned; trace statements towards the end 
(such at the call Dret) are not executed, and the listing code uses a directory 
length of 0.  If g:netrw_xstrlen or g:Align_xstrlen or g:drawit_xstrlen is 
defined, the problem does not occur. Perhaps Dr Chip you have one of those set.

I'm not sure, but I think the code that checks the existence of g:netrw_xstrlen 
should look like

if !exists("g:netrw_xstrlen")
 if exists("g:Align_xstrlen")
  let g:netrw_xstrlen= g:Align_xstrlen
 else
  if !exists("g:drawit_xstrlen")
   if &enc == "latin1" || !has("multi_byte")
    let g:drawit_xstrlen= 0
   else
    let g:drawit_xstrlen= 1
   endif
  endif
  let g:netrw_xstrlen= g:drawit_xstrlen
 endif
endif

Regards, John

-- 
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

Raspunde prin e-mail lui