diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/nvim/eval.c | 28 | ||||
| -rw-r--r-- | src/nvim/eval.lua | 1 | ||||
| -rw-r--r-- | src/nvim/ex_cmds.c | 8 | ||||
| -rw-r--r-- | src/nvim/testdir/Makefile | 2 | ||||
| -rw-r--r-- | src/nvim/version.c | 6 |
5 files changed, 23 insertions, 22 deletions
diff --git a/src/nvim/eval.c b/src/nvim/eval.c index 006698d134..2ca621ad22 100644 --- a/src/nvim/eval.c +++ b/src/nvim/eval.c @@ -15073,7 +15073,6 @@ static void f_serverstop(typval_T *argvars, typval_T *rettv, FunPtr fptr) static void f_setbufvar(typval_T *argvars, typval_T *rettv, FunPtr fptr) { buf_T *buf; - aco_save_T aco; char_u *varname, *bufvarname; typval_T *varp; char_u nbuf[NUMBUFLEN]; @@ -15086,29 +15085,34 @@ static void f_setbufvar(typval_T *argvars, typval_T *rettv, FunPtr fptr) varp = &argvars[2]; if (buf != NULL && varname != NULL && varp != NULL) { - /* set curbuf to be our buf, temporarily */ - aucmd_prepbuf(&aco, buf); - if (*varname == '&') { long numval; char_u *strval; - int error = FALSE; + int error = false; + aco_save_T aco; + + // set curbuf to be our buf, temporarily + aucmd_prepbuf(&aco, buf); ++varname; numval = get_tv_number_chk(varp, &error); strval = get_tv_string_buf_chk(varp, nbuf); if (!error && strval != NULL) set_option_value(varname, numval, strval, OPT_LOCAL); + + // reset notion of buffer + aucmd_restbuf(&aco); } else { + buf_T *save_curbuf = curbuf; + bufvarname = xmalloc(STRLEN(varname) + 3); + curbuf = buf; STRCPY(bufvarname, "b:"); STRCPY(bufvarname + 2, varname); set_var(bufvarname, varp, TRUE); xfree(bufvarname); + curbuf = save_curbuf; } - - /* reset notion of buffer */ - aucmd_restbuf(&aco); } } @@ -17261,14 +17265,6 @@ static void f_termopen(typval_T *argvars, typval_T *rettv, FunPtr fptr) return; } -/* - * "test(list)" function: Just checking the walls... - */ -static void f_test(typval_T *argvars, typval_T *rettv, FunPtr fptr) -{ - /* Used for unit testing. Change the code below to your liking. */ -} - static bool callback_from_typval(Callback *callback, typval_T *arg) { if (arg->v_type == VAR_PARTIAL && arg->vval.v_partial != NULL) { diff --git a/src/nvim/eval.lua b/src/nvim/eval.lua index 980a8d2326..5fb99fecc6 100644 --- a/src/nvim/eval.lua +++ b/src/nvim/eval.lua @@ -302,7 +302,6 @@ return { tanh={args=1, func="float_op_wrapper", data="&tanh"}, tempname={}, termopen={args={1, 2}}, - test={args=1}, timer_start={args={2,3}}, timer_stop={args=1}, tolower={args=1}, diff --git a/src/nvim/ex_cmds.c b/src/nvim/ex_cmds.c index fcaf17a0fc..b1a17e8c44 100644 --- a/src/nvim/ex_cmds.c +++ b/src/nvim/ex_cmds.c @@ -1611,6 +1611,7 @@ int do_write(exarg_T *eap) int retval = FAIL; char_u *free_fname = NULL; buf_T *alt_buf = NULL; + int name_was_missing; if (not_writing()) /* check 'write' option */ return FAIL; @@ -1734,6 +1735,7 @@ int do_write(exarg_T *eap) fname = curbuf->b_sfname; } + name_was_missing = curbuf->b_ffname == NULL; retval = buf_write(curbuf, ffname, fname, eap->line1, eap->line2, eap, eap->append, eap->forceit, TRUE, FALSE); @@ -1743,7 +1745,11 @@ int do_write(exarg_T *eap) curbuf->b_p_ro = FALSE; redraw_tabline = TRUE; } - /* Change directories when the 'acd' option is set. */ + } + + // Change directories when the 'acd' option is set and the file name + // got changed or set. + if (eap->cmdidx == CMD_saveas || name_was_missing) { do_autochdir(); } } diff --git a/src/nvim/testdir/Makefile b/src/nvim/testdir/Makefile index 84a0c0b889..612071e2e2 100644 --- a/src/nvim/testdir/Makefile +++ b/src/nvim/testdir/Makefile @@ -43,8 +43,8 @@ NEW_TESTS = \ test_quickfix.res \ test_signs.res \ test_syntax.res \ - test_usercommands.res \ test_timers.res \ + test_usercommands.res \ test_viml.res \ test_visual.res \ test_window_id.res \ diff --git a/src/nvim/version.c b/src/nvim/version.c index 7e08536b4e..6914cd9409 100644 --- a/src/nvim/version.c +++ b/src/nvim/version.c @@ -397,7 +397,7 @@ static int included_patches[] = { // 2046, // 2045 NA // 2044, - // 2043, + 2043, // 2042 NA // 2041 NA // 2040 NA @@ -425,7 +425,7 @@ static int included_patches[] = { // 2018, // 2017, // 2016 NA - // 2015, + 2015, 2014, 2013, 2012, @@ -602,7 +602,7 @@ static int included_patches[] = { 1841, 1840, 1839, - // 1838 NA + 1838, 1837, 1836, 1835, |