Guest User

Untitled

a guest
Apr 19th, 2014
324
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Diff 2.99 KB | None | 0 0
  1. --- netrw.vim   2014-03-24 19:36:08.000000000 -0700
  2. +++ netrw-fix.vim   2014-04-19 14:02:40.400250212 -0700
  3. @@ -1589,21 +1589,22 @@
  4.  "                     Use  s:NetrwOptionRestore() to restore user settings
  5.  fun! s:NetrwSafeOptions()
  6.  "  call Dfunc("s:NetrwSafeOptions() win#".winnr()." buf#".bufnr("%")."<".bufname(bufnr("%"))."> winnr($)=".winnr("$"))
  7.  "  call Decho("win#".winnr()."'s ft=".&ft)
  8.  "  call Decho("settings buf#".bufnr("%")."<".bufname("%").">: ".((&l:ma == 0)? "no" : "")."ma ".((&l:mod == 0)? "no" : "")."mod ".((&l:bl == 0)? "no" : "")."bl ".((&l:ro == 0)? "no" : "")."ro fo=".&l:fo)
  9.    if exists("+acd") | setl noacd | endif
  10.    setl noai
  11.    setl noaw
  12.    setl nobl
  13.    setl nobomb
  14. -  setl bt=nofile
  15. +  " XXXXX-FIX: Not being able to save to remotely editing file.
  16. +  "            Not set bt=nofile."
  17.    setl noci
  18.    setl nocin
  19.    if g:netrw_liststyle == s:TREELIST
  20.     setl bh=hide
  21.    endif
  22.    setl cino=
  23.    setl com=
  24.    setl cpo-=a
  25.    setl cpo-=A
  26.    setl fo=nroql2
  27. @@ -10188,30 +10189,37 @@
  28.  
  29.  "  call Dret("s:RestoreBufVars")
  30.  endfun
  31.  
  32.  " ---------------------------------------------------------------------
  33.  " s:RemotePathAnalysis: {{{2
  34.  fun! s:RemotePathAnalysis(dirname)
  35.  "  call Dfunc("s:RemotePathAnalysis(a:dirname<".a:dirname.">)")
  36.  
  37.    "                method   ://    user  @      machine      :port            /path
  38. -  let dirpat  = '^\(\w\{-}\)://\(\(\w\+\)@\)\=\([^/:#]\+\)\%([:#]\(\d\+\)\)\=/\(.*\)$'
  39. +  " XXXXX-FIX: Error due to malformed hostname, while listing and editing.
  40. +  "            (tabe scp://[email protected]/
  41. +  "              => error: ssh ... gtdwiwo192.no-ip.info ...)
  42. +  "
  43. +  "            s:user should contains '@'.  All usages of s:user are
  44. +  "            's:user.s:machine'.
  45. +  
  46. +  let dirpat  = '^\(\w\{-}\)://\(\w\+@\)\=\([^/:#]\+\)\%([:#]\(\d\+\)\)\=/\(.*\)$'
  47.    let s:method  = substitute(a:dirname,dirpat,'\1','')
  48. -  let s:user    = substitute(a:dirname,dirpat,'\3','')
  49. -  let s:machine = substitute(a:dirname,dirpat,'\4','')
  50. -  let s:port    = substitute(a:dirname,dirpat,'\5','')
  51. -  let s:path    = substitute(a:dirname,dirpat,'\6','')
  52. +  let s:user    = substitute(a:dirname,dirpat,'\2','')
  53. +  let s:machine = substitute(a:dirname,dirpat,'\3','')
  54. +  let s:port    = substitute(a:dirname,dirpat,'\4','')
  55. +  let s:path    = substitute(a:dirname,dirpat,'\5','')
  56.    let s:fname   = substitute(a:dirname,'^.*/\ze.','','')
  57.    if s:machine =~ '@'
  58. -   let dirpat    = '^\(.*\)@\(.\{-}\)$'
  59. -   let s:user    = s:user.'@'.substitute(s:machine,dirpat,'','')
  60. +   let dirpat    = '^\(.*\@)\(.\{-}\)$'
  61. +   let s:user    = s:user.substitute(s:machine,dirpat,'','')
  62.     let s:machine = substitute(s:machine,dirpat,'\2','')
  63.    endif
  64.  
  65.  "  call Decho("set up s:method <".s:method .">")
  66.  "  call Decho("set up s:user   <".s:user   .">")
  67.  "  call Decho("set up s:machine<".s:machine.">")
  68.  "  call Decho("set up s:port   <".s:port.">")
  69.  "  call Decho("set up s:path   <".s:path   .">")
  70.  "  call Decho("set up s:fname  <".s:fname  .">")
Advertisement
Add Comment
Please, Sign In to add comment