mirror of
https://github.com/neovim/neovim.git
synced 2025-02-25 18:55:25 -06:00
vim-patch:8.1.0846: not easy to recognize the system Vim runs on
Problem: Not easy to recognize the system Vim runs on.
Solution: Add more items to the features list. (Ozaki Kiichi, closes vim/vim#3855)
39536dd557
Some doc changes have already been applied. Some others are N/A.
"moon" was removed in patch 8.2.0427 so I did not add it.
This commit is contained in:
parent
f5c4c1d768
commit
f25ab39faa
@ -4347,6 +4347,9 @@ line({expr} [, {winid}]) *line()*
|
||||
line("'t") line number of mark t
|
||||
line("'" . marker) line number of mark marker
|
||||
<
|
||||
To jump to the last known position when opening a file see
|
||||
|last-position-jump|.
|
||||
|
||||
Can also be used as a |method|: >
|
||||
GetValue()->line()
|
||||
|
||||
@ -4912,8 +4915,10 @@ min({expr}) Return the minimum value of all items in {expr}.
|
||||
< *mkdir()* *E739*
|
||||
mkdir({name} [, {path} [, {prot}]])
|
||||
Create directory {name}.
|
||||
|
||||
If {path} is "p" then intermediate directories are created as
|
||||
necessary. Otherwise it must be "".
|
||||
|
||||
If {prot} is given it is used to set the protection bits of
|
||||
the new directory. The default is 0o755 (rwxr-xr-x: r/w for
|
||||
the user, readable for others). Use 0o700 to make it
|
||||
@ -4922,6 +4927,7 @@ mkdir({name} [, {path} [, {prot}]])
|
||||
{prot} is applied for all parts of {name}. Thus if you create
|
||||
/tmp/foo/bar then /tmp/foo will be created with 0o700. Example: >
|
||||
:call mkdir($HOME . "/tmp/foo/bar", "p", 0o700)
|
||||
|
||||
< This function is not available in the |sandbox|.
|
||||
|
||||
If you try to create an existing directory with {path} set to
|
||||
@ -5758,8 +5764,10 @@ remove({list}, {idx} [, {end}]) *remove()*
|
||||
Example: >
|
||||
:echo "last item: " . remove(mylist, -1)
|
||||
:call remove(mylist, 0, 9)
|
||||
<
|
||||
Use |delete()| to remove a file.
|
||||
|
||||
< Can also be used as a |method|: >
|
||||
Can also be used as a |method|: >
|
||||
mylist->remove(idx)
|
||||
|
||||
remove({blob}, {idx} [, {end}])
|
||||
@ -5779,8 +5787,6 @@ remove({dict}, {key})
|
||||
:echo "removed " . remove(dict, "one")
|
||||
< If there is no {key} in {dict} this is an error.
|
||||
|
||||
Use |delete()| to remove a file.
|
||||
|
||||
rename({from}, {to}) *rename()*
|
||||
Rename the file by the name {from} to the name {to}. This
|
||||
should also work to move files across file systems. The
|
||||
|
@ -676,7 +676,7 @@ similar to -1. >
|
||||
:let otherblob = myblob[:] " make a copy of the Blob
|
||||
|
||||
If the first index is beyond the last byte of the Blob or the second byte is
|
||||
before the first byte, the result is an empty Blob. There is no error
|
||||
before the first index, the result is an empty Blob. There is no error
|
||||
message.
|
||||
|
||||
If the second index is equal to or greater than the length of the Blob the
|
||||
|
@ -4433,6 +4433,12 @@ static void f_has(typval_T *argvars, typval_T *rettv, FunPtr fptr)
|
||||
#if defined(BSD) && !defined(__APPLE__)
|
||||
"bsd",
|
||||
#endif
|
||||
#ifdef __linux__
|
||||
"linux",
|
||||
#endif
|
||||
#ifdef SUN_SYSTEM
|
||||
"sun",
|
||||
#endif
|
||||
#ifdef UNIX
|
||||
"unix",
|
||||
#endif
|
||||
|
@ -1377,6 +1377,35 @@ func Test_func_exists_on_reload()
|
||||
delfunc ExistingFunction
|
||||
endfunc
|
||||
|
||||
func Test_platform_name()
|
||||
" The system matches at most only one name.
|
||||
let names = ['amiga', 'beos', 'bsd', 'hpux', 'linux', 'mac', 'qnx', 'sun', 'vms', 'win32', 'win32unix']
|
||||
call assert_inrange(0, 1, len(filter(copy(names), 'has(v:val)')))
|
||||
|
||||
" Is Unix?
|
||||
call assert_equal(has('beos'), has('beos') && has('unix'))
|
||||
call assert_equal(has('bsd'), has('bsd') && has('unix'))
|
||||
call assert_equal(has('hpux'), has('hpux') && 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'))
|
||||
call assert_equal(has('sun'), has('sun') && has('unix'))
|
||||
call assert_equal(has('win32'), has('win32') && !has('unix'))
|
||||
call assert_equal(has('win32unix'), has('win32unix') && has('unix'))
|
||||
|
||||
if has('unix') && executable('uname')
|
||||
let uname = system('uname')
|
||||
call assert_equal(uname =~? 'BeOS', has('beos'))
|
||||
call assert_equal(uname =~? 'BSD\|DragonFly', has('bsd'))
|
||||
call assert_equal(uname =~? 'HP-UX', has('hpux'))
|
||||
call assert_equal(uname =~? 'Linux', has('linux'))
|
||||
call assert_equal(uname =~? 'Darwin', has('mac'))
|
||||
call assert_equal(uname =~? 'QNX', has('qnx'))
|
||||
call assert_equal(uname =~? 'SunOS', has('sun'))
|
||||
call assert_equal(uname =~? 'CYGWIN\|MSYS', has('win32unix'))
|
||||
endif
|
||||
endfunc
|
||||
|
||||
sandbox function Fsandbox()
|
||||
normal ix
|
||||
endfunc
|
||||
@ -1519,24 +1548,31 @@ func Test_libcall_libcallnr()
|
||||
let libc = 'msvcrt.dll'
|
||||
elseif has('mac')
|
||||
let libc = 'libSystem.B.dylib'
|
||||
elseif system('uname -s') =~ 'SunOS'
|
||||
" Set the path to libc.so according to the architecture.
|
||||
let test_bits = system('file ' . GetVimProg())
|
||||
let test_arch = system('uname -p')
|
||||
if test_bits =~ '64-bit' && test_arch =~ 'sparc'
|
||||
let libc = '/usr/lib/sparcv9/libc.so'
|
||||
elseif test_bits =~ '64-bit' && test_arch =~ 'i386'
|
||||
let libc = '/usr/lib/amd64/libc.so'
|
||||
else
|
||||
let libc = '/usr/lib/libc.so'
|
||||
endif
|
||||
elseif system('uname -s') =~ 'OpenBSD'
|
||||
let libc = 'libc.so'
|
||||
else
|
||||
elseif executable('ldd')
|
||||
let libc = matchstr(split(system('ldd ' . GetVimProg())), '/libc\.so\>')
|
||||
endif
|
||||
if get(l:, 'libc', '') ==# ''
|
||||
" On Unix, libc.so can be in various places.
|
||||
" Interestingly, using an empty string for the 1st argument of libcall
|
||||
" allows to call functions from libc which is not documented.
|
||||
let libc = ''
|
||||
if has('linux')
|
||||
" There is not documented but regarding the 1st argument of glibc's
|
||||
" dlopen an empty string and nullptr are equivalent, so using an empty
|
||||
" string for the 1st argument of libcall allows to call functions.
|
||||
let libc = ''
|
||||
elseif has('sun')
|
||||
" Set the path to libc.so according to the architecture.
|
||||
let test_bits = system('file ' . GetVimProg())
|
||||
let test_arch = system('uname -p')
|
||||
if test_bits =~ '64-bit' && test_arch =~ 'sparc'
|
||||
let libc = '/usr/lib/sparcv9/libc.so'
|
||||
elseif test_bits =~ '64-bit' && test_arch =~ 'i386'
|
||||
let libc = '/usr/lib/amd64/libc.so'
|
||||
else
|
||||
let libc = '/usr/lib/libc.so'
|
||||
endif
|
||||
else
|
||||
" Unfortunately skip this test until a good way is found.
|
||||
return
|
||||
endif
|
||||
endif
|
||||
|
||||
if has('win32')
|
||||
|
@ -43,7 +43,7 @@ func Test_writefile_fails_gently()
|
||||
endfunc
|
||||
|
||||
func Test_writefile_fails_conversion()
|
||||
if !has('iconv') || system('uname -s') =~ 'SunOS'
|
||||
if !has('iconv') || has('sun')
|
||||
return
|
||||
endif
|
||||
" Without a backup file the write won't happen if there is a conversion
|
||||
|
Loading…
Reference in New Issue
Block a user