Mercurial > vim
changeset 14601:d0ff19a55579 v8.1.0314
patch 8.1.0314: build failure without the +eval feature
commit https://github.com/vim/vim/commit/47ad5656e1e4285a74e7e8e5d0f1f71cd554e25c
Author: Bram Moolenaar <Bram@vim.org>
Date: Tue Aug 21 21:09:07 2018 +0200
patch 8.1.0314: build failure without the +eval feature
Problem: Build failure without the +eval feature. (Brenton Horne)
Solution: Add #ifdef. Also add the "dirty" item.
author | Christian Brabandt <cb@256bit.org> |
---|---|
date | Tue, 21 Aug 2018 21:15:06 +0200 |
parents | 81a230f43995 |
children | 4ded89a63c5d |
files | runtime/doc/eval.txt src/memline.c src/testdir/test_swap.vim src/version.c |
diffstat | 4 files changed, 17 insertions(+), 8 deletions(-) [+] |
line wrap: on
line diff
--- a/runtime/doc/eval.txt +++ b/runtime/doc/eval.txt @@ -8013,10 +8013,12 @@ swapinfo({fname}) swapinfo() file mtime last modification time in seconds inode Optional: INODE number of the file + dirty 1 if file was modified, 0 if not 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 - magic number mismatch: info in first block is invalid + Not a swap file: does not contain correct block ID + Magic number mismatch: Info in first block is invalid synID({lnum}, {col}, {trans}) *synID()* The result is a Number, which is the syntax ID at the position
--- a/src/memline.c +++ b/src/memline.c @@ -2041,6 +2041,7 @@ make_percent_swname(char_u *dir, char_u static int process_still_running; #endif +#if defined(FEAT_EVAL) || defined(PROTO) /* * Return information found in swapfile "fname" in dictionary "d". * This is used by the swapinfo() function. @@ -2055,11 +2056,12 @@ get_b0_dict(char_u *fname, dict_T *d) { if (read_eintr(fd, &b0, sizeof(b0)) == sizeof(b0)) { - if (b0_magic_wrong(&b0)) - { + if (ml_check_b0_id(&b0) == FAIL) dict_add_string(d, "error", - vim_strsave((char_u *)"magic number mismatch")); - } + vim_strsave((char_u *)"Not a swap file")); + else if (b0_magic_wrong(&b0)) + dict_add_string(d, "error", + vim_strsave((char_u *)"Magic number mismatch")); else { /* we have swap information */ @@ -2070,9 +2072,10 @@ get_b0_dict(char_u *fname, dict_T *d) dict_add_number(d, "pid", char_to_long(b0.b0_pid)); dict_add_number(d, "mtime", char_to_long(b0.b0_mtime)); -#ifdef CHECK_INODE + dict_add_number(d, "dirty", b0.b0_dirty ? 1 : 0); +# ifdef CHECK_INODE dict_add_number(d, "inode", char_to_long(b0.b0_ino)); -#endif +# endif } } else @@ -2083,6 +2086,7 @@ get_b0_dict(char_u *fname, dict_T *d) else dict_add_string(d, "error", vim_strsave((char_u *)"Cannot open file")); } +#endif /* * Give information about an existing swap file.
--- a/src/testdir/test_swap.vim +++ b/src/testdir/test_swap.vim @@ -109,6 +109,7 @@ func Test_swapinfo() call assert_match('\w', info.user) call assert_equal(hostname(), info.host) call assert_match('Xswapinfo', info.fname) + call assert_match(0, info.dirty) call assert_equal(getpid(), info.pid) call assert_match('^\d*$', info.mtime) if has_key(info, 'inode') @@ -128,6 +129,6 @@ func Test_swapinfo() call writefile([repeat('x', 10000)], 'Xnotaswapfile') let info = swapinfo('Xnotaswapfile') - call assert_equal('magic number mismatch', info.error) + call assert_equal('Not a swap file', info.error) call delete('Xnotaswapfile') endfunc