aboutsummaryrefslogtreecommitdiff
path: root/src
Commit message (Collapse)AuthorAge
...
| | * | 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
| | | * vim-patch:8.1.1356: some text in heredoc assignment ends the textJurica Bradaric2019-10-07
| | | | | | | | | | | | | | | | | | | | | | | | Problem: Some text in heredoc assignment ends the text. (Ozaki Kiichi) Solution: Recognize "let v =<<" and skip until the end. https://github.com/vim/vim/commit/8471e57026714c5a0faf89288ceef5231fb88d4f
| | | * vim-patch:8.1.1354: getting a list of text lines is clumsyJurica Bradaric2019-10-07
| | |/ | | | | | | | | | | | | | | | Problem: Getting a list of text lines is clumsy. Solution: Add the =<< assignment. (Yegappan Lakshmanan, closes vim/vim#4386) https://github.com/vim/vim/commit/f5842c5a533346c4ff41ff666e465c85f1de35d5
| | * Remove dead codeJan Edmund Lazo2019-10-06
| | |
| | * vim-patch:8.1.2120: some MB_ macros are more complicated than necessaryJan Edmund Lazo2019-10-06
| | | | | | | | | | | | | | | | | | | | | Problem: Some MB_ macros are more complicated than necessary. (Dominique Pelle) Solution: Simplify the macros. Expand inline. https://github.com/vim/vim/commit/1614a14901558ca091329315d14a7d5e1b53aa47
| | * test/old: add test_fnamemodify.vim (#11168)Daniel Hahler2019-10-06
| | | | | | | | | | | | | | | Moved to a new-style test in vim/vim@610cc1b9b (v7.4.1652). Ref: https://github.com/neovim/neovim/pull/11165#issuecomment-538785588
| | * Merge #11157 from janlazo/vim-8.1.2113Justin M. Keyes2019-10-06
| | |\ | | | | | | | | vim-patch:8.1.{59, 586, 2113}
| | | * vim-patch:8.1.0586: :digraph output is not easy to readJan Edmund Lazo2019-10-06
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: :digraph output is not easy to read. Solution: Add highlighting for :digraphs. (Marcin Szamotulski, closes vim/vim#3572) Also add section headers for :digraphs!. https://github.com/vim/vim/commit/eae8ae1b2b4e532b125077d9838b70d966891be3
| | | * vim-patch:8.1.0059: displayed digraph for "ga" wrong with 'encoding' "cp1251"Jan Edmund Lazo2019-10-06
| | | | | | | | | | | | | | | | | | | | | | | | Problem: Displayed digraph for "ga" wrong with 'encoding' "cp1251". Solution: Convert from 'encoding' to "utf-8" if needed. (closes vim/vim#3015) https://github.com/vim/vim/commit/bc5020aa4d7ef4aea88395eff858f74fc881eab9
| | | * vim-patch:8.1.2113: ":help expr-!~?" only works after searchingJan Edmund Lazo2019-10-05
| | | | | | | | | | | | | | | | | | | | | | | | Problem: ":help expr-!~?" only works after searching. Solution: Escape "~" after "expr-". (closes vim/vim#5015) https://github.com/vim/vim/commit/9ca250855b55f4d3292b010525c827dc6992cb61
| | * | vim-patch:8.1.1371: cannot recover from a swap file #11081Jurica Bradarić2019-10-05
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: Cannot recover from a swap file. Solution: Do not expand environment variables in the swap file name. Do not check the extension when we already know a file is a swap file. (Ken Takata, closes 4415, closes vim/vim#4369) https://github.com/vim/vim/commit/99499b1c05f85f83876b828eea3f6e14f0f407b4
| | * | version.c: update [ci skip] #10981Marvim the Paranoid Android2019-10-05
| | |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | vim-patch:8.0.0934: change to struts.h missing in patch vim-patch:8.0.1176: job_start() does not handle quote and backslash correctly vim-patch:8.0.1492: memory leak in balloon_split() vim-patch:8.0.1582: in the MS-Windows console mouse movement is not used vim-patch:8.0.1619: Win32 GUI: crash when winpty is not installed vim-patch:8.0.1624: options for term_dumpdiff() and term_dumpload() not implemented vim-patch:8.0.1665: when running a terminal from the GUI 'term' is not useful vim-patch:8.0.1666: % argument in ch_log() causes trouble vim-patch:8.0.1685: can't set ANSI colors of a terminal window vim-patch:8.0.1711: term_setsize() is not implemented yet vim-patch:8.0.1722: cannot specify a minimal size for a terminal window vim-patch:8.0.1725: terminal debugger doesn't handle command arguments vim-patch:8.0.1742: cannot get a list of all the jobs vim-patch:8.0.1798: MS-Windows: file considered read-only too often vim-patch:8.0.1835: print document name does not support multi-byte vim-patch:8.1.0080: can't see the breakpoint number in the terminal debugger vim-patch:8.1.0156: MS-Windows compiler warning vim-patch:8.1.0226: too many #ifdefs vim-patch:8.1.0722: cannot build without the virtualedit feature vim-patch:8.1.0745: compiler warnings for signed/unsigned string vim-patch:8.1.0752: one more compiler warning for signed/unsigned string vim-patch:8.1.2025: MS-Windows: Including shlguid.h causes problems for msys2 vim-patch:8.1.2027: MS-Windows: problem with ambiwidth characters vim-patch:8.1.2033: cannot build with tiny features vim-patch:8.1.2049: cannot build tiny version vim-patch:8.1.2061: MS-Windows GUI: ":sh" crashes when trying to use a terminal vim-patch:8.1.2075: get many log messages when waiting for a typed character vim-patch:8.1.2078: build error with +textprop but without +terminal vim-patch:8.1.2084: Amiga: cannot get the user name vim-patch:8.1.2086: missing a few changes for the renamed files vim-patch:8.1.2088: renamed libvterm mouse.c file not in distributed file list vim-patch:8.1.2090: not clear why channel log file ends vim-patch:8.1.2101: write_session_file() often defined but not used vim-patch:8.1.2102: can't build with GTK and FEAT_GUI_GNOME vim-patch:8.1.2112: build number for ConPTY is outdated The following `if_pyth` patch seems to be N/A. In `~/.local/`, python 2 and 3 have their own subfolders in `~/.local/include/` and `~/.local/lib/`. `PYTHONUSERBASE` is enough to make the user modules work (on my machine) for the legacy tests. vim-patch:8.0.1451: difficult to set the python home directories properly The following patch requires `set compatible` and unsupported `cpoptions`: vim-patch:8.1.1331: test 29 is old style
| | * Makefile: use `$TMPDIR` below `src/nvim/testdir` (#11153)Daniel Hahler2019-10-04
| | | | | | | | | | | | This makes it ignored/cleaned automatically. It was made absolute in 8821579ba, but to the root back then.
| | * Fix potential deadlock #11151erw72019-10-04
| | | | | | | | | | | | | | | ELOG may call os_getenv and os_setenv internally. In that case, a deadlock occurs.