diff options
Diffstat (limited to 'data/vim/patches/8.1.0401')
-rw-r--r-- | data/vim/patches/8.1.0401 | 259 |
1 files changed, 0 insertions, 259 deletions
diff --git a/data/vim/patches/8.1.0401 b/data/vim/patches/8.1.0401 deleted file mode 100644 index bc570efd6..000000000 --- a/data/vim/patches/8.1.0401 +++ /dev/null @@ -1,259 +0,0 @@ -To: vim_dev@googlegroups.com -Subject: Patch 8.1.0401 -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.0401 -Problem: Can't get swap name of another buffer. -Solution: Add swapname(). (Ozaki Kiichi, closes #3441) -Files: runtime/doc/eval.txt, src/evalfunc.c, src/testdir/test_swap.vim - - -*** ../vim-8.1.0400/runtime/doc/eval.txt 2018-09-14 21:27:02.771741354 +0200 ---- runtime/doc/eval.txt 2018-09-16 18:41:36.931933772 +0200 -*************** -*** 2410,2415 **** ---- 2417,2423 ---- - substitute({expr}, {pat}, {sub}, {flags}) - String all {pat} in {expr} replaced with {sub} - swapinfo({fname}) Dict information about swap file {fname} -+ swapname({expr}) String swap file of buffer {expr} - synID({lnum}, {col}, {trans}) Number syntax ID at {lnum} and {col} - synIDattr({synID}, {what} [, {mode}]) - String attribute {what} of syntax ID {synID} -*************** -*** 8011,8017 **** - |submatch()| returns. Example: > - :echo substitute(s, '%\(\x\x\)', {m -> '0x' . m[1]}, 'g') - -! swapinfo({fname}) swapinfo() - The result is a dictionary, which holds information about the - swapfile {fname}. The available fields are: - version VIM version ---- 8024,8030 ---- - |submatch()| returns. Example: > - :echo substitute(s, '%\(\x\x\)', {m -> '0x' . m[1]}, 'g') - -! swapinfo({fname}) *swapinfo()* - The result is a dictionary, which holds information about the - swapfile {fname}. The available fields are: - version VIM version -*************** -*** 8023,8034 **** ---- 8036,8055 ---- - mtime last modification time in seconds - inode Optional: INODE number of the file - dirty 1 if file was modified, 0 if not -+ Note that "user" and "host" are truncated to at most 39 bytes. - In case of failure an "error" item is added with the reason: - Cannot open file: file not found or in accessible - Cannot read file: cannot read first block - Not a swap file: does not contain correct block ID - Magic number mismatch: Info in first block is invalid - -+ swapname({expr}) *swapname()* -+ The result is the swap file path of the buffer {expr}. -+ For the use of {expr}, see |bufname()| above. -+ If buffer {expr} is the current buffer, the result is equal to -+ |:swapname| (unless no swap file). -+ If buffer {expr} has no swap file, returns an empty string. -+ - synID({lnum}, {col}, {trans}) *synID()* - The result is a Number, which is the syntax ID at the position - {lnum} and {col} in the current window. -*** ../vim-8.1.0400/src/evalfunc.c 2018-09-14 21:27:02.775741320 +0200 ---- src/evalfunc.c 2018-09-16 18:41:36.935933733 +0200 -*************** -*** 399,404 **** ---- 399,405 ---- - static void f_submatch(typval_T *argvars, typval_T *rettv); - static void f_substitute(typval_T *argvars, typval_T *rettv); - static void f_swapinfo(typval_T *argvars, typval_T *rettv); -+ static void f_swapname(typval_T *argvars, typval_T *rettv); - static void f_synID(typval_T *argvars, typval_T *rettv); - static void f_synIDattr(typval_T *argvars, typval_T *rettv); - static void f_synIDtrans(typval_T *argvars, typval_T *rettv); -*************** -*** 865,870 **** ---- 866,872 ---- - {"submatch", 1, 2, f_submatch}, - {"substitute", 4, 4, f_substitute}, - {"swapinfo", 1, 1, f_swapinfo}, -+ {"swapname", 1, 1, f_swapname}, - {"synID", 3, 3, f_synID}, - {"synIDattr", 2, 3, f_synIDattr}, - {"synIDtrans", 1, 1, f_synIDtrans}, -*************** -*** 12342,12347 **** ---- 12344,12366 ---- - } - - /* -+ * "swapname(expr)" function -+ */ -+ static void -+ f_swapname(typval_T *argvars, typval_T *rettv) -+ { -+ buf_T *buf; -+ -+ rettv->v_type = VAR_STRING; -+ buf = get_buf_tv(&argvars[0], FALSE); -+ if (buf == NULL || buf->b_ml.ml_mfp == NULL -+ || buf->b_ml.ml_mfp->mf_fname == NULL) -+ rettv->vval.v_string = NULL; -+ else -+ rettv->vval.v_string = vim_strsave(buf->b_ml.ml_mfp->mf_fname); -+ } -+ -+ /* - * "synID(lnum, col, trans)" function - */ - static void -*** ../vim-8.1.0400/src/testdir/test_swap.vim 2018-08-22 11:27:57.118946770 +0200 ---- src/testdir/test_swap.vim 2018-09-16 18:41:36.935933733 +0200 -*************** -*** 1,5 **** ---- 1,9 ---- - " Tests for the swap feature - -+ func s:swapname() -+ return trim(execute('swapname')) -+ endfunc -+ - " Tests for 'directory' option. - func Test_swap_directory() - if !has("unix") -*************** -*** 17,23 **** - " Verify that the swap file doesn't exist in the current directory - call assert_equal([], glob(".Xtest1*.swp", 1, 1, 1)) - edit Xtest1 -! let swfname = split(execute("swapname"))[0] - call assert_equal([swfname], glob(swfname, 1, 1, 1)) - - " './dir', swap file in a directory relative to the file ---- 21,27 ---- - " Verify that the swap file doesn't exist in the current directory - call assert_equal([], glob(".Xtest1*.swp", 1, 1, 1)) - edit Xtest1 -! let swfname = s:swapname() - call assert_equal([swfname], glob(swfname, 1, 1, 1)) - - " './dir', swap file in a directory relative to the file -*************** -*** 27,33 **** - edit Xtest1 - call assert_equal([], glob(swfname, 1, 1, 1)) - let swfname = "Xtest2/Xtest1.swp" -! call assert_equal(swfname, split(execute("swapname"))[0]) - call assert_equal([swfname], glob("Xtest2/*", 1, 1, 1)) - - " 'dir', swap file in directory relative to the current dir ---- 31,37 ---- - edit Xtest1 - call assert_equal([], glob(swfname, 1, 1, 1)) - let swfname = "Xtest2/Xtest1.swp" -! call assert_equal(swfname, s:swapname()) - call assert_equal([swfname], glob("Xtest2/*", 1, 1, 1)) - - " 'dir', swap file in directory relative to the current dir -*************** -*** 38,44 **** - edit Xtest2/Xtest3 - call assert_equal(["Xtest2/Xtest3"], glob("Xtest2/*", 1, 1, 1)) - let swfname = "Xtest.je/Xtest3.swp" -! call assert_equal(swfname, split(execute("swapname"))[0]) - call assert_equal([swfname], glob("Xtest.je/*", 1, 1, 1)) - - set dir& ---- 42,48 ---- - edit Xtest2/Xtest3 - call assert_equal(["Xtest2/Xtest3"], glob("Xtest2/*", 1, 1, 1)) - let swfname = "Xtest.je/Xtest3.swp" -! call assert_equal(swfname, s:swapname()) - call assert_equal([swfname], glob("Xtest.je/*", 1, 1, 1)) - - set dir& -*************** -*** 70,76 **** - throw 'Skipped: cannot set second group on test file' - else - split Xtest -! let swapname = substitute(execute('swapname'), '[[:space:]]', '', 'g') - call assert_match('Xtest', swapname) - " Group of swapfile must now match original file. - call assert_match(' ' . groups[1] . ' \d', system('ls -l ' . swapname)) ---- 74,80 ---- - throw 'Skipped: cannot set second group on test file' - else - split Xtest -! let swapname = s:swapname() - call assert_match('Xtest', swapname) - " Group of swapfile must now match original file. - call assert_match(' ' . groups[1] . ' \d', system('ls -l ' . swapname)) -*************** -*** 102,108 **** - new Xswapinfo - call setline(1, ['one', 'two', 'three']) - w -! let fname = trim(execute('swapname')) - call assert_match('Xswapinfo', fname) - let info = swapinfo(fname) - ---- 106,112 ---- - new Xswapinfo - call setline(1, ['one', 'two', 'three']) - w -! let fname = s:swapname() - call assert_match('Xswapinfo', fname) - let info = swapinfo(fname) - -*************** -*** 136,138 **** ---- 140,163 ---- - call assert_equal('Not a swap file', info.error) - call delete('Xnotaswapfile') - endfunc -+ -+ func Test_swapname() -+ edit Xtest1 -+ let expected = s:swapname() -+ call assert_equal(expected, swapname('%')) -+ -+ new Xtest2 -+ let buf = bufnr('%') -+ let expected = s:swapname() -+ wincmd p -+ call assert_equal(expected, swapname(buf)) -+ -+ new Xtest3 -+ setlocal noswapfile -+ call assert_equal('', swapname('%')) -+ -+ bwipe! -+ call delete('Xtest1') -+ call delete('Xtest2') -+ call delete('Xtest3') -+ endfunc -*** ../vim-8.1.0400/src/version.c 2018-09-16 18:10:45.246181729 +0200 ---- src/version.c 2018-09-16 18:42:35.483369791 +0200 -*************** -*** 796,797 **** ---- 796,799 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 401, - /**/ - --- -hundred-and-one symptoms of being an internet addict: -77. The phone company asks you to test drive their new PBX system - - /// 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 /// |