From: Zhaoming Luo Date: Thu, 6 Feb 2025 20:39:35 +0000 (+0100) Subject: patch 9.1.1081: has('bsd') is true for GNU/Hurd X-Git-Tag: v9.1.1081^0 X-Git-Url: http://git.ipfire.org/gitweb/gitweb.cgi?a=commitdiff_plain;h=a41dfcd55b1744b44a47d2fc3feb5d5f6207a556;p=thirdparty%2Fvim.git patch 9.1.1081: has('bsd') is true for GNU/Hurd Problem: has('bsd') is true for GNU/Hurd Solution: exclude GNU/Hurd from BSD feature flag (Zhaoming Luo) GNU/Hurd, like Mac OS X, is a BSD-based system. It should exclude has('bsd') feature just like what Mac OS X does. The __GNU__ pre-defined macro indicates it's compiled for GNU/Hurd. closes: #16580 Signed-off-by: Zhaoming Luo Signed-off-by: Christian Brabandt --- diff --git a/runtime/doc/builtin.txt b/runtime/doc/builtin.txt index 39ff14e5f3..e2d2f43b5e 100644 --- a/runtime/doc/builtin.txt +++ b/runtime/doc/builtin.txt @@ -1,4 +1,4 @@ -*builtin.txt* For Vim version 9.1. Last change: 2025 Feb 02 +*builtin.txt* For Vim version 9.1. Last change: 2025 Feb 06 VIM REFERENCE MANUAL by Bram Moolenaar @@ -12750,6 +12750,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 GNU/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 69b6a4fa89..5592471081 100644 --- a/src/evalfunc.c +++ b/src/evalfunc.c @@ -6425,7 +6425,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 @@ -6436,6 +6436,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 5783c7a8e3..8ecc3a6710 100644 --- a/src/testdir/test_functions.vim +++ b/src/testdir/test_functions.vim @@ -2888,6 +2888,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')) @@ -2905,6 +2906,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 diff --git a/src/version.c b/src/version.c index d8e8c0ea6f..55cbd4fdaf 100644 --- a/src/version.c +++ b/src/version.c @@ -704,6 +704,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ +/**/ + 1081, /**/ 1080, /**/