diff options
Diffstat (limited to 'data/vim/patches/8.1.0602')
-rw-r--r-- | data/vim/patches/8.1.0602 | 279 |
1 files changed, 0 insertions, 279 deletions
diff --git a/data/vim/patches/8.1.0602 b/data/vim/patches/8.1.0602 deleted file mode 100644 index def89717a..000000000 --- a/data/vim/patches/8.1.0602 +++ /dev/null @@ -1,279 +0,0 @@ -To: vim_dev@googlegroups.com -Subject: Patch 8.1.0602 -Fcc: outbox -From: Bram Moolenaar <Bram@moolenaar.net> -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 8.1.0602 -Problem: DirChanged is also triggered when the directory didn't change. - (Daniel Hahler) -Solution: Compare the current with the new directory. (closes #3697) -Files: src/ex_docmd.c, src/testdir/test_autocmd.vim, src/misc2.c, - src/testdir/test_autochdir.vim - - -*** ../vim-8.1.0601/src/ex_docmd.c 2018-12-14 18:52:57.165528788 +0100 ---- src/ex_docmd.c 2018-12-16 15:29:11.614092524 +0100 -*************** -*** 9126,9133 **** - void - ex_cd(exarg_T *eap) - { -! char_u *new_dir; -! char_u *tofree; - - new_dir = eap->arg; - #if !defined(UNIX) && !defined(VMS) ---- 9126,9134 ---- - void - ex_cd(exarg_T *eap) - { -! char_u *new_dir; -! char_u *tofree; -! int dir_differs; - - new_dir = eap->arg; - #if !defined(UNIX) && !defined(VMS) -*************** -*** 9183,9189 **** - new_dir = NameBuff; - } - #endif -! if (new_dir == NULL || vim_chdir(new_dir)) - EMSG(_(e_failed)); - else - { ---- 9184,9192 ---- - new_dir = NameBuff; - } - #endif -! dir_differs = new_dir == NULL || prev_dir == NULL -! || STRCMP(prev_dir, new_dir) != 0; -! if (new_dir == NULL || (dir_differs && vim_chdir(new_dir))) - EMSG(_(e_failed)); - else - { -*************** -*** 9195,9203 **** - /* Echo the new current directory if the command was typed. */ - if (KeyTyped || p_verbose >= 5) - ex_pwd(eap); -! apply_autocmds(EVENT_DIRCHANGED, -! is_local_chdir ? (char_u *)"window" : (char_u *)"global", -! new_dir, FALSE, curbuf); - } - vim_free(tofree); - } ---- 9198,9208 ---- - /* Echo the new current directory if the command was typed. */ - if (KeyTyped || p_verbose >= 5) - ex_pwd(eap); -! -! if (dir_differs) -! apply_autocmds(EVENT_DIRCHANGED, -! is_local_chdir ? (char_u *)"window" : (char_u *)"global", -! new_dir, FALSE, curbuf); - } - vim_free(tofree); - } -*** ../vim-8.1.0601/src/testdir/test_autocmd.vim 2018-08-08 22:08:28.326846653 +0200 ---- src/testdir/test_autocmd.vim 2018-12-16 15:06:01.850719909 +0100 -*************** -*** 1205,1217 **** - augroup END - let s:li = [] - let s:dir_this = getcwd() -! let s:dir_other = s:dir_this . '/foo' -! call mkdir(s:dir_other) - endfunc - - function s:After_test_dirchanged() - exe 'cd' s:dir_this -! call delete(s:dir_other, 'd') - augroup test_dirchanged - autocmd! - augroup END ---- 1205,1220 ---- - augroup END - let s:li = [] - let s:dir_this = getcwd() -! let s:dir_foo = s:dir_this . '/foo' -! call mkdir(s:dir_foo) -! let s:dir_bar = s:dir_this . '/bar' -! call mkdir(s:dir_bar) - endfunc - - function s:After_test_dirchanged() - exe 'cd' s:dir_this -! call delete(s:dir_foo, 'd') -! call delete(s:dir_bar, 'd') - augroup test_dirchanged - autocmd! - augroup END -*************** -*** 1221,1230 **** - call s:Before_test_dirchanged() - autocmd test_dirchanged DirChanged global call add(s:li, "cd:") - autocmd test_dirchanged DirChanged global call add(s:li, expand("<afile>")) -! exe 'cd' s:dir_other -! call assert_equal(["cd:", s:dir_other], s:li) -! exe 'lcd' s:dir_other -! call assert_equal(["cd:", s:dir_other], s:li) - call s:After_test_dirchanged() - endfunc - ---- 1224,1235 ---- - call s:Before_test_dirchanged() - autocmd test_dirchanged DirChanged global call add(s:li, "cd:") - autocmd test_dirchanged DirChanged global call add(s:li, expand("<afile>")) -! exe 'cd' s:dir_foo -! call assert_equal(["cd:", s:dir_foo], s:li) -! exe 'cd' s:dir_foo -! call assert_equal(["cd:", s:dir_foo], s:li) -! exe 'lcd' s:dir_bar -! call assert_equal(["cd:", s:dir_foo], s:li) - call s:After_test_dirchanged() - endfunc - -*************** -*** 1232,1241 **** - call s:Before_test_dirchanged() - autocmd test_dirchanged DirChanged window call add(s:li, "lcd:") - autocmd test_dirchanged DirChanged window call add(s:li, expand("<afile>")) -! exe 'cd' s:dir_other - call assert_equal([], s:li) -! exe 'lcd' s:dir_other -! call assert_equal(["lcd:", s:dir_other], s:li) - call s:After_test_dirchanged() - endfunc - ---- 1237,1248 ---- - call s:Before_test_dirchanged() - autocmd test_dirchanged DirChanged window call add(s:li, "lcd:") - autocmd test_dirchanged DirChanged window call add(s:li, expand("<afile>")) -! exe 'cd' s:dir_foo - call assert_equal([], s:li) -! exe 'lcd' s:dir_bar -! call assert_equal(["lcd:", s:dir_bar], s:li) -! exe 'lcd' s:dir_bar -! call assert_equal(["lcd:", s:dir_bar], s:li) - call s:After_test_dirchanged() - endfunc - -*************** -*** 1250,1258 **** - set acd - exe 'cd ..' - call assert_equal([], s:li) -! exe 'edit ' . s:dir_other . '/Xfile' -! call assert_equal(s:dir_other, getcwd()) -! call assert_equal(["auto:", s:dir_other], s:li) - set noacd - bwipe! - call s:After_test_dirchanged() ---- 1257,1265 ---- - set acd - exe 'cd ..' - call assert_equal([], s:li) -! exe 'edit ' . s:dir_foo . '/Xfile' -! call assert_equal(s:dir_foo, getcwd()) -! call assert_equal(["auto:", s:dir_foo], s:li) - set noacd - bwipe! - call s:After_test_dirchanged() -*** ../vim-8.1.0601/src/misc2.c 2018-12-14 21:31:58.012319694 +0100 ---- src/misc2.c 2018-12-16 15:12:14.376386072 +0100 -*************** -*** 3390,3406 **** - * Return OK or FAIL. - */ - int -! vim_chdirfile(char_u *fname, char *trigger_autocmd UNUSED) - { -! char_u dir[MAXPATHL]; - int res; - -! vim_strncpy(dir, fname, MAXPATHL - 1); -! *gettail_sep(dir) = NUL; -! res = mch_chdir((char *)dir) == 0 ? OK : FAIL; -! if (res == OK && trigger_autocmd != NULL) -! apply_autocmds(EVENT_DIRCHANGED, (char_u *)trigger_autocmd, -! dir, FALSE, curbuf); - return res; - } - #endif ---- 3390,3418 ---- - * Return OK or FAIL. - */ - int -! vim_chdirfile(char_u *fname, char *trigger_autocmd) - { -! char_u old_dir[MAXPATHL]; -! char_u new_dir[MAXPATHL]; - int res; - -! if (mch_dirname(old_dir, MAXPATHL) != OK) -! *old_dir = NUL; -! -! vim_strncpy(new_dir, fname, MAXPATHL - 1); -! *gettail_sep(new_dir) = NUL; -! -! if (STRCMP(old_dir, new_dir) == 0) -! // nothing to do -! res = OK; -! else -! { -! res = mch_chdir((char *)new_dir) == 0 ? OK : FAIL; -! -! if (res == OK && trigger_autocmd != NULL) -! apply_autocmds(EVENT_DIRCHANGED, (char_u *)trigger_autocmd, -! new_dir, FALSE, curbuf); -! } - return res; - } - #endif -*** ../vim-8.1.0601/src/testdir/test_autochdir.vim 2017-10-27 00:47:53.000000000 +0200 ---- src/testdir/test_autochdir.vim 2018-12-16 15:21:27.396965776 +0100 -*************** -*** 8,18 **** ---- 8,26 ---- - let cwd = getcwd() - call test_autochdir() - set acd -+ -+ let s:li = [] -+ autocmd DirChanged auto call add(s:li, "autocd") -+ autocmd DirChanged auto call add(s:li, expand("<afile>")) -+ - new - w samples/Xtest - call assert_equal("Xtest", expand('%')) - call assert_equal("samples", substitute(getcwd(), '.*/\(\k*\)', '\1', '')) -+ call assert_equal(["autocd", getcwd()], s:li) -+ - bwipe! -+ au! DirChanged - set noacd - exe 'cd ' . cwd - call delete('samples/Xtest') -*** ../vim-8.1.0601/src/version.c 2018-12-16 14:37:35.845271247 +0100 ---- src/version.c 2018-12-16 15:37:07.343129132 +0100 -*************** -*** 801,802 **** ---- 801,804 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 602, - /**/ - --- -hundred-and-one symptoms of being an internet addict: -26. You check your mail. It says "no new messages." So you check it again. - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ -\\\ an exciting new programming language -- http://www.Zimbu.org /// - \\\ help me help AIDS victims -- http://ICCF-Holland.org /// |