Commit Graph

10791 Commits

Author SHA1 Message Date
Shane Smith
0f93528d1f vim-patch:8.1.0532: cannot distinguish between quickfix and location list
Problem:    Cannot distinguish between quickfix and location list.
Solution:   Add an explicit type variable. (Yegappan Lakshmanan)
2d67d307ee
2019-10-27 16:19:17 -04:00
Shane Smith
8d10241a62 vim-patch:8.1.0488: using freed memory in quickfix code
Problem:    Using freed memory in quickfix code. (Dominique Pelle)
Solution:   Add the quickfix_busy() flag to postpone deleting quickfix lists
            until it is safe. (Yegappan Lakshmanan, closes #3538)
9f84ded38b
2019-10-27 16:17:35 -04:00
Shane Smith
f0dc110f31 vim-patch:8.1.0469: too often indexing in qf_lists[]
Problem:    Too often indexing in qf_lists[].
Solution:   Use a qf_list_T pointer. (Yegappan Lakshmanan)
108e7b422b
2019-10-27 15:33:30 -04:00
Shane Smith
b041096ed4 vim-patch:8.1.0407: quickfix code mixes using the stack and a list pointer
Problem:    Quickfix code mixes using the stack and a list pointer.
Solution:   Use a list pointer in more places. (Yegappan Lakshmanan,
            closes vim/vim#3443)
fe15b7dfa6
2019-10-27 15:33:30 -04:00
Shane Smith
a123050c1a vim-patch:8.1.0252: quickfix functions are too long
Problem:    Quickfix functions are too long.
Solution:   Refactor. (Yegappan Lakshmanan, closes vim/vim#2950)
de3b3677f7
2019-10-27 15:33:29 -04:00
Björn Linse
e085cacba4 Merge pull request #11302 from bfredl/luacall
lua: add vim.fn.{func} for direct access to vimL function
2019-10-27 19:49:30 +01:00
Björn Linse
8ee7c94a92 lua: add vim.fn.{func} for direct access to vimL function
compared to vim.api.|nvim_call_function|, this fixes some typing issues
due to the indirect conversion via the API. float values are preserved
as such (fixes #9389) as well as empty dicts/arrays.

Ref https://github.com/norcalli/nvim.lua for the call syntax
2019-10-27 17:23:17 +01:00
Jan Edmund Lazo
0f7a645f54 vim-patch:8.1.2154: quickfix window height wrong when there is a tabline
Problem:    Quickfix window height wrong when there is a tabline. (Daniel
            Hahler)
Solution:   Take the tabline height into account. (closes vim/vim#5058)
1142a31b8c
2019-10-27 11:35:11 -04:00
Jan Edmund Lazo
7c26be61bb vim-patch:8.1.1245: ":copen 10" sets height in full-height window
Problem:    ":copen 10" sets height in full-height window. (Daniel Hahler)
Solution:   Don't set the height if the quickfix window is full height.
            (closes vim/vim#4325)
36d502225c
2019-10-27 11:31:10 -04:00
Jan Edmund Lazo
c3d81a4902 vim-patch:8.1.2220: :cfile does not abort like other quickfix commands
Problem:    :cfile does not abort like other quickfix commands.
Solution:   Abort when desired. Add tests for aborting. (Yegappan Lakshmanan,
            closes vim/vim#5121)
6a0cc916bd
2019-10-26 20:23:53 -04:00
Jaehwang Jerry Jung
6dcc1d1005 vim-patch:8.1.2218: "gN" is off by one in Visual mode
Problem:    "gN" is off by one in Visual mode.
Solution:   Check moving forward. (Christian Brabandt, vim/vim#5075)
453c19257f
2019-10-27 03:35:19 +09:00
Jaehwang Jerry Jung
c26466ae8b vim-patch:8.1.2207: "gn" doesn't work quite right
Problem:    "gn" doesn't work quite right. (Jaehwang Jerry Jung)
Solution:   Improve and simplify the search logic. (Christian Brabandt,
            closes vim/vim#5103, closes vim/vim#5075)
edaad6e0a0
2019-10-27 03:35:19 +09:00
Jaehwang Jerry Jung
034077ed1c vim-patch:8.1.2173: searchit() has too many arguments
Problem:    Searchit() has too many arguments.
Solution:   Move optional arguments to a struct.  Add the "wrapped" argument.
92ea26b925
2019-10-27 03:35:19 +09:00
Jan Edmund Lazo
0b771cd9aa vim-patch:8.1.0859: handle multibyte "%v" in 'errorformat' #11285
Problem:    "%v" in 'errorformat' does handle multi-byte characters.
Solution:   Handle multi-byte characters. (Yegappan Lakshmanan, closes vim/vim#3700)
c45eb770a5
2019-10-25 22:17:21 -07:00
Jan Edmund Lazo
ced2a38ad4 tag: fix pvs/v547 error 2019-10-24 22:40:30 -04:00
Jan Edmund Lazo
8daefa348e vim-patch:8.1.0455: checking for empty quickfix stack is not consistent
Problem:    Checking for empty quickfix stack is not consistent.
Solution:   Use qf_stack_empty(). (Yegappan Lakshmanan)
019dfe6855
2019-10-23 01:33:17 -04:00
Jan Edmund Lazo
aa8f059397 vim-patch:8.1.0438: the ex_make() function is too long
Problem:    The ex_make() function is too long.
Solution:   Split it into several functions. (Yegappan Lakshmanan)
b434ae2a1f
2019-10-23 01:33:16 -04:00
Jan Edmund Lazo
279ff23379 vim-patch:8.1.0434: copy_loclist() is too long
Problem:    copy_loclist() is too long.
Solution:   Split in multiple functions. (Yegappan Lakshmanan)
09037503ea
2019-10-23 01:33:16 -04:00
Jan Edmund Lazo
8257d49ff6 vim-patch:8.1.0410: the ex_copen() function is too long
Problem:    The ex_copen() function is too long.
Solution:   Refactor to split off two functions. (Yegappan Lakshmanan)
476c0db002
2019-10-23 01:33:16 -04:00
Jan Edmund Lazo
f3d6d8750b vim-patch:8.1.0345: cannot get the window id associated with the location list
Problem:    Cannot get the window id associated with the location list.
Solution:   Add the "filewinid" argument to getloclist(). (Yegappan
            Lakshmanan, closes vim/vim#3202)
c9cc9c78f2
2019-10-23 01:33:16 -04:00
Jan Edmund Lazo
5e02bd071e vim-patch:8.1.0288: quickfix code uses cmdidx too often
Problem:    Quickfix code uses cmdidx too often.
Solution:   Add is_loclist_cmd(). (Yegappan Lakshmanan)
396659592f
2019-10-23 01:33:16 -04:00
Jan Edmund Lazo
6dceaf3361 vim-patch:8.1.0014: qf_init_ext() is too long
Problem:    qf_init_ext() is too long.
Solution:   Split it into multiple functions. (Yegappan Lakshmanan,
            closes vim/vim#2939)
6053f2d29a
2019-10-23 01:33:15 -04:00
Justin M. Keyes
53b025887e Merge #11261 from janlazo/vim-8.1.2185
vim-patch:8.1.{2185,2188,2190,2197}
2019-10-22 21:09:45 -07:00
Justin M. Keyes
9e4db2ef50 Merge #11199 from bobrippling/vim-8.1.1228
vim-patch:8.1.{1099,1228,1962} add 'tagfunc'
2019-10-22 20:27:35 -07:00
Rob Pilling
3b6b528ea9 vim-patch:8.1.1962: leaking memory when using tagfunc()
Problem:    Leaking memory when using tagfunc().
Solution:   Free the user_data. (Dominique Pelle, closes vim/vim#4886)
55008aad50
2019-10-22 20:13:02 +01:00
Rob Pilling
194f7bface vim-patch:8.1.1228: not possible to process tags with a function
Problem:    Not possible to process tags with a function.
Solution:   Add tagfunc() (Christian Brabandt, Andy Massimino, closes vim/vim#4010)
45e18cbdc4
2019-10-22 20:13:02 +01:00
Rob Pilling
e284b7233f Perform HASHTAB_ITER bookkeeping before user-code
The `HASHTAB_ITER` logic keeps track of how many entries in the hash
table are left to visit, decrementing this on each iteration of the
loop. This was previously decremented at the end of the loop body:

```c
size_t hi##todo_ = hi##ht_->ht_used;
for (hashitem_T *hi = hi##ht_->ht_array; hi##todo_; hi++) {
  if (!HASHITEM_EMPTY(hi)) {
    {
      <user code, macro-inserted>
    }
    hi##todo_--; // <--- important decrement here
  }
}
```

This meant that if the body of the loop (substituted in via macro
expansion) contained a `continue` statement, we'd skip decrementing our
counter, meaning we'd iterate too many times over the hash table,
usually leading to an out of bounds read beyond the hash table's
memory, or uninitialised/null pointers from unused hash table slots.

Decrementing `hi##todo` before the arbitrary loop body protects us from
this, and has no adverse side-effects since only the macro code can (or
should) use this variable.

Before this commit, no code within `HASHTAB_ITER()` contained a
`continue`, meaning this bug was left dormant and the fix has a very
minimal chance of introducing any bugs.
2019-10-22 19:55:55 +01:00
Jan Edmund Lazo
c067efa696 vim-patch:8.1.2197: ExitPre autocommand may cause accessing freed memory
Problem:    ExitPre autocommand may cause accessing freed memory.
Solution:   Check the window pointer is still valid. (closes vim/vim#5093)
34ba06b6e6
2019-10-21 07:34:06 -04:00
Jan Edmund Lazo
13a6878d18 vim-patch:8.1.2190: syntax test fails on Mac
Problem:    Syntax test fails on Mac.
Solution:   Limit the window size to 20 rows.
83e9a1ce75
2019-10-21 07:34:05 -04:00
Jan Edmund Lazo
60415a5d3a vim-patch:8.1.2188: build error for missing define
Problem:    Build error for missing define.
Solution:   Add missing change.
2b78ab5d0c

These "WILD_" macros are used in earlier vim patches.
2019-10-21 07:34:05 -04:00
Jan Edmund Lazo
f4cbe96488 vim-patch:8.1.2185: syntax test fails
Problem:    Syntax test fails.
Solution:   Add missing file patch.
bbfd1562ae
2019-10-21 07:34:05 -04:00
Marco Hinz
2e4465e058 vim-patch:8.1.2168: heredoc not skipped in if-block #11265
Problem:    Heredoc assignment not skipped in if block.
Solution:   Check if "skip" is set.

b1ba9abcb3

Fixes https://github.com/neovim/neovim/issues/11264
2019-10-20 17:17:25 -07:00
erw7
6fd6f4683d TUI/thread: guard env map from potential race with unibilium #11259
unibi_from_term calls getenv internally, so exclusive control is required.
2019-10-20 15:47:08 -07:00
Justin M. Keyes
06a6828f01 Merge #11211 from jbradaric/vim-8.1.1585
vim-patch:8.1.{1585,1625,1723,1729}
2019-10-19 15:23:14 -07:00
Daniel Hahler
93fe30593b ex_echo: fix check for got_int #11225
It needs to return to not output any remaining parts.

Followup to https://github.com/neovim/neovim/pull/10926
Ref: https://github.com/neovim/neovim/issues/10923
2019-10-19 14:45:27 -07:00
Justin M. Keyes
029b828693 Merge #11249 from janlazo/vim-8.1.2151
vim-patch:8.1.{2151,2152,2161,2162,2175,2177,2178}
2019-10-19 14:17:22 -07:00
Daniel Hahler
3de4dc539a vim-patch:8.1.2180: Error E303 is not useful when 'directory' is empty (#11257)
Problem:    Error E303 is not useful when 'directory' is empty.
Solution:   Skip the error message. (Daniel Hahler, vim/vim#5067)
00e192becd
2019-10-19 14:11:31 -07:00
Daniel Hahler
68b0873c45 vim-patch:8.1.2182: test42 seen as binary by git diff #11256
Problem:    Test42 seen as binary by git diff.
Solution:   Add .gitattributes file.  Make explicit that 'cpo' does not
            contain 'S'. (Daniel Hahler, closes vim/vim#5072)
5b39d7adb0
2019-10-19 11:31:50 -07:00
Jan Edmund Lazo
d27fc08257 vim-patch:8.1.2178: accessing uninitialized memory in test
Problem:    Accessing uninitialized memory in test.
Solution:   Check if there was a match before using the match position.
            (Dominique Pelle, closes vim/vim#5088)
15ee567809
2019-10-19 11:59:09 -04:00
Jan Edmund Lazo
437fe261ab vim-patch:8.1.2177: Dart files are not recognized
Problem:    Dart files are not recognized.
Solution:   Add a filetype rule. (Eugene Ciurana, closes vim/vim#5087)
afbdb905c3
2019-10-19 11:55:32 -04:00
Jan Edmund Lazo
1e4a9f9993 vim-patch:8.1.2175: meson files are not recognized
Problem:    Meson files are not recognized.
Solution:   Add the meson filetype. (Liam Beguin , Nirbheek Chauhan,
            closes vim/vim#5056)  Also recognize hollywood.
c3bf7b56f2
2019-10-18 23:23:14 -04:00
Jan Edmund Lazo
6c6abd11f7 vim-patch:8.1.2151: state test is a bit flaky
Problem:    State test is a bit flaky.
Solution:   Add to the list of flaky tests.
3c8cd4a1dc
2019-10-18 23:19:55 -04:00
Jan Edmund Lazo
7ba26ef3c0 vim-patch:8.1.2162: popup resize test is flaky
Problem:    Popup resize test is flaky. (Christian Brabandt)
Solution:   Add the function to the list of flaky tests.
4e03933726
2019-10-18 23:19:55 -04:00
Jan Edmund Lazo
c54a7e586b vim-patch:8.1.2161: mapping test fails
Problem:    Mapping test fails.
Solution:   Run the test separately.
4bd88d568a
2019-10-18 23:19:55 -04:00
Jan Edmund Lazo
0e0d4a7b4c vim-patch:8.1.2152: problems navigating tags file on MacOS Catalina
Problem:    Problems navigating tags file on MacOS Catalina.
Solution:   Use fseek instead of lseek. (John Lamb, fixes vim/vim#5061)
27fc8cab22
2019-10-18 23:19:54 -04:00
Jan Edmund Lazo
0785f8e8b1 vim-patch:8.1.2140: "gk" and "gj" do not work correctly in number column #11208
Problem:    "gk" and "gj" do not work correctly in number column.
Solution:   Allow for a negative "curswant". (Zach Wegner, closes vim/vim#4969)
ceba3dd518
2019-10-17 01:24:23 -07:00
Justin M. Keyes
94bda2fec8 Merge #11215 from erw7/vim-8.1.0084
vim-patch:8.1.{84,85,361}
2019-10-17 01:19:30 -07:00
Daniel Hahler
913d01bb03 vim-patch:8.1.2096: too many #ifdefs #11229
Problem:    Too many #ifdefs.
Solution:   Graduate FEAT_COMMENTS.
8c96af9c05

Fixes https://github.com/vim/vim/issues/4972.
2019-10-17 00:44:10 -07:00
dm1try
d0efc1c906 mac: fix "tags file not sorted" bug on Catalina (#11222)
I/O in Catalina is currently known to be broken. This commit works around a pesky bug and also makes the code more consistent by removing the mix of C file and standard I/O.

Fixes https://github.com/neovim/neovim/issues/11196
2019-10-14 13:58:41 +02:00
erw7
8add4cb8fd vim-patch 8.1.0361: remote user not used for completion
Problem:    Remote user not used for completion. (Stucki)
Solution:   Use $USER too. (Dominique Pelle, closes #3407)
6b0b83f768
2019-10-14 15:07:10 +09:00