diff --git a/editors/neovim/Makefile b/editors/neovim/Makefile index 92fbb338466..ac2c90257c6 100644 --- a/editors/neovim/Makefile +++ b/editors/neovim/Makefile @@ -1,10 +1,11 @@ -# $OpenBSD: Makefile,v 1.1.1.1 2017/05/02 20:58:42 edd Exp $ +# $OpenBSD: Makefile,v 1.2 2017/05/12 09:56:33 edd Exp $ COMMENT = a continuation and extension of Vim GH_ACCOUNT = neovim GH_PROJECT = neovim GH_TAGNAME = v0.2.0 +REVISION = 0 CATEGORIES = editors devel HOMEPAGE = http://neovim.org diff --git a/editors/neovim/patches/patch-runtime_autoload_health_provider_vim b/editors/neovim/patches/patch-runtime_autoload_health_provider_vim new file mode 100644 index 00000000000..4d101ab3ca6 --- /dev/null +++ b/editors/neovim/patches/patch-runtime_autoload_health_provider_vim @@ -0,0 +1,69 @@ +$OpenBSD: patch-runtime_autoload_health_provider_vim,v 1.1 2017/05/12 09:56:34 edd Exp $ + +https://github.com/neovim/neovim/pull/6721 + +Index: runtime/autoload/health/provider.vim +--- runtime/autoload/health/provider.vim.orig ++++ runtime/autoload/health/provider.vim +@@ -38,6 +38,16 @@ function! s:system_handler(jobid, data, event) dict ab + endif + endfunction + ++" Attempts to construct a shell command from an args list. ++" Only for display, to help users debug a failed command. ++function! s:shellify(cmd) abort ++ if type(a:cmd) != type([]) ++ return a:cmd ++ endif ++ return join(map(copy(a:cmd), ++ \'v:val =~# ''\m[\-.a-zA-Z_/]'' ? shellescape(v:val) : v:val'), ' ') ++endfunction ++ + " Run a system command and timeout after 30 seconds. + function! s:system(cmd, ...) abort + let stdin = a:0 ? a:1 : '' +@@ -54,8 +64,7 @@ function! s:system(cmd, ...) abort + let jobid = jobstart(a:cmd, opts) + + if jobid < 1 +- call health#report_error(printf('Command error %d: %s', jobid, +- \ type(a:cmd) == type([]) ? join(a:cmd) : a:cmd)) ++ call health#report_error(printf('Command error (job=%d): %s', jobid, s:shellify(a:cmd))) + let s:shell_error = 1 + return opts.output + endif +@@ -66,13 +75,11 @@ function! s:system(cmd, ...) abort + + let res = jobwait([jobid], 30000) + if res[0] == -1 +- call health#report_error(printf('Command timed out: %s', +- \ type(a:cmd) == type([]) ? join(a:cmd) : a:cmd)) ++ call health#report_error(printf('Command timed out: %s', s:shellify(a:cmd))) + call jobstop(jobid) + elseif s:shell_error != 0 && !ignore_error +- call health#report_error(printf('Command error (%d) %s: %s', jobid, +- \ type(a:cmd) == type([]) ? join(a:cmd) : a:cmd, +- \ opts.output)) ++ call health#report_error(printf("Command error (job=%d): %s\nOutput: %s", jobid, ++ \ s:shellify(a:cmd), opts.output)) + endif + + return opts.output +@@ -157,7 +164,7 @@ function! s:version_info(python) abort + \ ])) + + if empty(python_version) +- let python_version = 'unable to parse python response' ++ let python_version = 'unable to parse '.a:python.' response' + endif + + let nvim_path = s:trim(s:system([ +@@ -176,7 +183,7 @@ function! s:version_info(python) abort + endfunction + + " Try to get neovim.VERSION (added in 0.1.11dev). +- let nvim_version = s:system(['python', '-c', ++ let nvim_version = s:system([a:python, '-c', + \ 'from neovim import VERSION as v; '. + \ 'print("{}.{}.{}{}".format(v.major, v.minor, v.patch, v.prerelease))'], + \ '', 1, 1) diff --git a/editors/neovim/patches/patch-runtime_autoload_health_vim b/editors/neovim/patches/patch-runtime_autoload_health_vim new file mode 100644 index 00000000000..e1872d4c0ad --- /dev/null +++ b/editors/neovim/patches/patch-runtime_autoload_health_vim @@ -0,0 +1,15 @@ +$OpenBSD: patch-runtime_autoload_health_vim,v 1.1 2017/05/12 09:56:34 edd Exp $ + +https://github.com/neovim/neovim/pull/6721 + +Index: runtime/autoload/health.vim +--- runtime/autoload/health.vim.orig ++++ runtime/autoload/health.vim +@@ -66,6 +66,7 @@ function! health#check(plugin_names) abort + " needed for plasticboy/vim-markdown, because it uses fdm=expr + normal! zR + setlocal nomodified ++ setlocal bufhidden=hide + redraw|echo '' + endfunction +