aboutsummaryrefslogtreecommitdiff
path: root/src
Commit message (Collapse)AuthorAge
...
* refactor: replace char_u variables and functions with charDundar Goc2022-05-16
| | | | Work on https://github.com/neovim/neovim/issues/459
* fix(version.c): mark N/A vim patches #18587Justin M. Keyes2022-05-16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | vim-patch:8.0.1119: quitting a split terminal window kills the job N/A, or tracked in https://github.com/neovim/neovim/issues/5431 vim-patch:8.0.1307: compiler warning for ignoring return value N/A vim-patch:8.0.1335: writefile() using fsync() may give an error N/A vim-patch:8.0.1339: no test for what 8.0.1335 fixes already merged in 5972ff00560b497de4cfe51d529b0c5aa9dd4fad vim-patch:8.0.1367: terminal test hangs, executing abcde N/A vim-patch:8.0.1562: the terminal debugger can't set breakpoint with mouse we have all :Termdebug changes vim-patch:8.0.1609: shell commands in the GUI use a dumb terminal tracked in https://github.com/neovim/neovim/issues/5431 vim-patch:8.0.1616: Win32: shell commands in the GUI open a new console (guioptions="!") tracked in https://github.com/neovim/neovim/issues/1496 vim-patch:8.0.1706: cannot sent CTRL-\ to a terminal window already possible via :call chansend()
* feat(terminfo): bump built-in terminfo entries (#18570)Marco Hinz2022-05-16
| | | | | | Removes NOLINT, which is pointless for the generated terminfo_defs.h. Adds `uncrustify:off`, so it is not uncrustify which complains about the same things (too long lines, no space after comma) instead.
* ci(clint): remove checks for whitespace after comma/semicolon (#18584)Marco Hinz2022-05-16
| | | | | uncrustify is the source of truth where possible. Remove any redundant checks from clint.py. See also https://github.com/neovim/neovim/pull/18563
* docs(api): nvim_set_hl attributes #18558Oliver Marriott2022-05-15
|
* fix(api): nvim_eval_statusline should validate input #18347deforde2022-05-15
| | | | | Fix #18112 Make an exception for strings starting with "%!".
* ci(clint): remove clint.py line length check #18574dundargoc2022-05-15
| | | | | uncrustify is the source of truth where possible. Remove any redundant checks from clint.py. See also https://github.com/neovim/neovim/pull/18563
* refactor(ui)!: link `VertSplit` to `Normal` by defaultFamiu Haque2022-05-15
| | | | | Avoids using `gui=reverse` on `VertSplit` and makes window separators look much nicer by default.
* fix PVS warnings (#18459)dundargoc2022-05-15
| | | | | | | | | | | | | * fix(PVS/V547): remove ifs that are always true or false * fix(PVS/V560): remove partial conditions that are always true * fix(PVS/V1044): suppress warning about loop break conditions * fix(PVS/V1063): suppress "modulo by 1 operation is meaningless" * fix(PVS/V568): suppress "operator evaluates the size of a pointer" Also mark vim-patch:8.2.4958 as ported.
* build: enable EXITFREE on Debug builds (#17783)dundargoc2022-05-15
| | | | | This makes it more convenient to find memory leaks since you don't need to remember to set the EXITFREE flag every time you use valgrind or a sanitizer.
* docs(nvim_set_keymap): specify that optional arguments defaults to false ↵dundargoc2022-05-15
| | | | | (#18177) Closes: https://github.com/neovim/neovim/issues/16919
* refactor(uncrustify): enable formatting for regexp and indent files (#18549)dundargoc2022-05-14
| | | | | | | | The formatting for these files were originally disabled as to signal that "we don't own these files", meaning we intentionally want to minimize the amount of work put in these files as the return will be very little. This unfortunately conflicts with other refactoring efforts that happen to touch these files, and it's easier to simply enable formatting.
* ci(clint): remove check for include orderDundar Goc2022-05-14
| | | | | | Uncrustify and clang-format are already both excellent at ordering includes; this isn't something we need to check for ourselves. Also remove the section on include order in the dev-style documentation.
* ci(clint): fix all pyright warningsDundar Goc2022-05-14
|
* vim-patch:8.2.4953: with 'si' inserting '}' after completion goes wrongzeertzjq2022-05-14
| | | | | | Problem: With 'smartindent' inserting '}' after completion goes wrong. Solution: Check the cursor is in indent. (closes vim/vim#10420) https://github.com/vim/vim/commit/2e444bbef0f36535bf941f007f2961f3f66bbe87
* vim-patch:8.2.4951: smart indenting done when not enabledzeertzjq2022-05-14
| | | | | | Problem: Smart indenting done when not enabled. Solution: Check option values before setting can_si. (closes vim/vim#10420) https://github.com/vim/vim/commit/de5cf287812510d2c8ffe66b99cf33c4e1a6e6f1
* Merge pull request #18542 from famiu/feat/api/nvim_cmd/kvec_tbfredl2022-05-14
|\ | | | | refactor(api/nvim_cmd): use `kvec_t` for constructing cmdline string
| * refactor(api/nvim_cmd): use `kvec_t` for constructing cmdline stringFamiu Haque2022-05-14
| | | | | | | | Co-authored-by: Björn Linse <bjorn.linse@gmail.com>
* | vim-patch:8.2.2797: Search highlight disappears in the Visual area (#17947)zeertzjq2022-05-13
| | | | | | | | | | Problem: Search highlight disappears in the Visual area. Solution: Combine the search attributes. (closes vim/vim#8134) https://github.com/vim/vim/commit/2d5f385cee3668c44089edcb9d60b0b5d751ee5d
* | revert: "feat(mappings): do not simplify the rhs of a mapping" (#18553)zeertzjq2022-05-13
| | | | | | | | This reverts commit 7ac5359143ef25c4c8c0c427d5533f8d5824ed17. This fix can cause more problems than it solves.
* | feat(defaults): search selection by * and # in visual mode (#18538)yamatsum2022-05-13
| |
* | fix(windows): stdpath("state") => "nvim-data" #18546dundargoc2022-05-12
| | | | | | This was missed in https://github.com/neovim/neovim/pull/15583
* | vim-patch:8.2.4943: changing 'switchbuf' may have no effect (#18545)Sean Dewar2022-05-13
| | | | | | | | | | | | | | | | | | Problem: Changing 'switchbuf' may have no effect. Solution: Handle 'switchbuf' in didset_string_options(). (Sean Dewar, closes vim/vim#10406) https://github.com/vim/vim/commit/39c46b43780ad00ea27a93d92aadd44753d4c3ea Guess it doesn't hurt to cherry-pick didset_string_options from v8.1.2045 (but in option.c, for now).
* | Merge pull request #18489 from dundargoc/refactor/remove-char_ubfredl2022-05-13
|\ \ | | | | | | refactor: replace char_u variables and functions with char
| * | refactor: replace char_u variables and functions with charDundar Goc2022-05-11
| | | | | | | | | | | | Work on https://github.com/neovim/neovim/issues/459
* | | refactor(eval): use Hashy McHashFace instead of gperfbfredl2022-05-12
| | | | | | | | | | | | this removes gperf as a build dependency
* | | Merge pull request #18540 from zeertzjq/vim-8.2.4919zeertzjq2022-05-12
|\ \ \ | | | | | | | | vim-patch:8.2.{4919,4921}: can add invalid bytes with :spellgood
| * | | vim-patch:8.2.4921: spell test fails because of new illegal byte checkzeertzjq2022-05-12
| | | | | | | | | | | | | | | | | | | | | | | | Problem: Spell test fails because of new illegal byte check. Solution: Remove the test. https://github.com/vim/vim/commit/fe978c2b6bb9d897d962595a4a51dd7a71dc8e89
| * | | vim-patch:8.2.4919: can add invalid bytes with :spellgoodzeertzjq2022-05-12
| | |/ | |/| | | | | | | | | | | | | Problem: Can add invalid bytes with :spellgood. Solution: Check for a valid word string. https://github.com/vim/vim/commit/7c824682d2028432ee082703ef0ab399867a089b
* / | vim-patch:8.2.4941: '[ and '] marks may be wrong after undo (#18539)zeertzjq2022-05-12
|/ / | | | | | | | | Problem: '[ and '] marks may be wrong after undo. Solution: Adjust the '[ and '] marks if needed. (closes vim/vim#10407, closes vim/vim#1281) https://github.com/vim/vim/commit/82444cefa3fef87624a078ea86a72af7ef4ef42e
* | fix(cmd): make :-tabmove work with modifiers (#18447)Marco Hinz2022-05-12
| | | | | | | | | | | | | | | | | | `:tabmove` takes either an argument (`:tabmove -`) or an address (`:-tabmove`). The code assumed that `:tabmove` is the first command on the cmdline, but that is not the case when using additional modifiers like `:silent`. Make the addr parsing more robust by searching the command first, then going back to check for a potential address `-`.
* | feat(defaults): session data in $XDG_STATE_HOME #15583Ivan2022-05-12
| | | | | | | | | | | | | | | | | | | | | | | | See: https://gitlab.freedesktop.org/xdg/xdg-specs/-/commit/4f2884e16db35f2962d9b64312917c81be5cb54b - Move session persistent data to $XDG_STATE_HOME Change 'directory', 'backupdir', 'undodir', 'viewdir' and 'shadafile' default location to $XDG_STATE_HOME/nvim. - Move logs to $XDG_STATE_HOME, too. - Add stdpath('log') support. Fixes: #14805
* | fix(terminal): invalid pointer comparison #18453Clément Bœsch2022-05-12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | At the moment of comparison, the pointer save_curwin can be invalid (as suggested by the comment) because it has been free'd. Worst, the new curwin could have been re-allocated to that same pointer, altering the execution flow unpredictably. While there are many other potential similar cases to fix in the codebase, the presented scenario is not hypothetical and does happen in practice (while spawning new windows from fzf for instance). There are numerous other instances of curwin comparisons in the codebase, and they may need further investigation. closes #16941
* | refactor: rename keymap.{c,h} to keycodes.{c,h} (#18535)zeertzjq2022-05-12
| | | | | | | | | | | | | | | | Most code in keymap.h is for keycode definitions, while most code in keymap.c is for the parsing and conversion of keycodes. The name "keymap" may also make people think these two files are for mappings, while in fact keycodes are used even when no mappings are involved, so "keycodes" should be a better file name than "keymap".
* | docs: nvim_buf_[get|set]_[text|lines] (#18404)Andrey Mishchenko2022-05-11
| | | | | | | | - Use consistent formatting for args docs. - Clarify inclusivity/exclusivity in `nvim_buf_[get|set]_text`.
* | fix(api): make `nvim_cmd` work correctly with empty arguments list (#18527)Famiu Haque2022-05-11
| | | | | | Closes #18526.
* | vim-patch:8.2.4939: matchfuzzypos() with "matchseq" does not have all ↵zeertzjq2022-05-11
| | | | | | | | | | | | | | positions (#18525) Problem: matchfuzzypos() with "matchseq" does not have all positions. Solution: Also add a position for white space. (closes vim/vim#10404) https://github.com/vim/vim/commit/9af2bc075169e14fd06ed967d28eac7206d21f36
* | vim-patch:8.2.4938: crash when matching buffer with invalid patternzeertzjq2022-05-11
| | | | | | | | | | | | Problem: Crash when matching buffer with invalid pattern. Solution: Check for NULL regprog. https://github.com/vim/vim/commit/a59f2dfd0cf9ee1a584d3de5b7c2d47648e79060
* | vim-patch:8.2.4901: NULL pointer access when using invalid patternzeertzjq2022-05-11
| | | | | | | | | | | | Problem: NULL pointer access when using invalid pattern. Solution: Check for failed regexp program. https://github.com/vim/vim/commit/8e4b76da1d7e987d43ca960dfbc372d1c617466f
* | Merge pull request #18366 from famiu/feat/api/nvim_cmdbfredl2022-05-11
|\ \ | |/ |/| feat(api): add `nvim_cmd`
| * feat(api): add `nvim_cmd`Famiu Haque2022-05-11
| | | | | | | | Adds the API function `nvim_cmd` which allows executing an Ex-command through a Dictionary which can have the same values as the return value of `nvim_parse_cmd()`. This makes it much easier to do things like passing arguments with a space to commands that otherwise may not allow it, or to make commands interpret certain characters literally when they otherwise would not.
| * feat(keyset): allow hash conflictsbfredl2022-05-09
| |
* | vim-patch:8.2.4929: off-by-one error in in statusline itemzeertzjq2022-05-10
| | | | | | | | | | | | Problem: Off-by-one error in in statusline item. Solution: Subtrace one less. (closes vim/vim#10394, closes vim/vim#5599) https://github.com/vim/vim/commit/57ff52677bf5ba1651281ffe40505df8feba4a36
* | vim-patch:8.2.4911: the mode #defines are not clearly named (#18499)zeertzjq2022-05-10
|/ | | | | | | | Problem: The mode #defines are not clearly named. Solution: Prepend MODE_. Renumber them to put the mapped modes first. https://github.com/vim/vim/commit/249591057b4840785c50e41dd850efb8a8faf435 A hunk from the patch depends on patch 8.2.4861, which hasn't been ported yet, but that should be easy to notice.
* vim-patch:8.2.4925: trailing backslash may cause reading past end of line ↵zeertzjq2022-05-09
| | | | | | | | | | | | | | | (#18493) Problem: Trailing backslash may cause reading past end of line. Solution: Check for NUL after backslash. https://github.com/vim/vim/commit/53a70289c2712808e6d4e88927e03cac01b470dd N/A patches for version.c: vim-patch:8.2.4926: #ifdef for crypt feature around too many lines Problem: #ifdef for crypt feature around too many lines. Solution: Move code outside of #ifdef. (closes vim/vim#10388) https://github.com/vim/vim/commit/51f0bc31d3cf512508419064faac0e5b7e52c98b
* vim-patch:8.2.4924: maparg() may return a string that cannot be reusedzeertzjq2022-05-09
| | | | | | | Problem: maparg() may return a string that cannot be reused. Solution: use msg_outtrans_special() instead of str2special(). (closes vim/vim#10384) https://github.com/vim/vim/commit/0519ce00394474055bd58c089ea90a19986443eb
* vim-patch:8.2.4923: test checks for terminal feature unnecessarilyzeertzjq2022-05-09
| | | | | | Problem: Test checks for terminal feature unnecessarily. Solution: Remove CheckRunVimInTerminal. (closes vim/vim#10383) https://github.com/vim/vim/commit/194843028ed486366b89e8f7d3bdd611a11ce7b4
* vim-patch:8.2.4918: conceal character from matchadd() displayed too many timeszeertzjq2022-05-09
| | | | | | Problem: Conceal character from matchadd() displayed too many times. Solution: Check the syntax flag. (closes vim/vim#10381, closes vim/vim#7268) https://github.com/vim/vim/commit/9830db63057db76044eca89cc4cfb2758ae7a543
* vim-patch:8.2.4922: mouse test fails on MS-Windowszeertzjq2022-05-09
| | | | | | Problem: Mouse test fails on MS-Windows. Solution: Set 'mousemodel' to "extend". https://github.com/vim/vim/commit/b370771bffc8395204f53209b69e35dff95a9237
* vim-patch:8.2.4916: mouse in Insert mode test failszeertzjq2022-05-09
| | | | | | | | | Problem: Mouse in Insert mode test fails. Solution: Fix the text and check relevant positions. https://github.com/vim/vim/commit/8e8dc9b32326c6fbd37671b6072296404b481d4a Use nvim_input_mouse() to set mouse position, and discard mouse event using getchar().