Please have a look, I hope the semantics are correct :). Zhaoming
--- runtime/doc/builtin.txt | 1 + src/evalfunc.c | 9 ++++++++- src/testdir/test_functions.vim | 2 ++ 3 files changed, 11 insertions(+), 1 deletion(-) diff --git a/runtime/doc/builtin.txt b/runtime/doc/builtin.txt index d7ed7320f..310268b00 100644 --- a/runtime/doc/builtin.txt +++ b/runtime/doc/builtin.txt @@ -12639,6 +12639,7 @@ gui_win32s idem, and Win32s system being used (Windows 3.1) haiku Haiku version of Vim. hangul_input Compiled with Hangul input support. |hangul| hpux HP-UX version of Vim. +hurd Hurd version of Vim iconv Can use iconv() for conversion. insert_expand Compiled with support for CTRL-X expansion commands in Insert mode. (always true) diff --git a/src/evalfunc.c b/src/evalfunc.c index d81480b50..27b54b7f0 100644 --- a/src/evalfunc.c +++ b/src/evalfunc.c @@ -6409,7 +6409,7 @@ f_has(typval_T *argvars, typval_T *rettv) #endif }, {"bsd", -#if defined(BSD) && !defined(MACOS_X) +#if defined(BSD) && !defined(MACOS_X) && !defined(__GNU__) 1 #else 0 @@ -6420,6 +6420,13 @@ f_has(typval_T *argvars, typval_T *rettv) 1 #else 0 +#endif + }, + {"hurd", +#ifdef __GNU__ + 1 +#else + 0 #endif }, {"linux", diff --git a/src/testdir/test_functions.vim b/src/testdir/test_functions.vim index f80754f0a..ca9137df3 100644 --- a/src/testdir/test_functions.vim +++ b/src/testdir/test_functions.vim @@ -2760,6 +2760,7 @@ func Test_platform_name() " Is Unix? call assert_equal(has('bsd'), has('bsd') && has('unix')) call assert_equal(has('hpux'), has('hpux') && has('unix')) + call assert_equal(has('hurd'), has('hurd') && has('unix')) call assert_equal(has('linux'), has('linux') && has('unix')) call assert_equal(has('mac'), has('mac') && has('unix')) call assert_equal(has('qnx'), has('qnx') && has('unix')) @@ -2777,6 +2778,7 @@ func Test_platform_name() call assert_equal(uname =~? 'QNX', has('qnx')) call assert_equal(uname =~? 'SunOS', has('sun')) call assert_equal(uname =~? 'CYGWIN\|MSYS', has('win32unix')) + call assert_equal(uname =~? 'GNU', has('hurd')) endif endfunc -- 2.47.2