aboutsummaryrefslogtreecommitdiff
path: root/src
Commit message (Collapse)AuthorAge
...
| * | build: delete pthreads import (#21732)dundargoc2023-01-24
| | | | | | | | | | | | | | | We shouldn't need this as all threading should already be handled by libuv. Furthermore, it wasn't even used correctly as CMAKE_THREAD_PREFER_PTHREAD has been removed from cmake a long time ago.
| * | fix(api): don't allow hiding aucmd_win from another tabpage (#21975)zeertzjq2023-01-24
| | |
| * | refactor(window): remove aucmd_win check from one_window() (#21972)zeertzjq2023-01-24
| | | | | | | | | | | | | | | | | | | | | | | | | | | In most places where one_window() or last_window() is called, aucmd_win has already been checked, so there is no need to check for it again. The only place where this isn't checked is when using `:wincmd T`. Before this PR using `:wincmd T` in an aucmd_win will give a warning when there is only one non-floating window, but E813 error if there are multiple. Now it consistently gives E813 error.
| * | vim-patch:partial:9.0.1237: code is indented more than necessary (#21971)zeertzjq2023-01-24
| | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: Code is indented more than necessary. Solution: Use an early return where it makes sense. (Yegappan Lakshmanan, closes vim/vim#11858) https://github.com/vim/vim/commit/6ec66660476562e643deceb7c325cd0e8c903663 Co-authored-by: Yegappan Lakshmanan <yegappan@yahoo.com>
| * | vim-patch:9.0.1236: code in same_leader() can be simplified (#21968)zeertzjq2023-01-24
| | | | | | | | | | | | | | | | | | Problem: Code in same_leader() can be simplified. Solution: Simplify code that is executed only once. (closes vim/vim#11867) https://github.com/vim/vim/commit/9cbf791995514e72476399fe06e055a707ec0158
| * | fix: add manifest file to correctly determine Windows version (#21953)dundargoc2023-01-23
| | | | | | | | | | | | | | | | | | | | | | | | | | | In Windows 8.1 and later, GetVersionEx does not automatically give the correct information if a manifest file doesn't explicitly mention we support that version. This will enable further detection for Windows 8.1 and Windows 10/11 when using windowsversion(), with an easy way to add future versions. A list of all operating system versions can be found here: https://learn.microsoft.com/en-us/windows/win32/sysinfo/operating-system-version
| * | feat!: make iconv a non-optional depLewis Russell2023-01-23
| | |
| * | revert: "shada/context: fully remove jumplist duplicates #10898" (#21874)zeertzjq2023-01-23
| | | | | | | | | | | | | | | This reverts commit 8b8ecf44f2cda43bbd710ec22ef99439b71888cd. It is causing performance problems on exit. Fix #21082.
| * | refactor(win_close): remove "force", don't pass on "free_buf" (#21921)zeertzjq2023-01-23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: The "force" flag of win_close() complicates the code and adds edge cases where it is not clear what the correct behavior should be. The "free_buf" flag of win_close() is passed on to float windows when closing the last window of a tabpage, which doesn't make much sense. Solution: Remove the "force" flag and always close float windows as if :close! is used when closing the last window of a tabpage, and set the "free_buf" flag for a float window based on whether its buffer can be freed. As 'hidden' is on by default, this change shouldn't affect many people.
| * | perf(completion): use one call to globpath() for .vim and .lua #21942zeertzjq2023-01-23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Test using the following test script (timings with ASAN): let start = reltime() for i in range(100) call getcompletion('', 'filetype') endfor echomsg reltimefloat(reltime(start)) Without this PR: 3.251825 seconds With this PR: 2.747285 seconds
| * | fix(Windows): restore console title at exit #21922Enan Ajmain2023-01-23
| | | | | | | | | Fixes #21404
| * | build: make generated source files reproducible #21586Arnout Engelen2023-01-23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: Build is not reproducible, because generated source files (.c/.h/) are not deterministic, mostly because Lua pairs() is unordered by design (for security). https://github.com/LuaJIT/LuaJIT/issues/626#issuecomment-707005671 https://www.lua.org/manual/5.1/manual.html#pdf-next > The order in which the indices are enumerated is not specified [...] > >> The hardening of the VM deliberately randomizes string hashes. This in >> turn randomizes the iteration order of tables with string keys. Solution: - Update the code generation scripts to be deterministic. - That is only a partial solution: the exported function (funcs_metadata.generated.h) and ui event (ui_events_metadata.generated.h) metadata have some mpack'ed tables, which are not serialized deterministically. - As a workaround, introduce `PRG_GEN_LUA` cmake setting, so you can inject a modified build of luajit (with LUAJIT_SECURITY_PRN=0) that preserves table order. - Longer-term we should change the mpack'ed data structure so it no longer uses tables keyed by strings. Closes #20124 Co-Authored-By: dundargoc <gocdundar@gmail.com> Co-Authored-By: Arnout Engelen <arnout@bzzt.net>
| * | refactor(PVS/V1048): remove redundant assignment (#21871)Lucas Merritt2023-01-23
| | |
| * | fix(extmarks): problems with folded virtual lines (#21930)luukvbaal2023-01-23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: When a folded line has virtual lines attached, the following problems occur: - The virtual lines are drawn empty. - The 'foldtext' line is drawn empty. - The cursor is drawn incorrectly. Solution: Check whether virtual lines belong to a folded line. Fix #17027 Fix #19557 Fix #21837 Co-authored-by: zeertzjq <zeertzjq@outlook.com>
| * | vim-patch:9.0.1233: search() loops forever if "skip" is TRUE for all matches ↵zeertzjq2023-01-23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (#21956) Problem: search() loops forever if "skip" is TRUE for all matches. Solution: Keep the position of the first match. https://github.com/vim/vim/commit/3d79f0a4309995956bd8889940cca22f7a15881d Co-authored-by: Bram Moolenaar <Bram@vim.org>
| * | vim-patch:9.0.1230: Apache Thrift files are not recognized (#21955)Amaan Qureshi2023-01-23
| | | | | | | | | | | | | | | | | | Problem: Apache thrift files are not recognized. Solution: Add a pattern for thrift files. (Amaan Qureshi, closes vim/vim#11859) https://github.com/vim/vim/commit/f3da4c8427b1b12d7aaffa307ec085ca97ea9ad9
| * | fix: use correct number for INT_MAX (#21951)dundargoc2023-01-23
| | | | | | | | | | | | Actually use INT_MAX rather than a number to prevent these types of situations to begin with.
| * | build: use CMAKE_POSITION_INDEPENDENT_CODE instead of -fPIC (#21947)dundargoc2023-01-22
| | | | | | | | | | | | | | | | | | | | | It's simpler to let cmake figure out what flags to add to each platforms to create position independent code rather than handling it ourselves. Also remove code that sets POSITION_INDEPENDENT_CODE property on SHARED and MODULE libraries, as it's already on by default.
| * | feat(treesitter): show filetype associated with parser (#17633)Matthieu Coudron2023-01-22
| | | | | | | | | to ease debug. At one point I had an empty filetype and the current message was not helpful enough
| * | vim-patch:9.0.1229: Cap'n Proto files are not recognized (#21950)Amaan Qureshi2023-01-22
| | | | | | | | | | | | | | | | | | | | | Problem: Cap'n Proto files are not recognized. Solution: Add a pattern and the "capnp" filetype. (Amaan Qureshi, closes vim/vim#11862) https://github.com/vim/vim/commit/040e795e8da05ff38cc896528d4dcad100f0b584
| * | vim-patch:9.0.1228: fuzzy menu completion is only tested in the GUI (#21948)zeertzjq2023-01-22
| | | | | | | | | | | | | | | | | | | | | Problem: Fuzzy menu completion is only tested in the GUI. Solution: Make fuzzy menu completion test work without GUI. (closes vim/vim#11861) https://github.com/vim/vim/commit/145a6afe3a4be54689af5233710c85346ba1e5da
| * | fix(completion): include lua syntaxes in :ownsyntax completion (#21941)zeertzjq2023-01-22
| | | | | | | | | | | | This just removes DIP_LUA and always executes its branches. Also add tests for cmdline completion for other lua runtime files.
| * | vim-patch:9.0.1225: reading past the end of a line when formatting text (#21937)zeertzjq2023-01-22
| | | | | | | | | | | | | | | | | | | | | | | | Problem: Reading past the end of a line when formatting text. Solution: Check for not going over the end of the line. https://github.com/vim/vim/commit/11977f917506d950b7e0cae558bd9189260b253b Co-authored-by: Bram Moolenaar <Bram@vim.org>
| * | vim-patch:8.2.0382: some tests fail when run under valgrind (#21936)zeertzjq2023-01-21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: Some tests fail when run under valgrind. Solution: Increase timeouts. https://github.com/vim/vim/commit/353c351bd22e4dac4c3ae9cd7731032348f248c4 Cherry-pick Test_pum_with_preview_win() from patch 8.2.0011. Co-authored-by: Bram Moolenaar <Bram@vim.org>
| * | fix(remote): don't leak memory on failure to connect to server (#21931)zeertzjq2023-01-21
| | | | | | | | | Also fix the race between output and resize in the test for this.
| * | build: bump MSVC warning to level two (#21890)dundargoc2023-01-21
| | |
| * | refactor: use uint8_t for blobs and ga_append() (#21916)zeertzjq2023-01-21
| | | | | | | | | | | | | | | | | | A blob is used as a sequence of bytes and usually accessed individually, not as as a NUL-terminuated string, so uint8_t should be better. Not sure about ga_append(), but using uint8_t leads to fewer casts.
| * | refactor: change char_u to uint8_t or char in sha256.c/undo.c (#21914)zeertzjq2023-01-21
| | | | | | | | | Use uint8_t for bytes in hashes as it doesn't make sense for them to be signed.
| * | vim-patch:9.0.1223: cannot use setcellwidths() below 0x100 (#21929)zeertzjq2023-01-21
| | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: Cannot use setcellwidths() below 0x100. Solution: Also accept characters between 0x80 and 0x100. (Ken Takata, closes vim/vim#11834) https://github.com/vim/vim/commit/7193323b7796c05573f3aa89d422e848feb3a8dc Co-authored-by: K.Takata <kentkt@csc.jp>
| * | vim-patch:9.0.0358: 'breakindent' does not indent non-lists (#21913)zeertzjq2023-01-20
| | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: 'breakindent' does not indent non-lists with "breakindentopt=list:-1". Solution: Adjust indent computation. (Maxim Kim, closes vim/vim#11038) https://github.com/vim/vim/commit/119167265ebc7eced210a7f8ed2f4b90378f98f1 Co-authored-by: Maxim Kim <habamax@gmail.com>
| * | perf(statuscolumn): only fill click defs array once per redraw (#21884)luukvbaal2023-01-20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: 'statuscolumn' click definitions are cleared, evaluated, allocated and filled each redraw for every row in a window. This despite the fact that we only store a single click definition array for the entire column as opposed to one for each row. Solution: Only fill the 'statuscolumn' click definition array once per window per redraw. Resolve https://github.com/neovim/neovim/issues/21767.
| * | refactor(highlight_group.c): reduce scope of localsLewis Russell2023-01-19
| | |
| * | refactor: replace char_u with char 25 (#21838)dundargoc2023-01-19
| | | | | | | | | | | | | | | refactor: replace char_u with char Work on https://github.com/neovim/neovim/issues/459
| * | fix(rpc): don't parse msgpack if buflen is 0 (#21899)zeertzjq2023-01-19
| | | | | | | | | | | | This prevents `buflen` from becoming a very large number when it is 0 when calling mpack_rtoken().
| * | fix: pass value instead of pointer to isalpha (#21898)dundargoc2023-01-19
| | |
| * | vim-patch:8.2.4655: cmdline completion popup menu positioned wrong (#21894)zeertzjq2023-01-19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: Command line completion popup menu positioned wrong when using a terminal window. Solution: Position the popup menu differently when editing the command line. (Yegappan Lakshmanan, closes vim/vim#10050, closes vim/vim#10035) https://github.com/vim/vim/commit/1104a6d0c2004d39e9b6cb8f804d12b628a69869 The test in the patch looks a bit hard to understand. Add a Lua test that is more straightforward. Co-authored-by: Yegappan Lakshmanan <yegappan@yahoo.com>
| * | refactor(eval.c): factor out get_number_tv() (#21893)zeertzjq2023-01-19
| | | | | | | | | It was refactored into a separate function in Vim in patch 8.2.0149.
| * | fix(statusline): don't leak memory with truncated click labelszeertzjq2023-01-19
| | |
| * | fix(statusline): don't leak memory with zero-width click labelszeertzjq2023-01-19
| | | | | | | | | | | | | | | A zero-width click label isn't assigned to any click definition, so its function name should be freed when filling click definitions.
| * | vim-patch:9.0.1221: code is indented more than necessary (#21891)zeertzjq2023-01-19
| | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: Code is indented more than necessary. Solution: Use an early return where it makes sense. (Yegappan Lakshmanan, closes vim/vim#11833) https://github.com/vim/vim/commit/f97a295ccaa9803367f3714cdefce4e2283c771d Co-authored-by: Yegappan Lakshmanan <yegappan@yahoo.com>
| * | vim-patch:8.2.1698: cannot lock a variable in legacy Vim script like in Vim9 ↵zeertzjq2023-01-19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (#21883) Problem: Cannot lock a variable in legacy Vim script like in Vim9. Solution: Make ":lockvar 0" work. https://github.com/vim/vim/commit/a187c43cfe8863d48b2159d695fedcb71f8525c1 Co-authored-by: Bram Moolenaar <Bram@vim.org>
| * | ci: enable CI_BUILD on windows (#21557)dundargoc2023-01-18
| | | | | | | | | | | | | | | | | | | | | | | | This will ensure warnings are treated as errors when using MSVC. Also fix const correctness warnings. The warnings in mbyte.c are false positives that triggers this warning on MSVC v19.32 and lower, which our CI still use. The (void *) casts can be removed once the CI MSVC version has been upgraded to v19.33 or higher.
| * | Merge pull request #21881 from bfredl/uniterrorbfredl2023-01-18
| |\ \ | | | | | | | | fix(unittests): do not consider process crash to be a success
| | * | fix(unittests): fix TUI broken test previously ignoredbfredl2023-01-18
| | | |
| * | | refactor: replace char_u with char 24 (#21823)dundargoc2023-01-18
| | | | | | | | | | | | | | | | | | | | refactor: replace char_u with char Work on https://github.com/neovim/neovim/issues/459
| * | | refactor: replace char_u with char 23 (#21798)dundargoc2023-01-18
| | | | | | | | | | | | Work on https://github.com/neovim/neovim/issues/459
| * | | fix(statuscolumn): always fill click defs array (#21878)zeertzjq2023-01-18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Click definitions are always filled for tabline, statusline and winbar, so they should also be always filled for statuscolumn, otherwise it will leak memory. Note: this doesn't actually change the existing code much, because of a typo in the existing code.
| * | | vim-patch:9.0.0149: test for fuzzy completion fails sometimes (#21876)zeertzjq2023-01-18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: Test for fuzzy completion fails sometimes. Solution: Use a more specific file name to minimize the chance of matching a random directory name. (closes vim/vim#10854) https://github.com/vim/vim/commit/5ac4b1a24e3ba52698a0d24b22cdd2e1c7895417 Co-authored-by: Bram Moolenaar <Bram@vim.org>
| * | | refactor(PVS): suppress false positive V547 in drawline.c (#21875)Lucas Merritt2023-01-18
| | | | | | | | | | | | | | | | | | | | | | | | This is a false positive as "did_emsg" can be set by get_syntax_attr() Example: get_syntax_attr() -> syn_current_attr() -> syn_getcurline() -> ml_get_buf() -> siemsg() -> semsgv() -> emsg() -> emsg_multiline()
| * | | vim-patch:9.0.1213: adding a line below the last one does not expand fold ↵zeertzjq2023-01-18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (#21869) Problem: Adding a line below the last one does not expand fold. Solution: Do not skip mark_adjust() when adding lines below the last one. (Brandon Simmons, closes vim/vim#11832, closes vim/vim#10698) https://github.com/vim/vim/commit/da3dd7d857ba4fb4bf408dedd1d9d6a2d5e2ae9f Co-authored-by: Brandon Simmons <simmsbra@gmail.com>