| Commit message (Collapse) | Author | Age |
... | |
|\
| |
| | |
build: remove EXITFREE for debug builds
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
When EXITFREE is defined, uv handles are not closed on exit in order to
better detect memory leaks. However the cost of this is that by not
closing the handles there can be lag when exiting nvim.
This change removes EXITFREE from debug builds in order to avoid this
exit lag for regular debug builders who are not running ASAN.
|
|/
|
|
|
| |
Problem: PoE filter files are not recognized.
Solution: Add a pattern to detect PoE filter files. (closes vim/vim#11305)
https://github.com/vim/vim/commit/b7f52f5659c68b61ccc645ef866f8fd82361cd26
|
|
|
| |
Not doing anything is better than hanging.
|
| |
|
|
|
| |
And remove unnecessary unsigned casts in fold marker comparison.
|
| |
|
|
|
|
|
|
|
| |
Problem: Using exclamation marks on :function.
Solution: Use :func and :endfunc as usual.
https://github.com/vim/vim/commit/97f0eb169bf805c372b13c6bc9a03da2e75e3354
Add a missing change from patch 8.1.1875.
|
|
|
|
|
|
|
| |
Problem: Spacing-combining characters handled as composing, causing text to
take more space than expected.
Solution: Handle characters marked with "Mc" not as composing.
(closes vim/vim#11282
https://github.com/vim/vim/commit/7beaf6a720ddc7e2989c8831872bfb98ec78a65d
|
|
|
|
|
|
| |
Problem: No space for command line when there is a tabline.
Solution: Correct computation of where the command line should be.
(closes vim/vim#11295)
https://github.com/vim/vim/commit/c9f5f73206272ccad0aa536854debc5f9781978a
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Problem: Too many #ifdefs.
Solution: Graduate the +cmdwin feature. Now the tiny and small builds are
equal, drop the small build. (Martin Tournoij, closes vim/vim#11268)
https://github.com/vim/vim/commit/7904fa420eb577274c4c3711295240100167d495
Accidentally forgot to mark as ported:
vim-patch:9.0.0471: no test for what patch 9.0.0469 fixes
Problem: No test for what patch 9.0.0469 fixes.
Solution: Add a test. (closes vim/vim#11140)
https://github.com/vim/vim/commit/12167d8b84c4a99751d9928f1a9a59c90b14931f
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
vim-patch:9.0.0445: when opening/closing window text moves up/down
Problem: When opening/closing window text moves up/down.
Solution: Add the 'splitscroll' option. When off text will keep its
position as much as possible.
https://github.com/vim/vim/commit/29ab524358ba429bcf6811710afc97a978641f0b
vim-patch:9.0.0455: a few problems with 'splitscroll'
Problem: A few problems with 'splitscroll'.
Solution: Fix 'splitscroll' problems. (Luuk van Baal, closes vim/vim#11117)
https://github.com/vim/vim/commit/5ed391708a62b4ebaa84dd23e32a416e5c3383d9
vim-patch:9.0.0461: 'scroll' is not always updated
Problem: 'scroll' is not always updated.
Solution: Call win_init_size() at the right place.
https://github.com/vim/vim/commit/470a14140bc06f1653edf26ab0b3c9b801080353
vim-patch:9.0.0465: cursor moves when cmdwin is closed when 'splitscroll' is off
Problem: Cursor moves when cmdwin is closed when 'splitscroll' is off.
Solution: Temporarily set 'splitscroll' when jumping back to the original
window. (closes vim/vim#11128)
https://github.com/vim/vim/commit/e697d488901b6321ddaad68b553f0a434c97d849
vim-patch:9.0.0469: cursor moves if cmdwin is closed when 'splitscroll' is off
Problem: Cursor moves if cmdwin is closed when 'splitscroll' is off.
Solution: Skip win_fix_cursor if called when cmdwin is open or closing.
(Luuk van Baal, closes vim/vim#11134)
https://github.com/vim/vim/commit/3735f11050616652525bf80b4fbcb2b3bfeab113
vim-patch:9.0.0478: test for 'splitscroll' takes too much time
Problem: Test for 'splitscroll' takes too much time.
Solution: Only test some of the combinations. (Luuk van Baal, closes vim/vim#11139)
https://github.com/vim/vim/commit/594f9e09cd68e6277b8aa08094405bc642c5792a
vim-patch:9.0.0486: text scrolled with 'nosplitscroll', autocmd win and help
Problem: Text scrolled with 'nosplitscroll', autocmd win opened and help
window closed.
Solution: Skip win_fix_scroll() in more situations. (Luuk van Baal,
closes vim/vim#11150)
https://github.com/vim/vim/commit/d5bc762dea1fd32fa04342f8149f95ccfc3b9709
vim-patch:9.0.0505: various problems with 'nosplitscroll'
Problem: Various problems with 'nosplitscroll'.
Solution: Fix 'nosplitscroll' problems. (Luuk van Baal, closes vim/vim#11166)
https://github.com/vim/vim/commit/faf1d412f5e3665021500b528c0e7301eb02bf0b
vim-patch:9.0.0555: scrolling with 'nosplitscroll' in callback changing curwin
Problem: Scrolling with 'nosplitscroll' in callback changing curwin.
Solution: Invalidate w_cline_row in the right place. (Luuk van Baal,
closes vim/vim#11185)
https://github.com/vim/vim/commit/20e58561abc4116f3bfbafaef242d886dd77b303
vim-patch:9.0.0603: with 'nosplitscroll' folds are not handled correctly
Problem: With 'nosplitscroll' folds are not handled correctly.
Solution: Take care of closed folds when moving the cursor. (Luuk van Baal,
closes vim/vim#11234)
https://github.com/vim/vim/commit/7c1cbb6cd437c6e0c3ccc05840cc931108b4a60a
vim-patch:9.0.0605: dump file missing
Problem: Dump file missing.
Solution: Add the missing dump file. (issue vim/vim#11234)
https://github.com/vim/vim/commit/439a2ba1749463718b6ce1e1375b68c7b7cff808
vim-patch:9.0.0647: the 'splitscroll' option is not a good name
Problem: The 'splitscroll' option is not a good name.
Solution: Rename 'splitscroll' to 'splitkeep' and make it a string option,
also supporting "topline". (Luuk van Baal, closes vim/vim#11258)
https://github.com/vim/vim/commit/13ece2ae1d09009d3fb8acf858c288e7848ecdac
vim-patch:9.0.0667: ml_get error when 'splitkeep' is "screen"
Problem: ml_get error when 'splitkeep' is "screen". (Marius Gedminas)
Solution: Check the botline is not too large. (Luuk van Baal,
closes vim/vim#11293, closes vim/vim#11292)
https://github.com/vim/vim/commit/346823d3e5668b99d2c2fd920e7f215e21ad3ea7
|
|
|
|
|
| |
Problem: Not enough testing of the :all command.
Solution: Add more testing. (Yegappan Lakshmanan, closes vim/vim#11091)
https://github.com/vim/vim/commit/0dc2fd307ffc223cf010d1fdea6e3d5c4524d43c
|
|
|
|
|
|
|
|
| |
resized (#20500)
Problem: Setting 'cmdheight' has no effect if last window was resized.
Solution: Do apply 'cmdheight' when told to. Use the frame height instead
of the cmdline_row. (closes vim/vim#11286)
https://github.com/vim/vim/commit/0816f473ab2f6cf7d8311c0f97371cada7f20d18
|
|\
| |
| | |
screen: refactor old curwin-heavy logic and graduate "msgsep" feature
|
| | |
|
| |
| |
| |
| |
| |
| |
| | |
The old behaviour (e.g. via `set display-=msgsep`) will not be available.
Assuming that messages always are being drawn on msg_grid
(or not drawn at all, and forwarded to `ext_messages` enabled UI)
will allows some simplifcations and enhancements moving forward.
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This was used in the past with assumption that curwin/curbuf
is "special" but this has not been true since basically forever
at this point.
Reduce NOT_VALID/CLEAR panic in options.lua . These should not
be set if an effect of the option is causing something
which by itself invokes redraw_later().
|
| |
| |
| |
| |
| |
| |
| | |
Problem: The do_arg_all() function is too long.
Solution: Split the function in smaller parts. (Yegappan Lakshmanan,
closes vim/vim#11062)
https://github.com/vim/vim/commit/8894761daf68220504932c8b3e75f59138cdb617
|
| |
| |
| |
| |
| |
| | |
Problem: Can define autocmd for every event by using "au!".
Solution: Check if a command is present also for "au!".
https://github.com/vim/vim/commit/b6db1467622be046dbf00b2213fd9f49f4f3cccb
|
| |
| |
| |
| |
| |
| | |
Problem: Arglist test fails.
Solution: Adjust for locking the arglist for ":all".
https://github.com/vim/vim/commit/679140c56bbabf12a199d94f584b1b9dfc9809fd
|
| |
| |
| |
| |
| |
| | |
Problem: Crash when clearing the argument list while using it.
Solution: Lock the argument list for ":all".
https://github.com/vim/vim/commit/6f98371532fcff911b462d51bc64f2ce8a6ae682
|
| |
| |
| |
| |
| |
| |
| | |
Problem: Using :arglocal in an autocommand may use freed memory.
(houyunsong)
Solution: Check if the arglist is locked.
https://github.com/vim/vim/commit/6bcb877ec19a647443195a54eeac60cb693fd827
|
| |
| |
| |
| |
| |
| | |
Problem: Double free when using autocommand with "argdel". (Houyunsong)
Solution: Add the arglist_locked flag.
https://github.com/vim/vim/commit/5ed58c7b700fcb9fd03c418300145b616f4bdcdd
|
|/
|
|
|
|
|
|
| |
Problem: Crash when using :all while using a cmdline window. (Zdenek Dohnal)
Solution: Disallow :all from the cmdline window.
https://github.com/vim/vim/commit/bb4b93ed85726c3921596ca267f531c8c94d819a
Use test from lastest Vim instead.
|
|
|
|
|
|
|
| |
Problem: Multi-byte "lastline" item in 'fillchars' does not work properly
when the window is two columns wide.
Solution: Compute the text length correctly. (closes vim/vim#11280)
https://github.com/vim/vim/commit/18b3500b8c517e44c23197e558aa36aed1c6916c
|
|
|
|
|
|
|
|
|
|
| |
Problem: Cannot specify another character to use instead of '@' at the end
of the window.
Solution: Add "lastline" to 'fillchars'. (Martin Tournoij, closes vim/vim#11264,
closes vim/vim#10963)
https://github.com/vim/vim/commit/4ba5f1dab656103e8f4a4505452d1816b9e83c1e
Use latest code in drawscreen.c instead.
|
| |
|
|
|
|
|
|
| |
Problem: Vim9: cannot list a lambda function.
Solution: Support the <lambda>9 notation, like :disassemble. (closes vim/vim#7634)
https://github.com/vim/vim/commit/b657198cb30765468451d7f68fce49b5b4000c5d
|
|\ |
|
| |
| |
| |
| |
| | |
The commands run in cmake script mode (-P) can simply be run in the main
cmake run instead.
|
| | |
|
|/
|
|
|
|
|
|
|
|
|
| |
Some tools like clang-tidy get confused and repeat unnecessary work if
there are multiple entries with the same name.
This will only generate a compilation database for cmake version 3.20
and above. Generating a compilation database is only necessary for
development, so we don't need to maintain compatibility with the minimum
required version.
Closes https://github.com/neovim/neovim/issues/10632
|
| |
|
|
|
|
|
|
|
| |
Problem: matchaddpos() can get slow when adding many matches.
Solution: Update the next available match ID when manually picking an ID and
remove check if the available ID can be used. (idea by Rick Howe)
https://github.com/vim/vim/commit/9f573a8df02d9f699a43d2afbd1d2841d700b9ad
|
|
|
|
|
|
| |
Problem: matchaddpos() can only add up to 8 matches.
Solution: Allocate the array of positions. (closes vim/vim#11248)
https://github.com/vim/vim/commit/50faf02f43d7f1a56ec2023028fca7c72dbce83e
|
|\
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Reverts #16271
Fixs #15913
Problem:
Since #16271, `make_filter_cmd` uses `Start-Process` cmdlet to execute the user
provided shell command for `:%!`. `Start-Process` requires the command to be
split into the shell command and its arguments. This was implemented in #19268
by parsing (splitting the user-provided command at the first space) which didn't
handle cases such as --
- commands with escaped space in their filepath
- quoted commands with space in their filepath
Solution: Use piping.
The total shell command formats (excluding noise of unimportant parameters):
1. Before #16271
```powershell
pwsh -C "(shell_cmd) < tmp.in | 2>&1 Out-File -Encoding UTF8 <tmp.out>"
# not how powershell commands work
```
2. Since #16271
```powershell
pwsh -C "Start-Process shell_cmd -RedirectStandardInput <tmp.in> -RedirectStandardOutput <tmp.out>"
# doesn't handle executable path with space in it
# doesn't write error to <tmp.out>
```
3. This PR
```powershell
pwsh -C "& { Get-Content <tmp.in> | & 'path\with space\to\shell_cmd.exe' arg1 arg2 } 2>&1 | Out-File -Encoding UTF8 <tmp.out>"
# also works with forward slash in the filepath
# also works with double quotes around shell command
```
After this PR, the user can use the following formats:
:%!c:\Program` Files\Git\usr\bin\sort.exe
:%!'c:\Program Files\Git\usr\bin\sort.exe'
:%!"c:\Program Files\Git\usr\bin\sort.exe"
:%!"c:\Program` Files\Git\usr\bin\sort.exe"
They can even chain different commands:
:%!"c:\Program` Files\Git\usr\bin\sort.exe" | sort.exe -r
But if they want to call a stringed executable path, they have to provide the
Invoke-Command operator (&). In fact, the first stringed executable path also
needs this & operator, but this PR adds that behind the scene.
:%!"c:\Program` Files\Git\usr\bin\sort.exe" | sort.exe -r | & 'c:\Program Files\Git\usr\bin\sort.exe'
## What this PR solves
- Having to parse the user-provided bang ex-command (for splitting into shell
cmd and its args).
- Removes a lot of human-unreadable `#ifdef` blocks.
- Accepting escaped spaces in executable path.
- Accepting quoted string of executable path.
- Redirects error and exception to tmp.out (exception for when `wrong_cmd.exe
not found`)
## What this PR doesn't solve
- Handling wrongly escaped path to executable, which the user may pass because
of cmdline tab-completion. #18592
## Edge cases
- (Not handled) If the user themself provides the `&` sign (means `call
this.exe` in powershell)
- (Not handled) Use `-Encoding utf8` parameter for `Get-Content`?
- (Handled) Doesn't write to tmp.out if shell command is not found.
- fix: use anonymous function (`{wrong_cmd.exe}`).
## Changes other than `make_filter_cmd()` function
- Encoding for piping to external executables. See BOM-less UTF8:
https://github.com/PowerShell/PowerShell/issues/4681
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Problem:
If the shell command passed to the filtered bang command isn't found,
the error isn't redirected to the temp.out file when shell is set to
powershell.
Solution: Use anonymous function with Invoke-Command operator (&).
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Problem:
`Start-Process` requires the command to be split into the shell
command and its arguments. Previously it was done by parsing, which
didn't handle cases such as
- commands with escaped space in their filepath
- quoted commands with space in their filepath
Solution:
Use
- `pwsh -Command` instead of `Start-Process`
- `Get-Content` instead of `-RedirectStandardInput`
- `Out-File` instead of `-RedirectStandardOutput`
|
| |
| |
| |
| |
| |
| |
| |
| | |
Problem: Highlight of char beyond line end is not correct. (Chuan Wei Foo)
Solution: Fix counting NUL as one cell. Draw one more character if the EOL
is part of the match. (closes vim/vim#7883)
https://github.com/vim/vim/commit/41f0895c6e3c7b921e3c102ad42be52b1be48018
Reorder test_search.vim to match Vim.
|
|/
|
|
|
| |
- fix regression by #20411
- `diff.exe` is required for non-default 'diffopt' (diffopt=filler, diffopt=context, …)
- the names of some required nvim-qt DLLs changed
|
|
|
|
|
| |
- update curl.exe (+ ca bundle), tee.exe, xxd.exe
- remove diff.exe because `diffopt=internal` is now the default
- update neovim-qt
|
| |
|
|\
| |
| | |
fix(extmarks): make virt_lines always start at 0 virtcol
|
| | |
|
|\ \
| | |
| | | |
fix(api)!: nvim_parse_cmd omit "count" "range" "reg" if not supported
|
| | | |
|
| | |
| | |
| | |
| | |
| | | |
Co-authored-by: Raphael <glephunter@gmail.com>
Co-authored-by: smjonas <jonas.strittmatter@gmx.de>
Co-authored-by: zeertzjq <zeertzjq@outlook.com>
|
|/ /
| |
| |
| |
| | |
Allows `nvim_cmd` to use the first argument as count for applicable
commands. Also adds support for non-String arguments to `nvim_cmd`.
|