diff --git a/runtime/doc/eval.txt b/runtime/doc/eval.txt index 5621800287..ddc2b83ba5 100644 --- a/runtime/doc/eval.txt +++ b/runtime/doc/eval.txt @@ -1,4 +1,4 @@ -*eval.txt* For Vim version 7.4. Last change: 2016 Jan 24 +*eval.txt* For Vim version 7.4. Last change: 2016 Jan 28 VIM REFERENCE MANUAL by Bram Moolenaar @@ -2842,6 +2842,7 @@ empty({expr}) *empty()* Return the Number 1 if {expr} is empty, zero otherwise. A |List| or |Dictionary| is empty when it does not have any items. A Number is empty when its value is zero. + |v:false|, |v:none| and |v:null| are empty, |v:true| is not. For a long |List| this is much faster than comparing the length with zero. @@ -4252,16 +4253,21 @@ jsondecode({string}) *jsondecode()* JSON and Vim values. The decoding is permissive: - A trailing comma in an array and object is ignored. - - An empty item in an array results in v:none. - - When an object name is not a string it is converted to a - string. E.g. the number 123 is used as the string "123". + - An empty item in an array, two commas with nothing or white + space in between, results in v:none. + - When an object member name is not a string it is converted + to a string. E.g. the number 123 is used as the string + "123". - More floating point numbers are recognized, e.g. "1." for "1.0". + The result must be a valid Vim type: + - An empty object member name is not allowed. + - Duplicate object member names are not allowed. jsonencode({expr}) *jsonencode()* Encode {expr} as JSON and return this as a string. The encoding is specified in: - http://www.ietf.org/rfc/rfc4627.txt + https://tools.ietf.org/html/rfc7159.html Vim values are converted as follows: Number decimal number Float floating point number @@ -5889,18 +5895,8 @@ shellescape({string} [, {special}]) *shellescape()* shiftwidth() *shiftwidth()* Returns the effective value of 'shiftwidth'. This is the 'shiftwidth' value unless it is zero, in which case it is the - 'tabstop' value. To be backwards compatible in indent - plugins, use this: > - if exists('*shiftwidth') - func s:sw() - return shiftwidth() - endfunc - else - func s:sw() - return &sw - endfunc - endif -< And then use s:sw() instead of &sw. + 'tabstop' value. This function was introduced with patch + 7.3.694 in 2012, everybody should have it by now. simplify({filename}) *simplify()* diff --git a/src/auto/configure b/src/auto/configure index 7a14e796dd..12a59c4e5b 100755 --- a/src/auto/configure +++ b/src/auto/configure @@ -6052,7 +6052,9 @@ eof fi - if ${vi_cv_dll_name_python+:} false; then : + { $as_echo "$as_me:${as_lineno-$LINENO}: checking Python's dll name" >&5 +$as_echo_n "checking Python's dll name... " >&6; } +if ${vi_cv_dll_name_python+:} false; then : $as_echo_n "(cached) " >&6 else @@ -6063,7 +6065,8 @@ else fi fi - +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $vi_cv_dll_name_python" >&5 +$as_echo "$vi_cv_dll_name_python" >&6; } PYTHON_LIBS="${vi_cv_path_python_plibs}" if test "${vi_cv_path_python_pfx}" = "${vi_cv_path_python_epfx}"; then @@ -6388,7 +6391,9 @@ eof fi - if ${vi_cv_dll_name_python3+:} false; then : + { $as_echo "$as_me:${as_lineno-$LINENO}: checking Python3's dll name" >&5 +$as_echo_n "checking Python3's dll name... " >&6; } +if ${vi_cv_dll_name_python3+:} false; then : $as_echo_n "(cached) " >&6 else @@ -6399,7 +6404,8 @@ else fi fi - +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $vi_cv_dll_name_python3" >&5 +$as_echo "$vi_cv_dll_name_python3" >&6; } PYTHON3_LIBS="${vi_cv_path_python3_plibs}" if test "${vi_cv_path_python3_pfx}" = "${vi_cv_path_python3_epfx}"; then @@ -6551,7 +6557,7 @@ else int no_rtl_global_needed_for(char *python_instsoname, char *prefix) { int needed = 0; - void* pylib = dlopen(python_instsoname, RTLD_LAZY); + void* pylib = dlopen(python_instsoname, RTLD_LAZY|RTLD_LOCAL); if (pylib != 0) { void (*pfx)(char *home) = dlsym(pylib, "Py_SetPythonHome"); @@ -6617,7 +6623,7 @@ else int no_rtl_global_needed_for(char *python_instsoname, wchar_t *prefix) { int needed = 0; - void* pylib = dlopen(python_instsoname, RTLD_LAZY); + void* pylib = dlopen(python_instsoname, RTLD_LAZY|RTLD_LOCAL); if (pylib != 0) { void (*pfx)(wchar_t *home) = dlsym(pylib, "Py_SetPythonHome"); diff --git a/src/configure.in b/src/configure.in index 67a46f9be2..48b3dd413b 100644 --- a/src/configure.in +++ b/src/configure.in @@ -1249,7 +1249,7 @@ eof vi_cv_path_python_plibs=`echo $vi_cv_path_python_plibs | sed s/-ltermcap//` fi ]) - AC_CACHE_VAL(vi_cv_dll_name_python, + AC_CACHE_CHECK(Python's dll name,vi_cv_dll_name_python, [ if test "X$python_DLLLIBRARY" != "X"; then vi_cv_dll_name_python="$python_DLLLIBRARY" @@ -1468,7 +1468,7 @@ eof vi_cv_path_python3_plibs=`echo $vi_cv_path_python3_plibs | sed s/-ltermcap//` vi_cv_path_python3_plibs=`echo $vi_cv_path_python3_plibs | sed s/-lffi//` ]) - AC_CACHE_VAL(vi_cv_dll_name_python3, + AC_CACHE_CHECK(Python3's dll name,vi_cv_dll_name_python3, [ if test "X$python3_DLLLIBRARY" != "X"; then vi_cv_dll_name_python3="$python3_DLLLIBRARY" @@ -1586,7 +1586,7 @@ if test "$python_ok" = yes && test "$python3_ok" = yes; then int no_rtl_global_needed_for(char *python_instsoname, char *prefix) { int needed = 0; - void* pylib = dlopen(python_instsoname, RTLD_LAZY); + void* pylib = dlopen(python_instsoname, RTLD_LAZY|RTLD_LOCAL); if (pylib != 0) { void (*pfx)(char *home) = dlsym(pylib, "Py_SetPythonHome"); @@ -1632,7 +1632,7 @@ if test "$python_ok" = yes && test "$python3_ok" = yes; then int no_rtl_global_needed_for(char *python_instsoname, wchar_t *prefix) { int needed = 0; - void* pylib = dlopen(python_instsoname, RTLD_LAZY); + void* pylib = dlopen(python_instsoname, RTLD_LAZY|RTLD_LOCAL); if (pylib != 0) { void (*pfx)(wchar_t *home) = dlsym(pylib, "Py_SetPythonHome"); diff --git a/src/json.c b/src/json.c index da8beea874..d6507c3517 100644 --- a/src/json.c +++ b/src/json.c @@ -10,7 +10,7 @@ /* * json.c: Encoding and decoding JSON. * - * Follows this standard: http://www.ietf.org/rfc/rfc4627.txt + * Follows this standard: https://tools.ietf.org/html/rfc7159.html */ #include "vim.h" diff --git a/src/os_win32.c b/src/os_win32.c index 4c876a05ce..be7bd95b58 100644 --- a/src/os_win32.c +++ b/src/os_win32.c @@ -500,12 +500,11 @@ dyn_libintl_init() if (hLibintlDLL) return 1; /* Load gettext library (libintl.dll) */ + hLibintlDLL = vimLoadLib(GETTEXT_DLL); #ifdef GETTEXT_DLL_ALT if (!hLibintlDLL) hLibintlDLL = vimLoadLib(GETTEXT_DLL_ALT); #endif - if (!hLibintlDLL) - hLibintlDLL = vimLoadLib(GETTEXT_DLL); if (!hLibintlDLL) { if (p_verbose > 0) diff --git a/src/version.c b/src/version.c index 03eec9907d..022b0be5a2 100644 --- a/src/version.c +++ b/src/version.c @@ -761,6 +761,12 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ +/**/ + 1190, +/**/ + 1189, +/**/ + 1188, /**/ 1187, /**/