Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > MS Windows > gvim:netrw + windows


Автор: skyboy 26.4.2009, 15:54
При попытке прочитать файл с "?" в адресе получаю ошибку:
Код

:Nread http://....../zdanie.py?obj=20113&ztype=n

вызывает команду:
Цитата

C:\WINDOWS\system32\cmd.exe /c c:/wget.exe -O "C:\DOCUME~1\j2ck\LOCALS~1\Temp\VI
A603.py?obj=20113&ztype=n" "http://....../zdanie.py?obj=20113&ztype=n"

Закономерно, что ошибка: пытаться под windows создать файл с "?" в имени - неожиданное решение.
Я тоже пошел на крайние меры: в autoload/netrw.vim заменил
Код

   let tmpfile= s:GetTempfile(b:netrw_fname) " apply correct suffix

на 
Код

   let tmpfile= s:GetTempfile(b:netrw_fname) " apply correct suffix
   let tmpfile= substitute(tmpfile,'?','_','g')
   let tmpfile= substitute(tmpfile,'\*','_','g')

Теперь работает нормально.
Но все же интересно, может, у кого-то другое решение?
ЗЫ Более простые адреса(например, "http://google.com/search?q=gggg") не приводили к проблемам и до изменения netrw.vim - временный файл имел нормальное название типа "A600.tmp" 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)