summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBram Moolenaar <Bram@vim.org>2020-04-30 19:09:35 +0200
committerBram Moolenaar <Bram@vim.org>2020-04-30 19:09:35 +0200
commita161cb5dddd6d374899e46fde834ce9ba5c80c0b (patch)
tree45f9bfe6baf3c6dc22c66effcd200f6aed4144e5
parent8dbafd0790eeaf8743298cccdbc2a13be52517b9 (diff)
downloadvim-git-a161cb5dddd6d374899e46fde834ce9ba5c80c0b.tar.gz
patch 8.2.0665: wrongly assuming Python executable is called "python"v8.2.0665
Problem: Wrongly assuming Python executable is called "python". Solution: Use detected python command. (Ken Takata, closes #6016) Also use CheckFunction if possible.
-rw-r--r--src/testdir/check.vim8
-rw-r--r--src/testdir/test_terminal.vim28
-rw-r--r--src/version.c2
3 files changed, 23 insertions, 15 deletions
diff --git a/src/testdir/check.vim b/src/testdir/check.vim
index efb273b00..2a4599763 100644
--- a/src/testdir/check.vim
+++ b/src/testdir/check.vim
@@ -52,6 +52,14 @@ func CheckExecutable(name)
endif
endfunc
+" Command to check for the presence of python. Argument should have been
+" obtained with PythonProg()
+func CheckPython(name)
+ if a:name == ''
+ throw 'Skipped: python command not available'
+ endif
+endfunc
+
" Command to check for running on MS-Windows
command CheckMSWindows call CheckMSWindows()
func CheckMSWindows()
diff --git a/src/testdir/test_terminal.vim b/src/testdir/test_terminal.vim
index d682a1975..49bce7375 100644
--- a/src/testdir/test_terminal.vim
+++ b/src/testdir/test_terminal.vim
@@ -715,10 +715,10 @@ func Test_terminal_write_stdin()
endfunc
func Test_terminal_eof_arg()
- CheckExecutable python
+ call CheckPython(s:python)
call setline(1, ['print("hello")'])
- 1term ++eof=exit(123) python
+ exe '1term ++eof=exit(123) ' .. s:python
" MS-Windows echoes the input, Unix doesn't.
if has('win32')
call WaitFor({-> getline('$') =~ 'exit(123)'})
@@ -733,22 +733,22 @@ endfunc
func Test_terminal_eof_arg_win32_ctrl_z()
CheckMSWindows
- CheckExecutable python
+ call CheckPython(s:python)
call setline(1, ['print("hello")'])
- 1term ++eof=<C-Z> python
+ exe '1term ++eof=<C-Z> ' .. s:python
call WaitForAssert({-> assert_match('\^Z', getline(line('$') - 1))})
call assert_match('\^Z', getline(line('$') - 1))
%bwipe!
endfunc
func Test_terminal_duplicate_eof_arg()
- CheckExecutable python
+ call CheckPython(s:python)
" Check the last specified ++eof arg is used and should not memory leak.
new
call setline(1, ['print("hello")'])
- 1term ++eof=<C-Z> ++eof=exit(123) python
+ exe '1term ++eof=<C-Z> ++eof=exit(123) ' .. s:python
" MS-Windows echoes the input, Unix doesn't.
if has('win32')
call WaitFor({-> getline('$') =~ 'exit(123)'})
@@ -1571,9 +1571,8 @@ func Test_terminal_api_call_fail_delete()
endfunc
func Test_terminal_ansicolors_default()
- if !exists('*term_getansicolors')
- throw 'Skipped: term_getansicolors() not supported'
- endif
+ CheckFunction term_getansicolors
+
let colors = [
\ '#000000', '#e00000',
\ '#00e000', '#e0e000',
@@ -1606,9 +1605,8 @@ let s:test_colors = [
func Test_terminal_ansicolors_global()
CheckFeature termguicolors
- if !exists('*term_getansicolors')
- throw 'Skipped: term_getansicolors() not supported'
- endif
+ CheckFunction term_getansicolors
+
let g:terminal_ansi_colors = reverse(copy(s:test_colors))
let buf = Run_shell_in_terminal({})
call assert_equal(g:terminal_ansi_colors, term_getansicolors(buf))
@@ -1621,9 +1619,8 @@ endfunc
func Test_terminal_ansicolors_func()
CheckFeature termguicolors
- if !exists('*term_getansicolors')
- throw 'Skipped: term_getansicolors() not supported'
- endif
+ CheckFunction term_getansicolors
+
let g:terminal_ansi_colors = reverse(copy(s:test_colors))
let buf = Run_shell_in_terminal({'ansi_colors': s:test_colors})
call assert_equal(s:test_colors, term_getansicolors(buf))
@@ -2588,6 +2585,7 @@ func Test_hidden_terminal()
endfunc
func Test_term_nasty_callback()
+ CheckExecutable sh
func OpenTerms()
set hidden
let g:buf0 = term_start('sh', #{hidden: 1})
diff --git a/src/version.c b/src/version.c
index 6f838573a..a04f4b3f3 100644
--- a/src/version.c
+++ b/src/version.c
@@ -747,6 +747,8 @@ static char *(features[]) =
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
+ 665,
+/**/
664,
/**/
663,