From 16d06fa3eb74ed96b659736ea504c31ed81c325e Mon Sep 17 00:00:00 2001 From: erw7 Date: Sat, 30 Oct 2021 08:55:32 +0900 Subject: fix(eval): fix has('wsl') #16153 Problem: has('wsl') is decided at build-time. Solution: Check os_uname(). Fixes #12642, #16143 --- test/functional/vimscript/has_spec.lua | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) (limited to 'test/functional/vimscript') diff --git a/test/functional/vimscript/has_spec.lua b/test/functional/vimscript/has_spec.lua index a3af2d1a20..c03fd13e0c 100644 --- a/test/functional/vimscript/has_spec.lua +++ b/test/functional/vimscript/has_spec.lua @@ -59,7 +59,12 @@ describe('has()', function() end) it('"wsl"', function() - if 1 == funcs.has('win32') or 1 == funcs.has('mac') then + local luv = require('luv') + local is_wsl = + luv.os_uname()['release']:lower():match('microsoft') and true or false + if is_wsl then + eq(1, funcs.has('wsl')) + else eq(0, funcs.has('wsl')) end end) -- cgit