aboutsummaryrefslogtreecommitdiff
path: root/src
Commit message (Collapse)AuthorAge
...
* | | vim-patch:8.0.0151,3,4 #7389Justin M. Keyes2018-01-15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | vim-patch:8.0.0151 Problem: To pass buffer content to system() and systemlist() one has to first create a string or list. Solution: Allow passing a buffer number. (LemonBoy, closes vim/vim#1240) https://github.com/vim/vim/commit/12c4492dd35e0cd83c8816be2ec849b836109882 vim-patch:8.0.0153 Problem: system() test fails on MS-Windows. Solution: Deal when extra space and CR. https://github.com/vim/vim/commit/9d9c35651712b88c81f1ae11091de1fd0bbbd35c vim-patch:8.0.0154 Problem: system() test fails on OS/X. Solution: Deal with leading spaces. https://github.com/vim/vim/commit/31f19ce0a052f7c76d44a9a190e468c79cf5d56d
* | | Merge #7806 from ZyX-I/list-statJustin M. Keyes2018-01-15
|\ \ \ | | | | | | | | Add a way to collect list usage statistics
| * | | channel: Make empty output be represented by `['']` againZyX2018-01-14
| | | |
| * | | eval/typval: Log list actionsZyX2018-01-14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | New logging is guarded by cmake LOG_LIST_ACTIONS define. To make it more efficient it is allocated as a linked list with chunks of length 2^(7+chunk_num); that uses basically the same idea as behind increasing kvec length (make appending O(1) (amortized)), but reduces constant by not bothering to move memory around what realloc() would surely do: it is not like we need random access to log entries here to justify usage of a single continuous memory block.
| * | | os/fileio: Fix some flag names in file_* functions documentationZyX2018-01-14
| | | |
| * | | *: Provide list length when allocating listsZyX2018-01-14
| |/ /
* | | Merge #7850 'vim patches'Justin M. Keyes2018-01-15
|\ \ \
| * | | vim-patch:8.0.0406: arabic shaping code is verboseckelsel2018-01-15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: The arabic shaping code is verbose. Solution: Shorten the code without changing the functionality. https://github.com/vim/vim/commit/7f73b54631af3f0e6f0acd1a1b4c9e8436784705
| * | | vim-patch:8.0.0391: arabic support is verbose and not well testedckelsel2018-01-15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: Arabic support is verbose and not well tested. Solution: Simplify the code. Add more tests. https://github.com/vim/vim/commit/5f53dd3f747711be90879fa2f22a207970b86750
| * | | vim-patch:8.0.0389: test for arabic does not check what is displayedckelsel2018-01-15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: Test for arabic does not check what is displayed. Solution: Improve what is asserted. (Dominique Pelle, closes vim/vim#1523) Add a first shaping test. https://github.com/vim/vim/commit/5342f00ff95ed0256b8183063a83d72112f1243c
| * | | vim-patch:8.0.0385: no tests for arabicckelsel2018-01-14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: No tests for arabic. Solution: Add a first test for arabic. (Dominique Pelle, closes vim/vim#1518) https://github.com/vim/vim/commit/b5e8377364110ee70090274da15d202778e96a64
| * | | vim-patch:8.0.0381: diff mode is not sufficiently testedckelsel2018-01-14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: Diff mode is not sufficiently tested. Solution: Add more diff mode tests. (Dominique Pelle, closes vim/vim#1515) https://github.com/vim/vim/commit/aeb661e1f4a491286ef7af8c3105aff1f3b16f1c
| * | | vim-patch:8.0.0380: with 'linebreak' double wide char wraps badlyckelsel2018-01-14
| |/ / | | | | | | | | | | | | | | | | | | | | | | | | Problem: With 'linebreak' set and 'breakat' includes ">" a double-wide character results in "<<" displayed. Solution: Check for the character not to be replaced. (Ozaki Kiichi, closes vim/vim#1456) https://github.com/vim/vim/commit/38632faf635f6434441827e136bceb5a930c59ad
* | | Merge #7839 'coverity fixes'Justin M. Keyes2018-01-15
|\ \ \
| * | | coverity/161216: get_user_input: RETURN_LOCALJustin M. Keyes2018-01-11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | *** CID 161216: Memory - illegal accesses (RETURN_LOCAL) /src/nvim/eval.c: 11143 in get_user_input() 11137 rettv->vval.v_string = 11138 (char_u *)getcmdline_prompt(inputsecret_flag ? NUL : '@', p, echo_attr, 11139 xp_type, xp_arg, input_callback); 11140 ex_normal_busy = save_ex_normal_busy; 11141 callback_free(&input_callback); 11142 >>> CID 161216: Memory - illegal accesses (RETURN_LOCAL) >>> Using "cancelreturn", which points to an out-of-scope variable "def". 11143 if (rettv->vval.v_string == NULL && cancelreturn != NULL) { 11144 rettv->vval.v_string = (char_u *)xstrdup(cancelreturn); 11145 } 11146 11147 xfree(xp_arg); 11148
| * | | coverity/169163: decode_string: Null pointer derefJustin M. Keyes2018-01-11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | *** CID 169163: Null pointer dereferences (FORWARD_NULL) /src/nvim/eval/decode.c: 290 in decode_string() 284 if (elw_ret == -1) { 285 tv_clear(&tv); 286 return (typval_T) { .v_type = VAR_UNKNOWN, .v_lock = VAR_UNLOCKED }; 287 } 288 return tv; 289 } else { >>> CID 169163: Null pointer dereferences (FORWARD_NULL) >>> Passing null pointer "s" to "xmemdupz", which dereferences it. (The dereference is assumed on the basis of the 'nonnull' parameter attribute.) 290 return (typval_T) { 291 .v_type = VAR_STRING, 292 .v_lock = VAR_UNLOCKED, 293 .vval = { .v_string = (char_u *)( 294 s_allocated ? (char *)s : xmemdupz(s, len)) }, 295 };
* | | | Merge #7855 from ckelsel/vim-8.0.0398Justin M. Keyes2018-01-15
|\ \ \ \
| * | | | vim-patch:8.0.0421: diff mode wrong when adding line at end of bufferckelsel2018-01-15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: Diff mode is displayed wrong when adding a line at the end of a buffer. Solution: Adjust marks in diff mode. (James McCoy, closes vim/vim#1329) https://github.com/vim/vim/commit/f58a8475e17bd566760fc7e2a17d35ddf4edacf2
| * | | | vim-patch:8.0.0402: :map completion does not have <special>ckelsel2018-01-15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: :map completion does not have <special>. (Dominique Pelle) Solution: Recognize <special> in completion. Add a test. https://github.com/vim/vim/commit/cf5fdf7d1689ecb145b634dcb9c6e9fc60f63869
| * | | | vim-patch:8.0.0398: illegal memory access with "t"ckelsel2018-01-15
| | |/ / | |/| | | | | | | | | | | | | | | | | | | | | | Problem: Illegal memory access with "t". Solution: Use strncmp() instead of memcmp(). (Dominique Pelle, closes vim/vim#1528) https://github.com/vim/vim/commit/66727e16079fbac6db3897b5c3736ec9fba995bb
* / | | Fix an off-by-one error in the documentation of nvim_buf_clear_highlight (#7853)mkotha2018-01-15
|/ / /
* / / vim-patch:8.0.0364 (#7837)KunMing Xie2018-01-13
|/ / | | | | | | | | | | | | | | | | | | | | | | | | | | vim-patch:8.0.0364: ]s does not move cursor with two spell errors in one line Problem: ]s does not move cursor with two spell errors in one line. (Manuel Ortega) Solution: Don't stop search immediately when wrapped, search the line first. (Ken Takata) Add a test. https://github.com/vim/vim/commit/d3f78dc9ebd729475a7f24a50a91112e300d5ac9 * disable spell test for now
* | api: nvim_command_output: direct implJustin M. Keyes2018-01-10
| |
* | api: change nvim_command_output behaviorJustin M. Keyes2018-01-10
|/ | | | | | | | | | | | | | | | | | | Implement nvim_command_output with `execute({cmd},"silent")`. Behavior changes: - does not provoke any hit-enter prompt - no longer prepends a newline char - does not capture some noise (like the "[New File]" message, see the change to tabnewentered_spec.lua) Technically ("bug-for-bug") this a breaking change. But the previous behavior of nvim_command_output meant that it probably wasn't used for anything outside of tests. Also remove the undocumented `v:command_output` variable which was a hack introduced only for the purposes of nvim_command_output. closes #7726
* vim-patch:8.0.0352: not easy to see when a typval needs to be clearedckelsel2018-01-08
| | | | | | | | Problem: The condition for when a typval needs to be cleared is too complicated. Solution: Init the type to VAR_UNKNOWN and clear it always. https://github.com/vim/vim/commit/f06e5a549f42396be3478ccc1b5f03be64e1173e
* vim-patch:8.0.0351: no test for concatenating an empty stringckelsel2018-01-08
| | | | | | | | Problem: No test for concatenating an empty string that results from out of bounds indexing. Solution: Add a simple test. https://github.com/vim/vim/commit/218426896cbb2129aa4e85803ea97c5b57df1eaa
* version.c: update [ci skip] (#7780)Marvim the Paranoid Android2018-01-06
|
* defaults: do :filetype stuff unless explicitly "off"Justin M. Keyes2018-01-04
| | | | | | | | | | | Until now, the default `:filetype ...` setup was skipped if the user config touched `:filetype` in any way (including implicitly via `:syntax on`). No one needs that, and it's very confusing. Instead, proceed with `:filetype ... on` unless the user explicitly called `:filetype ... off`. closes #7765
* Merge #7805 'eval.c: fix some scan-build warnings'Justin M. Keyes2018-01-03
|\
| * Add null check when adding variable to dict.Paul Rigge2018-01-02
| |
| * Add null pointer assertions for do_unlet_var.Paul Rigge2018-01-02
| |
| * Refactor profiling check in call_user_func.Paul Rigge2018-01-02
| | | | | | | | | | | | | | | | | | do_profiling is a global variable, and as such the clang static analyzer has trouble making arguments about it. This commit does one comparison against do_profiling and puts the result in a local variable. This prevents errors from the value of do_profiling changing between comparisons.
| * Add assertions for watchersPaul Rigge2018-01-02
| | | | | | | | | | | | The clang static analyzer convinced itself lp->ll_newkey could be NULL. This adds an assertion that checks this doesn't actually happen, as well as a parallel assertion for di->di_key.
| * Add another const to tv_copyPaul Rigge2018-01-02
| | | | | | | | | | | | | | | | | | Clang static analyzer had trouble with filter_map in eval.c because tv_copy could, in principle, change the v_type of argvars[0]. It saw a potential null pointer going somewhere it shouldn't as a result. The from argument in tv_copy should be const, which also cleans up the static analyzer's complaint.
| * Add assertion in set_var_lval for null pointer.Paul Rigge2018-01-02
| | | | | | | | If the lval is a index into a list, li should not be null.
* | vim-patch:8.0.0955: Test_existent_file() fails on some file systemsJustin M. Keyes2018-01-03
| | | | | | | | | | | | | | | | Problem: Test_existent_file() fails on some file systems. Solution: Run the test again with a sleep when the test fails without a sleep. (James McCoy, closes vim/vim#1984) https://github.com/vim/vim/commit/82de3c2c036bc89c2d9bdea236e0a7f1208a5571
* | lintJames McCoy2018-01-02
| |
* | vim-patch:8.0.0160: EMSG() is sometimes used where it should be IEMSG()James McCoy2018-01-02
| | | | | | | | | | | | | | Problem: EMSG() is sometimes used for internal errors. Solution: Change them to IEMSG(). (Dominique Pelle) And a few more. https://github.com/vim/vim/commit/de33011ec623fd562419dede6bf465b5b9881a20
* | tui: support TERM=konsole-256colorJustin M. Keyes2018-01-01
| | | | | | | | | | | | | | | | | | | | | | | | | | TERM=konsole-256color is recognized by ncurses. TERM=konsole-xterm might be more clever, but should not be necessary (for Nvim at least), we already special-case Konsole in various places. We may need to clean up some areas that currently assume Konsole always "pretends xterm" (`TERM=xterm-256color`), though I didn't find any such cases. ref #6403 ref https://github.com/neovim/neovim/issues/6403#issuecomment-348713346
* | vim-patch:8.0.0336: flags of :substitute not sufficiently testedJustin M. Keyes2018-01-01
| | | | | | | | | | | | | | | | Problem: Flags of :substitute not sufficiently tested. Solution: Test up to two letter flag combinations. (James McCoy, closes vim/vim#1479) https://github.com/vim/vim/commit/8c50d50b6e19b755d7bad7b2724d14ead29364a7
* | vim-patch: b:changedtick-related patchesJustin M. Keyes2018-01-01
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | vim-patch:8.0.0334 vim-patch:8.0.0335 vim-patch:8.0.0343 vim-patch:8.0.0345 Problem: Can't access b:changedtick from a dict reference. Solution: Make changedtick a member of the b: dict. (inspired by neovim vim/vim#6112) https://github.com/vim/vim/commit/79518e2ace5fce7b9c49060e462a6e935dba0a84 vim-patch:8.0.0343: b:changedtick can be unlocked Problem: b:changedtick can be unlocked, even though it has no effect. (Nikolai Pavlov) Solution: Add a check and error E940. (closes #1496) vim-patch:8.0.0345: islocked('d.changedtick') does not work Problem: islocked('d.changedtick') does not work. Solution: Make it work. vim-patch:8.0.0335: functions test fails Problem: Functions test fails. Solution: Use the right buffer number. https://github.com/vim/vim/commit/507647da3151f7ffccac1b217936240daa79849c
* | vim-patch:8.0.0339: illegal memory access with vi' (#7794)KunMing Xie2018-01-01
| | | | | | | | | | | | | | | | Problem: Illegal memory access with vi' Solution: For quoted text objects bail out if the Visual area spans more than one line. https://github.com/vim/vim/commit/46522af72424c7fadfa7a4cbba3dd21b82d19131
* | vim-patch:8.0.0657: cannot get and set quickfix list itemsJames McCoy2017-12-31
| | | | | | | | | | | | | | | | Problem: Cannot get and set quickfix list items. Solution: Add the "items" argument to getqflist() and setqflist(). (Yegappan Lakshmanan) https://github.com/vim/vim/commit/6a8958db259d4444da6e6956e54a6513c1af8860
* | vim-patch:8.0.0634: cannot easily get to the last quickfix listJames McCoy2017-12-31
|/ | | | | | | | Problem: Cannot easily get to the last quickfix list. Solution: Add "$" as a value for the "nr" argument of getqflist() and setqflist(). (Yegappan Lakshmanan) https://github.com/vim/vim/commit/875feea6ce223462d55543735143d747dcaf4287
* Merge pull request #7762 from ZyX-I/remove-some-listitemsJustin M. Keyes2017-12-31
|\ | | | | Remove some tv_list_item_…() functions
| * eval: Fix linter errorsZyX2017-12-31
| |
| * eval,lua/converter: Fix problems spotted in reviewZyX2017-12-31
| |
| * eval: Refactor some potentially dangerous list appendsZyX2017-12-25
| |
| * eval: Remove magic numbers from find_some_match() type argumentZyX2017-12-25
| |
| * *: Fix linter errorsZyX2017-12-24
| |