]> granicus.if.org Git - vim/commitdiff
patch 7.4.1327 v7.4.1327
authorBram Moolenaar <Bram@vim.org>
Mon, 15 Feb 2016 21:55:28 +0000 (22:55 +0100)
committerBram Moolenaar <Bram@vim.org>
Mon, 15 Feb 2016 21:55:28 +0000 (22:55 +0100)
Problem:    Channel test doesn't work if Python executable is python.exe.
Solution:   Find py.exe or python.exe. (Ken Takata)

src/testdir/test_channel.vim
src/version.c

index 339db458ace7b57eb19f3d2e4b286c313699a2b1..e7448faf091f10a058e52d1b792faf24f354bb38 100644 (file)
@@ -13,9 +13,14 @@ if has('unix')
   if !(executable('python') && (has('job') || executable('pkill')))
     finish
   endif
+  let s:python = 'python'
 elseif has('win32')
-  " Use Python Launcher for Windows (py.exe).
-  if !executable('py')
+  " Use Python Launcher for Windows (py.exe) if available.
+  if executable('py.exe')
+    let s:python = 'py.exe'
+  elseif executable('python.exe')
+    let s:python = 'python.exe'
+  else
     finish
   endif
 else
@@ -32,11 +37,11 @@ func s:run_server(testfunc)
 
   try
     if has('job')
-      let s:job = job_start("python test_channel.py")
+      let s:job = job_start(s:python . " test_channel.py")
     elseif has('win32')
-      silent !start cmd /c start "test_channel" py test_channel.py
+      exe 'silent !start cmd /c start "test_channel" ' . s:python . ' test_channel.py'
     else
-      silent !python test_channel.py&
+      exe 'silent !' . s:python . ' test_channel.py&'
     endif
 
     " Wait for up to 2 seconds for the port number to be there.
@@ -77,7 +82,7 @@ func s:kill_server()
       unlet s:job
     endif
   elseif has('win32')
-    call system('taskkill /IM py.exe /T /F /FI "WINDOWTITLE eq test_channel"')
+    call system('taskkill /IM ' . s:python . ' /T /F /FI "WINDOWTITLE eq test_channel"')
   else
     call system("pkill -f test_channel.py")
   endif
@@ -283,7 +288,7 @@ func Test_pipe()
   if !has('job')
     return
   endif
-  let job = job_start("python test_channel_pipe.py")
+  let job = job_start(s:python . " test_channel_pipe.py")
   call assert_equal("run", job_status(job))
   try
     let handle = job_getchannel(job)
index bd13c6d4450a4429440c4a3581ccd5a16a5d9f54..74e0588b9dfb529d8f78a3afaebfbd105d53fc1c 100644 (file)
@@ -747,6 +747,8 @@ static char *(features[]) =
 
 static int included_patches[] =
 {   /* Add new patch number below this line */
+/**/
+    1327,
 /**/
     1326,
 /**/