From 227ef7162138a55657b013ae633978c54a1411a8 Mon Sep 17 00:00:00 2001 From: Daniel Hahler Date: Mon, 9 Sep 2019 09:09:22 +0200 Subject: [PATCH 1/3] third-party: update libuv to v1.31.0 --- third-party/CMakeLists.txt | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/third-party/CMakeLists.txt b/third-party/CMakeLists.txt index 43cad34aae21cd..c555151c3514a6 100644 --- a/third-party/CMakeLists.txt +++ b/third-party/CMakeLists.txt @@ -134,11 +134,12 @@ include(ExternalProject) if(WIN32) # "nvim" branch of https://github.com/neovim/libuv - set(LIBUV_URL https://github.com/neovim/libuv/archive/eeae18d085de25f138c23966f98a179f0fb609e7.tar.gz) - set(LIBUV_SHA256 c37d0b7cb1defe69ae8dbb4d712c0d7cf838d6539178e8bcf71c72579ab5b666) + set(LIBUV_URL https://github.com/neovim/libuv/archive/d5ff3004d26b9bb863b76247399a9c72a0ff184c.tar.gz) + set(LIBUV_SHA256 0f5dfd92269713ed275273966ed73578fc68db669c509b01210cd58c1cf6361d) else() - set(LIBUV_URL https://github.com/libuv/libuv/archive/v1.30.0.tar.gz) - set(LIBUV_SHA256 44c8fdadf3b3f393006a4ac4ba144020673a3f9cd72bed1fbb2c366ebcf0d199) + # blueyed/nvim-fixes (for *BSD build fixes). + set(LIBUV_URL https://github.com/blueyed/libuv/archive/2af4cf2.tar.gz) + set(LIBUV_SHA256 SKIP) endif() set(MSGPACK_URL https://github.com/msgpack/msgpack-c/releases/download/cpp-3.0.0/msgpack-3.0.0.tar.gz) From bb6b1267e7532e0c2e065c4e9b5552623062c70f Mon Sep 17 00:00:00 2001 From: Daniel Hahler Date: Wed, 11 Sep 2019 13:48:09 +0200 Subject: [PATCH 2/3] Revert "win/os_env_exists(): workaround libuv bug #10734" This reverts commit 278c5d452c2cbc436a9cc317407ae6021a226c3a. --- src/nvim/os/env.c | 3 --- test/functional/eval/environ_spec.lua | 1 + 2 files changed, 1 insertion(+), 3 deletions(-) diff --git a/src/nvim/os/env.c b/src/nvim/os/env.c index 54fdd7961c0fea..13853016d114ce 100644 --- a/src/nvim/os/env.c +++ b/src/nvim/os/env.c @@ -102,9 +102,6 @@ bool os_env_exists(const char *name) assert(r != UV_EINVAL); if (r != 0 && r != UV_ENOENT && r != UV_ENOBUFS) { ELOG("uv_os_getenv(%s) failed: %d %s", name, r, uv_err_name(r)); -#ifdef WIN32 - return (r == UV_UNKNOWN); -#endif } return (r == 0 || r == UV_ENOBUFS); } diff --git a/test/functional/eval/environ_spec.lua b/test/functional/eval/environ_spec.lua index 4c2adcf1bfb401..54d2dc960b54e1 100644 --- a/test/functional/eval/environ_spec.lua +++ b/test/functional/eval/environ_spec.lua @@ -10,6 +10,7 @@ describe('environment variables', function() eq("", environ()['EMPTY_VAR']) eq(nil, environ()['DOES_NOT_EXIST']) end) + it('exists() handles empty env variable', function() clear({env={EMPTY_VAR=""}}) eq(1, exists('$EMPTY_VAR')) From 70827ea1fa3db6cb221b8c50677e1a6524937a5c Mon Sep 17 00:00:00 2001 From: Daniel Hahler Date: Wed, 11 Sep 2019 13:47:23 +0200 Subject: [PATCH 3/3] test/functional/preload.lua: _set_fmode for Windows --- test/functional/preload.lua | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/test/functional/preload.lua b/test/functional/preload.lua index 1107b45d549368..24a3977e6bc749 100644 --- a/test/functional/preload.lua +++ b/test/functional/preload.lua @@ -2,3 +2,13 @@ -- Busted started doing this to help provide more isolation. See issue #62 -- for more information about this. local helpers = require('test.functional.helpers')(nil) +local iswin = helpers.iswin + +if iswin() then + local ffi = require('ffi') + ffi.cdef[[ + typedef int errno_t; + errno_t _set_fmode(int mode); + ]] + ffi.C._set_fmode(0x8000) +end