0
0
mirror of https://github.com/vim/vim.git synced 2025-07-26 11:04:33 -04:00

patch 8.2.1411: when splitting a window localdir is copied but prevdir is not

Problem:    when splitting a window localdir is copied but prevdir is not.
Solution:   Also copy prevdir. (closes #6667)
This commit is contained in:
Bram Moolenaar 2020-08-09 21:45:52 +02:00
parent 7f7a888869
commit a9a47d157a
4 changed files with 17 additions and 2 deletions

View File

@ -596,7 +596,8 @@ build_drop_cmd(
ga_concat(&ga, cdp);
// Call inputsave() so that a prompt for an encryption key works.
ga_concat(&ga, (char_u *)"<CR>:if exists('*inputsave')|call inputsave()|endif|");
ga_concat(&ga, (char_u *)
"<CR>:if exists('*inputsave')|call inputsave()|endif|");
if (tabs)
ga_concat(&ga, (char_u *)"tab ");
ga_concat(&ga, (char_u *)"drop");
@ -621,7 +622,8 @@ build_drop_cmd(
ga_concat(&ga, p);
vim_free(p);
}
ga_concat(&ga, (char_u *)"|if exists('*inputrestore')|call inputrestore()|endif<CR>");
ga_concat(&ga, (char_u *)
"|if exists('*inputrestore')|call inputrestore()|endif<CR>");
// The :drop commands goes to Insert mode when 'insertmode' is set, use
// CTRL-\ CTRL-N again.

View File

@ -168,6 +168,15 @@ func Test_prev_dir()
call delete('Xdir', 'rf')
endfunc
func Test_lcd_split()
let curdir = getcwd()
lcd ..
split
lcd -
call assert_equal(curdir, getcwd())
quit!
endfunc
func Test_cd_completion()
call mkdir('XComplDir1', 'p')
call mkdir('XComplDir2', 'p')

View File

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

View File

@ -1385,6 +1385,8 @@ win_init(win_T *newp, win_T *oldp, int flags UNUSED)
#endif
newp->w_localdir = (oldp->w_localdir == NULL)
? NULL : vim_strsave(oldp->w_localdir);
newp->w_prevdir = (oldp->w_prevdir == NULL)
? NULL : vim_strsave(oldp->w_prevdir);
// copy tagstack and folds
for (i = 0; i < oldp->w_tagstacklen; i++)