aboutsummaryrefslogtreecommitdiff
path: root/src
Commit message (Collapse)AuthorAge
* tag: fix pvs/v547 errorJan Edmund Lazo2019-10-24
|
* vim-patch:8.1.0455: checking for empty quickfix stack is not consistentJan Edmund Lazo2019-10-23
| | | | | | Problem: Checking for empty quickfix stack is not consistent. Solution: Use qf_stack_empty(). (Yegappan Lakshmanan) https://github.com/vim/vim/commit/019dfe6855e011c02427bb922aafeae0245372c9
* vim-patch:8.1.0438: the ex_make() function is too longJan Edmund Lazo2019-10-23
| | | | | | Problem: The ex_make() function is too long. Solution: Split it into several functions. (Yegappan Lakshmanan) https://github.com/vim/vim/commit/b434ae2a1fcbbd43244c6130451de7f14346e224
* vim-patch:8.1.0434: copy_loclist() is too longJan Edmund Lazo2019-10-23
| | | | | | Problem: copy_loclist() is too long. Solution: Split in multiple functions. (Yegappan Lakshmanan) https://github.com/vim/vim/commit/09037503ea5f957ad23121bc61e15e4bb1765edf
* vim-patch:8.1.0410: the ex_copen() function is too longJan Edmund Lazo2019-10-23
| | | | | | Problem: The ex_copen() function is too long. Solution: Refactor to split off two functions. (Yegappan Lakshmanan) https://github.com/vim/vim/commit/476c0db00205590974395df717519407a7717270
* vim-patch:8.1.0345: cannot get the window id associated with the location listJan Edmund Lazo2019-10-23
| | | | | | | Problem: Cannot get the window id associated with the location list. Solution: Add the "filewinid" argument to getloclist(). (Yegappan Lakshmanan, closes vim/vim#3202) https://github.com/vim/vim/commit/c9cc9c78f21caba7ecb5c90403df5e19a57aa96a
* vim-patch:8.1.0288: quickfix code uses cmdidx too oftenJan Edmund Lazo2019-10-23
| | | | | | Problem: Quickfix code uses cmdidx too often. Solution: Add is_loclist_cmd(). (Yegappan Lakshmanan) https://github.com/vim/vim/commit/396659592fe039decc8c088694912067fe32a681
* vim-patch:8.1.0014: qf_init_ext() is too longJan Edmund Lazo2019-10-23
| | | | | | | Problem: qf_init_ext() is too long. Solution: Split it into multiple functions. (Yegappan Lakshmanan, closes vim/vim#2939) https://github.com/vim/vim/commit/6053f2d29a979ffed1fe01b0a2f28e23750530e9
* Merge #11261 from janlazo/vim-8.1.2185Justin M. Keyes2019-10-22
|\ | | | | vim-patch:8.1.{2185,2188,2190,2197}
| * vim-patch:8.1.2197: ExitPre autocommand may cause accessing freed memoryJan Edmund Lazo2019-10-21
| | | | | | | | | | | | Problem: ExitPre autocommand may cause accessing freed memory. Solution: Check the window pointer is still valid. (closes vim/vim#5093) https://github.com/vim/vim/commit/34ba06b6e6f94bb46062e6c85dbfdcbb0d255ada
| * vim-patch:8.1.2190: syntax test fails on MacJan Edmund Lazo2019-10-21
| | | | | | | | | | | | Problem: Syntax test fails on Mac. Solution: Limit the window size to 20 rows. https://github.com/vim/vim/commit/83e9a1ce75818a78c5ddf8dcfb820634ca6fabff
| * vim-patch:8.1.2188: build error for missing defineJan Edmund Lazo2019-10-21
| | | | | | | | | | | | | | | | Problem: Build error for missing define. Solution: Add missing change. https://github.com/vim/vim/commit/2b78ab5d0c91c229715ae140a34978506343bde3 These "WILD_" macros are used in earlier vim patches.
| * vim-patch:8.1.2185: syntax test failsJan Edmund Lazo2019-10-21
| | | | | | | | | | | | Problem: Syntax test fails. Solution: Add missing file patch. https://github.com/vim/vim/commit/bbfd1562aeaa5b40b6451effc399846b692d6992
* | Merge #11199 from bobrippling/vim-8.1.1228Justin M. Keyes2019-10-22
|\ \ | |/ |/| vim-patch:8.1.{1099,1228,1962} add 'tagfunc'
| * vim-patch:8.1.1962: leaking memory when using tagfunc()Rob Pilling2019-10-22
| | | | | | | | | | | | Problem: Leaking memory when using tagfunc(). Solution: Free the user_data. (Dominique Pelle, closes vim/vim#4886) https://github.com/vim/vim/commit/55008aad50601cae079037fda8fb434cde70c0f4
| * vim-patch:8.1.1228: not possible to process tags with a functionRob Pilling2019-10-22
| | | | | | | | | | | | Problem: Not possible to process tags with a function. Solution: Add tagfunc() (Christian Brabandt, Andy Massimino, closes vim/vim#4010) https://github.com/vim/vim/commit/45e18cbdc40afd8144d20dcc07ad2d981636f4c9
| * Perform HASHTAB_ITER bookkeeping before user-codeRob Pilling2019-10-22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
| * vim-patch:8.1.1099: the do_tag() function is too longRob Pilling2019-10-12
| | | | | | | | | | | | | | Problem: The do_tag() function is too long. Solution: Factor parts out to separate functions. Move simplify_filename() to a file where it fits better. (Andy Massimino, closes vim/vim#4195) https://github.com/vim/vim/commit/b4a6020ac6a0638167013f1e45ff440ddc8a1671
* | vim-patch:8.1.2168: heredoc not skipped in if-block #11265Marco Hinz2019-10-20
| | | | | | | | | | | | | | | | Problem: Heredoc assignment not skipped in if block. Solution: Check if "skip" is set. https://github.com/vim/vim/commit/b1ba9abcb385b0a5355788a7eefef78ec68d2f65 Fixes https://github.com/neovim/neovim/issues/11264
* | TUI/thread: guard env map from potential race with unibilium #11259erw72019-10-20
| | | | | | unibi_from_term calls getenv internally, so exclusive control is required.
* | Merge #11211 from jbradaric/vim-8.1.1585Justin M. Keyes2019-10-19
|\ \ | | | | | | vim-patch:8.1.{1585,1625,1723,1729}
| * | vim-patch:8.1.1729: heredoc with trim not properly handled in functionJurica Bradaric2019-10-13
| | | | | | | | | | | | | | | | | | Problem: Heredoc with trim not properly handled in function. Solution: Allow for missing indent. (FUJIWARA Takuya, closes vim/vim#4713) https://github.com/vim/vim/commit/ecaa75b4cea329a3902b8565e028b32279b8322b
| * | vim-patch:8.1.1723: heredoc assignment has no room for new featuresJurica Bradaric2019-10-13
| | | | | | | | | | | | | | | | | | | | | Problem: Heredoc assignment has no room for new features. (FUJIWARA Takuya) Solution: Require the marker does not start with a lower case character. (closes vim/vim#4705) https://github.com/vim/vim/commit/24582007294b0db3be9669d3b583ea45fc4f19b8
| * | vim-patch:8.1.1625: script line numbers are not exactly rightJurica Bradaric2019-10-13
| | | | | | | | | | | | | | | | | | | | | Problem: Script line numbers are not exactly right. Solution: Handle heredoc and continuation lines better. (Ozaki Kiichi, closes vim/vim#4611, closes vim/vim#4511) https://github.com/vim/vim/commit/bc2cfe4672d370330b8698d4d025697a9a6ec569
| * | vim-patch:8.1.1585: :let-heredoc does not trim enoughJurica Bradaric2019-10-13
| | | | | | | | | | | | | | | | | | | | | Problem: :let-heredoc does not trim enough. Solution: Trim indent from the contents based on the indent of the first line. Use let-heredoc in more tests. https://github.com/vim/vim/commit/e7eb92708ec2092a2fc11e78703b5dcf83844412
* | | ex_echo: fix check for got_int #11225Daniel Hahler2019-10-19
| | | | | | | | | | | | | | | | | | 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
* | | Merge #11249 from janlazo/vim-8.1.2151Justin M. Keyes2019-10-19
|\ \ \ | | | | | | | | vim-patch:8.1.{2151,2152,2161,2162,2175,2177,2178}
| * | | vim-patch:8.1.2178: accessing uninitialized memory in testJan Edmund Lazo2019-10-19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: Accessing uninitialized memory in test. Solution: Check if there was a match before using the match position. (Dominique Pelle, closes vim/vim#5088) https://github.com/vim/vim/commit/15ee567809a9808693163dd7c357ef0c172ecc9e
| * | | vim-patch:8.1.2177: Dart files are not recognizedJan Edmund Lazo2019-10-19
| | | | | | | | | | | | | | | | | | | | | | | | Problem: Dart files are not recognized. Solution: Add a filetype rule. (Eugene Ciurana, closes vim/vim#5087) https://github.com/vim/vim/commit/afbdb905c37675851e79d21239f502cd8e4ced9e
| * | | vim-patch:8.1.2175: meson files are not recognizedJan Edmund Lazo2019-10-18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: Meson files are not recognized. Solution: Add the meson filetype. (Liam Beguin , Nirbheek Chauhan, closes vim/vim#5056) Also recognize hollywood. https://github.com/vim/vim/commit/c3bf7b56f2703e2d6f36dfb05fd32b5b43ce3c3f
| * | | vim-patch:8.1.2151: state test is a bit flakyJan Edmund Lazo2019-10-18
| | | | | | | | | | | | | | | | | | | | | | | | Problem: State test is a bit flaky. Solution: Add to the list of flaky tests. https://github.com/vim/vim/commit/3c8cd4a1dcbc34d8818a2a38b1d1e4755da9edc2
| * | | vim-patch:8.1.2162: popup resize test is flakyJan Edmund Lazo2019-10-18
| | | | | | | | | | | | | | | | | | | | | | | | Problem: Popup resize test is flaky. (Christian Brabandt) Solution: Add the function to the list of flaky tests. https://github.com/vim/vim/commit/4e03933726e3698d962bf7dacdd27f306a4c5086
| * | | vim-patch:8.1.2161: mapping test failsJan Edmund Lazo2019-10-18
| | | | | | | | | | | | | | | | | | | | | | | | Problem: Mapping test fails. Solution: Run the test separately. https://github.com/vim/vim/commit/4bd88d568a81d37df69dc3cf8cdd8d9dbb4011b7
| * | | vim-patch:8.1.2152: problems navigating tags file on MacOS CatalinaJan Edmund Lazo2019-10-18
| | | | | | | | | | | | | | | | | | | | | | | | Problem: Problems navigating tags file on MacOS Catalina. Solution: Use fseek instead of lseek. (John Lamb, fixes vim/vim#5061) https://github.com/vim/vim/commit/27fc8cab227e30f649f52e74efd58ad56d21e9bb
* | | | vim-patch:8.1.2180: Error E303 is not useful when 'directory' is empty (#11257)Daniel Hahler2019-10-19
| | | | | | | | | | | | | | | | | | | | Problem: Error E303 is not useful when 'directory' is empty. Solution: Skip the error message. (Daniel Hahler, vim/vim#5067) https://github.com/vim/vim/commit/00e192becd50a38cb21a1bc3f86fcc7a21f8ee88
* | | | vim-patch:8.1.2182: test42 seen as binary by git diff #11256Daniel Hahler2019-10-19
|/ / / | | | | | | | | | | | | | | | 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) https://github.com/vim/vim/commit/5b39d7adb0b9f02afe242f607d4c96250f06965d
* | | vim-patch:8.1.2140: "gk" and "gj" do not work correctly in number column #11208Jan Edmund Lazo2019-10-17
| | | | | | | | | | | | | | | Problem: "gk" and "gj" do not work correctly in number column. Solution: Allow for a negative "curswant". (Zach Wegner, closes vim/vim#4969) https://github.com/vim/vim/commit/ceba3dd5187788e09f65bd41b07b40f6f9aab953
* | | Merge #11215 from erw7/vim-8.1.0084Justin M. Keyes2019-10-17
|\ \ \ | | | | | | | | vim-patch:8.1.{84,85,361}
| * | | vim-patch 8.1.0361: remote user not used for completionerw72019-10-14
| | | | | | | | | | | | | | | | | | | | | | | | Problem: Remote user not used for completion. (Stucki) Solution: Use $USER too. (Dominique Pelle, closes #3407) https://github.com/vim/vim/commit/6b0b83f768cf536b34ce4d3f2de6bf62324229aa
| * | | vim-patch 8.1.0085: no test for completing user name and languageerw72019-10-13
| | | | | | | | | | | | | | | | | | | | | | | | Problem: No test for completing user name and language. Solution: Add tests. (Dominique Pelle, closes #2978) https://github.com/vim/vim/commit/5f8f2d378a4f6d7db12806f3e35ec6f7fc6bd1f3
| * | | vim-patch 8.1.0084: user name completion does not work on MS-Windowserw72019-10-13
| |/ / | | | | | | | | | | | | | | | Problem: User name completion does not work on MS-Windows. Solution: Use NetUserEnum() to get user names. (Yasuhiro Matsumoto) https://github.com/vim/vim/commit/828c3d70833a0689cc07581f2a67d06430675da5
* | | vim-patch:8.1.2096: too many #ifdefs #11229Daniel Hahler2019-10-17
| | | | | | | | | | | | | | | | | | | | | Problem: Too many #ifdefs. Solution: Graduate FEAT_COMMENTS. https://github.com/vim/vim/commit/8c96af9c05bfcac2d5ae081e098d4863db561511 Fixes https://github.com/vim/vim/issues/4972.
* | | mac: fix "tags file not sorted" bug on Catalina (#11222)dm1try2019-10-14
|/ / | | | | | | | | 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
* | recovery mode (-r/-L): use headless_mode (#11187)Daniel Hahler2019-10-11
| | | | | | Fixes https://github.com/neovim/neovim/issues/11181.
* | vim-patch:8.1.2125: fnamemodify() fails when repeating :eJustin M. Keyes2019-10-10
| | | | | | | | | | | | Problem: Fnamemodify() fails when repeating :e. Solution: Do not go before the tail. (Rob Pilling, closes vim/vim#5024) https://github.com/vim/vim/commit/b189295b72030f00c45c30d3daecf85d457221f8
* | fnamemodify: fix handling of :r after :e #11165Rob Pilling2019-10-10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Test fnamemodify() - Test handling of `expand("%:e:e:r")`. - Fix :e:e:r on filenames with insufficiently many extensions During `fnamemodify()`, ensuring that we don't go before the filename's tail is insufficient in cases where we've already handled a ":e" modifier, for example: ``` "path/to/this.file.ext" :e:e:r:r ^ ^-------- *fnamep +------------- tail ``` This means for a ":r", we'll go before `*fnamep`, and outside the bounds of the filename. This is both incorrect and causes neovim to exit with an allocation error. We exit because we attempt to calculate `s - *fnamep` (line 23948). Since `s` is before `*fnamep`, we caluclate a negative length, which ends up being interpreted as an amount to allocate, causing neovim to exit with ENOMEM (`memory.c:xmalloc`). We must instead ensure we don't go before `*fnamep` nor `tail`. The check for `tail` is still relevant, for example: ``` "path/to/this.file.ext" :r:r:r ^ ^------------- tail +--------------------- *fnamep ``` Here we don't want to go before `tail`. close #11165
* | Remove "highbright bold" conversion. Fixes #11190Björn Linse2019-10-10
|/ | | | | | When using TUI host terminal should take care of this (regardless if 'termguicolors' is active or not). For GUI the behavior doesn't make sense (GUI should display bold attr as bold always).
* Merge #11077 'vim-patch:8.1.{1354,1356,1362,1588}'Justin M. Keyes2019-10-07
|\
| * vim-patch:8.1.1588: in :let-heredoc line continuation is recognizedJurica Bradaric2019-10-07
| | | | | | | | | | | | Problem: In :let-heredoc line continuation is recognized. Solution: Do not consume line continuation. (Ozaki Kiichi, closes vim/vim#4580) https://github.com/vim/vim/commit/e96a2498f9a2d3e93ac07431f6d4afd77f30afdf
| * vim-patch:8.1.1362: code and data in tests can be hard to readJurica Bradaric2019-10-07
| | | | | | | | | | | | Problem: Code and data in tests can be hard to read. Solution: Use the new heredoc style. (Yegappan Lakshmanan, closes vim/vim#4400) https://github.com/vim/vim/commit/c79745a82faeb5a6058e915ca49a4c69fa60ea01