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 <zhmingluo@163.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
This commit is contained in:
Zhaoming Luo
2025-02-06 21:39:35 +01:00
committed by Christian Brabandt
parent 9c8f9b10fc
commit a41dfcd55b
4 changed files with 14 additions and 2 deletions

View File

@ -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 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. haiku Haiku version of Vim.
hangul_input Compiled with Hangul input support. |hangul| hangul_input Compiled with Hangul input support. |hangul|
hpux HP-UX version of Vim. hpux HP-UX version of Vim.
hurd GNU/Hurd version of Vim
iconv Can use iconv() for conversion. iconv Can use iconv() for conversion.
insert_expand Compiled with support for CTRL-X expansion commands in insert_expand Compiled with support for CTRL-X expansion commands in
Insert mode. (always true) Insert mode. (always true)

View File

@ -6425,7 +6425,7 @@ f_has(typval_T *argvars, typval_T *rettv)
#endif #endif
}, },
{"bsd", {"bsd",
#if defined(BSD) && !defined(MACOS_X) #if defined(BSD) && !defined(MACOS_X) && !defined(__GNU__)
1 1
#else #else
0 0
@ -6436,6 +6436,13 @@ f_has(typval_T *argvars, typval_T *rettv)
1 1
#else #else
0 0
#endif
},
{"hurd",
#ifdef __GNU__
1
#else
0
#endif #endif
}, },
{"linux", {"linux",

View File

@ -2888,6 +2888,7 @@ func Test_platform_name()
" Is Unix? " Is Unix?
call assert_equal(has('bsd'), has('bsd') && has('unix')) call assert_equal(has('bsd'), has('bsd') && has('unix'))
call assert_equal(has('hpux'), has('hpux') && 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('linux'), has('linux') && has('unix'))
call assert_equal(has('mac'), has('mac') && has('unix')) call assert_equal(has('mac'), has('mac') && has('unix'))
call assert_equal(has('qnx'), has('qnx') && 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 =~? 'QNX', has('qnx'))
call assert_equal(uname =~? 'SunOS', has('sun')) call assert_equal(uname =~? 'SunOS', has('sun'))
call assert_equal(uname =~? 'CYGWIN\|MSYS', has('win32unix')) call assert_equal(uname =~? 'CYGWIN\|MSYS', has('win32unix'))
call assert_equal(uname =~? 'GNU', has('hurd'))
endif endif
endfunc endfunc

View File

@ -704,6 +704,8 @@ static char *(features[]) =
static int included_patches[] = static int included_patches[] =
{ /* Add new patch number below this line */ { /* Add new patch number below this line */
/**/
1081,
/**/ /**/
1080, 1080,
/**/ /**/