aboutsummaryrefslogtreecommitdiff
path: root/src
Commit message (Collapse)AuthorAge
...
* | | Merge #9301 'runtime/lua'Justin M. Keyes2019-05-18
|\ \ \ | |/ / |/| |
| * | test: share implementation of testdir/load.vimJustin M. Keyes2019-05-18
| | | | | | | | | | | | | | | | | | | | | Also, don't compute load factor unless load_adjust() was called, it slows down the test suite. ref #9292
| * | lua/stdlib: Introduce vim.sharedJustin M. Keyes2019-05-18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is where "pure functions" can live, which can be shared by Nvim and test logic which may not have a running Nvim instance available. If in the future we use Nvim itself as the Lua engine for tests, then these functions could be moved directly onto the `vim` Lua module. closes #6580
* | | kbtree.h: assert valid range #10022Justin M. Keyes2019-05-18
|/ / | | | | ref #10012
* | kbtree: pointer UB and unitialized value fixesBjörn Linse2019-05-18
| | | | | | | | | | | | | | - don't underflow itr->p pointer (C standard only allows one past the end, not one before the beginning) - make sure itr->p->i is always initialized (even when not used) - don't rely on `NULL < &object` (likely UB)
* | vim-patch:8.1.1338: fix hang when concealing wide char #10023Jan Edmund Lazo2019-05-18
| | | | | | | | | | | | | | Problem: Hang when concealing the '>' shown for a wide char that doesn't fit in the last cell. Solution: Put back the pointer when the '>' is not going to be displayed. (closes vim/vim#4377) https://github.com/vim/vim/commit/0ebe12be86d9f79bfa833306a0302a68a0f4fc30
* | Merge pull request #9883 from bfredl/termredrawBjörn Linse2019-05-14
|\ \ | | | | | | make terminal state redraw like any other state
| * | ui/terminal: make terminal state redraw like any other stateBjörn Linse2019-05-14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Previously, ordinary redraws were missing from terminal mode. Instead, there was an async callback that invoked update_screen() on terminal data regardless of mode (as if :redraw! was invoked by a timer). This created some issues: - async changes to an unrelated ordinary buffer were not always redrawn in terminal mode - screen cursor position was not properly updated in terminal mode (partial fix, will be properly fixed in a follow up PR) - ad-hoc logic was needed for interaction with special states such as inccommand or horizontal wildmenu. Instead redraw terminal mode just like any other state. This disables forced redraws in cmdline mode, which were inconisent which async changes to normal buffers (which are not redrawn in cmdline mode).
* | | Merge pull request #9985 from bfredl/shenanigansBjörn Linse2019-05-13
|\ \ \ | | | | | | | | Fix aucmd_win issues: crashes and redrawing errors.
| * | | autocmd: fixes and tests for autocmd window issuesBjörn Linse2019-05-13
| | | | | | | | | | | | | | | | | | | | | | | | - redraw! in an invisible buffer rendered the screen unusable. - storing the autocmd window handle and using it in API function could lead to crashes. Unregister the handle when the window is not active.
* | | | API/nvim_set_keymap: remove mode-shortname aliasesJustin M. Keyes2019-05-12
| | | | | | | | | | | | | | | | | | | | Reduce the API surface-area a bit. No need to have aliases for a mode. ref #9924
* | | | API/nvim_set_keymap: minor cleanupJustin M. Keyes2019-05-12
|/ / / | | | | | | | | | ref #9924
* | | API: nvim_set_keymap, nvim_del_keymap #9924Yilin Yang2019-05-12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | closes #9136 - Treat empty {rhs} like <Nop> - getchar.c: Pull "repl. MapArg termcodes" into func The "preprocessing code" surrounding the replace_termcodes calls needs to invoke replace_termcodes, and also check if RHS is equal to "<Nop>". To reduce code duplication, factor this out into a helper function. Also add an rhs_is_noop flag to MapArguments; buf_do_map_explicit expects an empty {rhs} string for "<Nop>", but also needs to distinguish that from something like ":map lhs<cr>" where no {rhs} was provided. - getchar.c: Use allocated buffer for rhs in MapArgs Since the MAXMAPLEN limit does not apply to the RHS of a mapping (or else an RHS that calls a really long autoload function from a plugin would be incorrectly rejected as being too long), use an allocated buffer for RHS rather than a static buffer of length MAXMAPLEN + 1. - Mappings LHS and RHS can contain literal space characters, newlines, etc. - getchar.c: replace_termcodes in str_to_mapargs It makes sense to do this; str_to_mapargs is, intuitively, supposed to take a "raw" command string and parse it into a totally "do_map-ready" struct. - api/vim.c: Update lhs, rhs len after replace_termcodes Fixes a bug in which replace_termcodes changes the length of lhs or rhs, but the later search through the mappings/abbreviations hashtables still uses the old length value. This would cause the search to fail erroneously and throw 'E31: No such mapping' errors or 'E24: No such abbreviation' errors. - getchar: Create new map_arguments struct So that a string of map arguments can be parsed into a more useful, more portable data structure. - getchar.c: Add buf_do_map function Exactly the same as the old do_map, but replace the hardcoded references to the global `buf_T* curbuf` with a function parameter so that we can invoke it from nvim_buf_set_keymap. - Remove gettext calls in do_map error handling
* | | docJustin M. Keyes2019-05-11
| | |
* | | UI/ext_messages: learn more message kindsJustin M. Keyes2019-05-11
| | | | | | | | | | | | ref #6201
* | | vim-patch:8.1.0543: fix memory leak #10001Jan Edmund Lazo2019-05-11
| | | | | | | | | | | | | | | | | | Problem: Coverity warns for leaking memory and using wrong struct. Solution: Free pointer when allocation fails. Change "boff" to "loff". (closes vim/vim#3634) https://github.com/vim/vim/commit/4e303c8ba8dcd0566a1ad7c82ff18eb016eea335
* | | vim-patch:8.1.1312: Coverity warning for using uninitialized variableJan Edmund Lazo2019-05-09
| | | | | | | | | | | | | | | | | | Problem: Coverity warning for using uninitialized variable. Solution: Clear exarg_T. https://github.com/vim/vim/commit/4ca41534b726c4116d2e430e877e34146b4d4831
* | | Merge #9992 from justinmk/ui-upgradeJustin M. Keyes2019-05-09
|\ \ \ | | | | | | | | UI/nvim_ui_attach(): add "override" option
| * | | UI/nvim_ui_attach(): add `override` optionJustin M. Keyes2019-05-09
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Before now, Nvim always degrades UI capabilities to the lowest-common denominator. For example, if any connected UI has `ext_messages=false` then `ext_messages=true` requested by any other connected UI is ignored. Now `nvim_ui_attach()` supports `override=true`, which flips the behavior: if any UI requests an `ext_*` UI capability then the capability is enabled (and the legacy behavior is disabled). Legacy UIs will be broken while a `override=true` UI is connected, but it's useful for debugging: you can type into the TUI and observe the UI events from another connected (UI) client. And the legacy UI will "recover" after the `override=true` UI disconnects. Example using pynvim: >>> n.ui_attach(2048, 2048, rgb=True, override=True, ext_multigrid=True, ext_messages=True, ext_popupmenu=True) >>> while True: n.next_message();
* | | | vim-patch:8.1.1299: "extends" from 'listchars' is used when 'list' is offJan Edmund Lazo2019-05-08
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: "extends" from 'listchars' is used when 'list' is off. (Hiroyuki Yoshinaga) Solution: Only use the "extends" character when 'list' is on. (Hirohito Higashi, closes vim/vim#4360) https://github.com/vim/vim/commit/a5c6a0b6c71ae11078cbf6f5e18ce49a0468a117
* | | | vim-patch:8.1.0865: when 'listchars' only contains "nbsp:X" it does not workJan Edmund Lazo2019-05-08
|/ / / | | | | | | | | | | | | | | | Problem: When 'listchars' only contains "nbsp:X" it does not work. Solution: Set extra_check when lcs_nbsp is set. (Ralf Schandl, closes vim/vim#3889) https://github.com/vim/vim/commit/895d966e341c187ffcf9da88dba193cbfcebf000
* | | vim-patch:8.1.1205: BufReadPre may move the cursor #9980Justin M. Keyes2019-05-08
| | | | | | | | | | | | | | | | | | | | | Problem: A BufReadPre autocommand may cause the cursor to move. Solution: Restore the cursor position after executing the autocommand, unless the autocommand moved it. (Christian Brabandt, closes vim/vim#4302, closes vim/vim#4294) https://github.com/vim/vim/commit/a68e59590905da9b4448ff1fcac929ad1a18da9e
* | | Merge #9979 from janlazo/vim-8.0.0876Justin M. Keyes2019-05-07
|\ \ \ | | | | | | | | vim-patch:8.0.{876,1144},8.1.0133
| * | | vim-patch:8.0.1144: using wrong #ifdef for computing lengthJan Edmund Lazo2019-05-07
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: Using wrong #ifdef for computing length. Solution: use BACKSLASH_IN_FILENAME instead of COLON_IN_FILENAME. (Yasuhiro Matsomoto, closes vim/vim#2153) https://github.com/vim/vim/commit/0b05e491b473dbf39cd9f519030bf6363c272300
| * | | lintJan Edmund Lazo2019-05-07
| | | |
| * | | vim-patch:8.1.0133: tagfiles() can have duplicate entriesJan Edmund Lazo2019-05-07
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: tagfiles() can have duplicate entries. Solution: Simplify the filename to make checking for duplicates work better. Add a test. (Dominique Pelle, closes vim/vim#2979) https://github.com/vim/vim/commit/46577b5e5445c4aaa1e7ae1764373d11dae71663
| * | | vim-patch:8.0.0876: backslashes and wildcards in backticks don't workJan Edmund Lazo2019-05-07
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: MS-Windows: Backslashes and wildcards in backticks don't work. Solution: Do not handle backslashes inside backticks in the wrong place. (Yasuhiro Matsumoto, closes vim/vim#1942) https://github.com/vim/vim/commit/39d21e3c30f3391f3b27f5ddb7e1ad411bdb8f2e
* | | | API: fix cursor position when lines are added #9961hashinclude2019-05-07
|/ / / | | | | | | | | | Restore code removed in #9674.
* | | fixup! vim-patch:8.0.1782: no simple way to label quickfix entriesJan Edmund Lazo2019-05-06
| | |
* | | vim-patch:8.1.1284: detecting *.tmpl as htmlcheetah is outdatedJan Edmund Lazo2019-05-06
| | | | | | | | | | | | | | | | | | Problem: Detecting *.tmpl as htmlcheetah is outdated. Solution: Use the generic name "template". (closes vim/vim#4348) https://github.com/vim/vim/commit/d1362211291c85d29609baab65abc764b1aec169
* | | vim-patch:8.1.1286: running tests leaves XTest_tabpage_cmdheight file behindJan Edmund Lazo2019-05-06
| | | | | | | | | | | | | | | | | | Problem: Running tests leaves XTest_tabpage_cmdheight file behind. Solution: Delete the right file. (closes vim/vim#4350) https://github.com/vim/vim/commit/4fa06870e5d347c30fe55290dab87e494c8aa06a
* | | vim-patch:8.1.1285: test17 is old styleJan Edmund Lazo2019-05-06
| | | | | | | | | | | | | | | | | | Problem: Test17 is old style. Solution: Turn into new style test. (Yegappan Lakshmanan, closes vim/vim#4347) https://github.com/vim/vim/commit/f0ab01f6d868164ed0bb247b6f7b152e6929ef18
* | | Merge #9977 from justinmk/pvsJustin M. Keyes2019-05-06
|\ \ \
| * | | lintJustin M. Keyes2019-05-06
| | | |
| * | | PVS/V781: "maxlen" variable checked after useJustin M. Keyes2019-05-06
| | | | | | | | | | | | | | | | False positive.
| * | | PVS/V547: Expression is always trueJustin M. Keyes2019-05-06
| | | | | | | | | | | | | | | | | | | | Since 67bac681ea6b (see msg_multiline_attr()) msg_clr_eos() is always called.
| * | | PVS/V547: Expression is always falseJustin M. Keyes2019-05-06
| | | |
| * | | PVS/V547: Expression is always falseJustin M. Keyes2019-05-06
| | | |
| * | | PVS/V571: condition was already verifiedJustin M. Keyes2019-05-06
| | | |
* | | | Merge #9798 'aucmd_prepbuf: Use floating window'Justin M. Keyes2019-05-06
|\ \ \ \ | |/ / / |/| | |
| * | | aucmd_win: use a floating windowMarco Hinz2019-05-06
|/ / /
* | | vim-patch:8.0.1750: crash clearing location list #9968Justin M. Keyes2019-05-05
| | | | | | | | | | | | | | | | | | Problem: Crash when clearing loccation list in autocommand. Solution: Check if "qi" equals "ql_info". (Yegappan Lakshmanan) https://github.com/vim/vim/commit/3b9474b4ad4d85b5396f7f641b436f193dc9d486
* | | Merge #9972 from janlazo/vim-8.1.1249Justin M. Keyes2019-05-05
|\ \ \ | | | | | | | | vim-patch:8.1.{613,1046,1249}
| * | | vim-patch:8.1.1046: the "secure" variable is used inconsistentlyJan Edmund Lazo2019-05-05
| | | | | | | | | | | | | | | | | | | | | | | | Problem: the "secure" variable is used inconsistently. (Justin M. Keyes) Solution: Set it to one instead of incrementing. https://github.com/vim/vim/commit/82b033eff82d3ed0da77fd5f5a1c023766acabba
| * | | vim-patch:8.1.0613: when executing an insecure function the secure flag is stuckJan Edmund Lazo2019-05-05
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: When executing an insecure function the secure flag is stuck. (Gabriel Barta) Solution: Restore "secure" instead of decrementing it. (closes vim/vim#3705) https://github.com/vim/vim/commit/48f377a476e4a3312aa0e3535aba170484b59483
| * | | test/old: set shellslash in Test_finddirJan Edmund Lazo2019-05-04
| | | |
| * | | test/old: enable Test_normal01_keymodelJan Edmund Lazo2019-05-04
| | | | | | | | | | | | | | | | It works now.
| * | | vim-patch:8.1.1249: compiler warning for uninitialized variableJan Edmund Lazo2019-05-03
| | | | | | | | | | | | | | | | | | | | | | | | Problem: Compiler warning for uninitialized variable. Solution: Initialize it. (Christian Brabandt) https://github.com/vim/vim/commit/c6b1cc967f859c6e975d001e4304113db7190690
* | | | lintMarco Hinz2019-05-05
| | | |
* | | | vim-patch:8.0.1831: sometimes the quickfix title is incorrectly prefixed ↵Marco Hinz2019-05-05
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | with ':' Problem: Sometimes the quickfix title is incorrectly prefixed with ':'. Solution: Prepend the colon in another way. (Yegappan Lakshmanan) https://github.com/vim/vim/commit/8b62e31003693fee4b288e7aea49170f032aeef3