Javier Lopez
a490db5ba8
refactor!: rename nvim_do_autocmd to nvim_exec_autocmd ( #17854 )
...
according to established code standards (`:h dev-api`)
2022-03-26 15:34:56 +01:00
zeertzjq
111dd6c322
Merge pull request #17869 from dundargoc/vim-8.2.3943
...
vim-patch:8.2.3943: compiler warning from gcc for uninitialized variable
2022-03-26 22:27:03 +08:00
かわえもん
85821d8b6f
docs(api): fix wrong documentation of nvim_create_autocmd ( #17870 )
...
also add doc changes from typofix PR
2022-03-26 13:21:32 +01:00
Dundar Göc
82304038a2
vim-patch:8.2.3943: compiler warning from gcc for uninitialized variable
...
Problem: Compiler warning from gcc for uninitialized variable.
Solution: Initialize variable. (closes vim/vim#9429 )
491669701c
2022-03-26 12:12:03 +01:00
zeertzjq
fb5587d2be
Merge pull request #17839 from zeertzjq/vim-8.2.4281
...
vim-patch:8.2.{4281,4327}: fix two crashes with quickfix and wiping buffer
2022-03-26 12:59:34 +08:00
zeertzjq
a70b39965b
fix(tui): avoid using uninitialized memory in kitty ( #17866 )
2022-03-26 10:48:31 +08:00
zeertzjq
d8b4f3e3b8
vim-patch:8.2.4327: may end up with no current buffer
...
Problem: May end up with no current buffer.
Solution: When deleting the current buffer to not pick a quickfix buffer as
the new current buffer.
e3537aec2f
The test cannot be ported as-is because Nvim doesn't support "-Z"
command line argument. Just use only "--clean" instead.
2022-03-26 09:51:59 +08:00
zeertzjq
19bbc43947
vim-patch:8.2.4281: using freed memory with :lopen and :bwipe
...
Problem: Using freed memory with :lopen and :bwipe.
Solution: Do not use a wiped out buffer.
9b4a80a665
Cherry-pick some indent changes from patch 8.2.1432.
2022-03-26 09:02:42 +08:00
zeertzjq
9530c2d6d8
vim-patch:8.2.4626: Visual area not updated when removing sign in Visual mode ( #17864 )
...
Problem: Visual area not fully updated when removing sign in Visual mode
while scrolling.
Solution: Adjust check for topline. (closes vim/vim#10017 )
abb6fbd14d
2022-03-26 08:52:54 +08:00
zeertzjq
c2378be3dd
vim-patch:8.2.3453: autocmd not executed when editing a directory ( #17846 )
...
Problem: Autocmd not executed when editing a directory ending in a path
separator inside try block.
Solution: Return NOTDONE instead of FAIL. (closes vim/vim#8885 )
40fa12aea3
2022-03-26 08:27:29 +08:00
dundargoc
876d22fca9
fix(clang/'Dead store'): do not assign endcol ( #17788 )
2022-03-25 18:02:42 -06:00
dundargoc
61205c1def
chore: fix typos ( #17755 )
...
Co-authored-by: Jordan Haine <jhaine@securitycompass.com >
2022-03-25 19:57:59 +01:00
Javier Lopez
174deafcef
docs(api): improve autocommand docs ( #17545 )
...
[skip ci]
2022-03-25 19:24:53 +01:00
Gregory Anders
b81c310d49
fix(tui): correct CSI sequence ( #17844 )
...
Follow up to #17771 . The sequence `CSI > 4 ; 1 m` does not enable
distinguishing all available keys; notably, it excludes `<Tab>`. Using
`CSI > 4 ; 2 m` tells the terminal to disambiguate *all* keys, which is
much more useful.
The meaning of the final parameter is documented [here][1].
[1]: https://invisible-island.net/xterm/manpage/xterm.html#VT100-Widget-Resources:modifyOtherKeys
2022-03-24 13:11:04 -06:00
bfredl
39af40580a
Merge pull request #17809 from dundargoc/PVS/V1019
...
fix(PVS/V1019): compound assignment expression is used inside condition
2022-03-24 18:37:23 +01:00
Dundar Göc
93e0d9b556
fix(PVS/V1019): compound assignment expression is used inside condition
2022-03-24 17:57:36 +01:00
Gregory Anders
a11ff55555
feat(tui): enable CSI u keys
...
On TUI startup write the CSI sequence that signals to the controlling
terminal that Neovim supports the CSI u scheme for encoding modifiers
documented in [1].
This is similar to, but distinct from, Vim's usage of the `t_TI` and
`t_TE` variables to handle Xterm's `modifyOtherKeys` setting. For a
longer explanation on those differences see [2]. Since Neovim uses
libtermkey for key input handling, we use the CSI u encoding rather than
Xterm's modifyOtherKeys encoding.
[1]: http://www.leonerd.org.uk/hacks/fixterms/
[2]: https://invisible-island.net/xterm/modified-keys.html
2022-03-24 07:13:49 -06:00
zeertzjq
3b28bd57f9
Merge pull request #17821 from zeertzjq/vim-patch-cursorline
...
vim-patch:8.2.{4591,4614}: cursorline redrawing
2022-03-24 20:28:46 +08:00
bfredl
1194856b31
Merge pull request #17740 from dundargoc/doxygen/memline
...
refactor(memline): convert function comments to doxygen format
2022-03-24 13:15:20 +01:00
zeertzjq
4a11c7e56f
chore(nvim_paste): assert the correct String ( #17752 )
2022-03-24 19:40:00 +08:00
dundargoc
534f5a419d
refactor: convert function comments to doxygen format ( #17710 )
2022-03-24 12:17:21 +01:00
Lewis Russell
fcd57980f9
chore: add additional compiler flags ( #17815 )
...
Added:
- -Wdouble-promotion
- -Wmissing-noreturn
- -Wmissing-format-attribute
- -Wsuggest-attribute={pure,const,malloc,cold}
Resolves : #343
2022-03-24 12:14:04 +01:00
Dundar Göc
8b7f818ee7
refactor(memline): convert function comments to doxygen format
2022-03-24 11:19:15 +01:00
bfredl
ed88ca7503
feat(input): enable <tab>/<c-i>, <cr>/<c-m>, <esc>/<c-[> pairs unconditionally
2022-03-24 11:02:39 +01:00
zeertzjq
d7488bf386
feat(input)!: delay some conversions to vgetc()
2022-03-24 11:02:39 +01:00
zeertzjq
c29a14d1fa
perf(screen): reduce cursorline redrawing when jumping around
...
vim-patch:8.2.4614: redrawing too much when 'cursorline' is set
Problem: Redrawing too much when 'cursorline' is set and jumping around.
Solution: Rely on win_update() to redraw the current and previous cursor
line, do not mark lines as modified. (closes vim/vim#9996 )
c20e46a4e3
This doesn't match the patch exactly, because I missed some lines when
porting patch 8.1.2029, and these lines were removed in this patch.
This also makes win_update() always update for 'concealcursor' like how
it always updates for 'cursorline', as 'cursorline' and 'concealcursor'
redrawing logic has been unified in Nvim.
As redrawing for 'cursorline' now always only requires VALID redraw
type, it is no longer necessary to call redraw_for_cursorline() in
nvim_win_set_cursor().
2022-03-24 16:08:59 +08:00
zeertzjq
3e9b4e917d
vim-patch:8.2.4591: cursor line not updated when a callback moves the cursor
...
Problem: Cursor line not updated when a callback moves the cursor.
Solution: Check if the cursor moved. (closes vim/vim#9970 )
e7a74d5375
redraw_after_callback() is N/A. Nvim handles timers on the main loop.
2022-03-24 16:08:59 +08:00
zeertzjq
a72f338d76
fix(float): do not switch window before deleting last listed buffer ( #17840 )
...
Just allow close_windows() to close the current window instead.
This fixes wrong working directory or autocommands not being triggered.
2022-03-24 14:53:20 +08:00
zeertzjq
ff82b2785f
fix(float): don't always switch window when deleting last listed buffer ( #17836 )
2022-03-24 11:56:22 +08:00
dundargoc
d3af109d10
fix(PVS/V560): ignore false "conditional expression is always false" ( #17830 )
...
"'qi' points to the global variable 'ql_info' or the window local location list stack 'wp->w_llist'. The contents of these structures can be changed out-of-band by an autocmd."
https://github.com/vim/vim/pull/9993#issuecomment-1076544168
2022-03-24 06:25:20 +08:00
zeertzjq
06131370a4
refactor(memline.c): make swapfile_unchanged() return bool ( #17827 )
...
vim-patch:8.2.4613: return type of swapfile_unchanged() is wrong
Problem: Return type of swapfile_unchanged() is wrong.
Solution: Use "int". (closes vim/vim#10000 Yeah!)
3c5999e53d
2022-03-23 22:33:34 +08:00
zeertzjq
52fe8eae07
fix(screen): do not update syntax_last_parsed when drawing folded line ( #17826 )
2022-03-23 20:23:41 +08:00
zeertzjq
f5a3edb0c0
refactor: remove cpo-& behavior ( #17745 )
...
cpo-& has been removed, but its behavior was accidentally made the
default behavior. That should be removed instead.
2022-03-23 19:52:50 +08:00
zeertzjq
a9359dca37
fix(float): make laststatus=1 behave consistently with floating windows
2022-03-23 09:07:21 +08:00
zeertzjq
3fdb7b528d
fix(float): handle buffer deletion with floating windows
2022-03-23 09:07:21 +08:00
zeertzjq
3539456f49
fix(win_close): count the window the be closed instead of curwin
2022-03-23 09:07:21 +08:00
zeertzjq
89712dcbf8
fix(aucmd_win): always make aucmd_win the last window
2022-03-23 09:07:21 +08:00
zeertzjq
7735163652
fix(screen): do not do syntax highlighting at filler or folded lines ( #17818 )
2022-03-23 07:07:34 +08:00
zeertzjq
159111f9a5
refactor(ui_refresh): only save/restore p_lz if calling screen_resize() ( #17794 )
2022-03-23 06:34:45 +08:00
Lewis Russell
7863e6b709
vim-patch:8.2.1078: highlight and match functionality together in one file ( #17805 )
...
Problem: Highlight and match functionality together in one file.
Solution: Move match functionality to a separate file. (Yegappan Lakshmanan,
closes vim/vim#6352 )
06cf97e714
2022-03-23 06:31:50 +08:00
Lewis Russell
f63a52a0db
vim-patch:8.1.1608: the evalfunc.c file is too big ( #17807 )
...
Problem: The evalfunc.c file is too big.
Solution: Move sign functionality to sign.c.
b60d8514b8
2022-03-23 06:31:06 +08:00
dundargoc
e9b53f3fb5
fix(PVS/V583): the '?:' operator always returns one and the same value ( #17790 )
2022-03-20 17:25:03 -06:00
Lewis Russell
087a9603d0
vim-patch:8.1.1743: 'hlsearch' and match highlighting in the wrong place
...
Problem: 'hlsearch' and match highlighting in the wrong place.
Solution: Move highlighting from inside screen functions to highlight.c.
bbca7732e8
2022-03-20 22:01:56 +00:00
Lewis Russell
3c62a3f9dd
vim-patch:8.1.1742: still some match functions in evalfunc.c
...
Problem: Still some match functions in evalfunc.c.
Solution: Move them to highlight.c.
7dfb016d25
2022-03-20 22:01:56 +00:00
Lewis Russell
6566a4bdbd
vim-patch:8.1.1734: the evalfunc.c file is too big
...
Problem: The evalfunc.c file is too big.
Solution: Move some functions to other files.
29b7d7a9aa
2022-03-20 22:01:56 +00:00
bfredl
6eca9b69c4
feat(ui): allow conceal to be defined in decorations
...
Unlike syntax conceal, change highlight of concealed char
Can be used in tree-sitter using "conceal" metadata.
2022-03-20 18:02:41 +01:00
James McCoy
463738938d
Merge pull request #17785 from muniter/jl-fix-doxygen-destroyer
...
docs: properly escape to avoid doxygen weirdness
2022-03-20 10:35:27 -04:00
zeertzjq
54f15a9e47
Merge pull request #17772 from zeertzjq/vim-8.2.2716
...
vim-patch:8.2.{2716,4546}: the equivalent class regexp is missing some characters
2022-03-20 12:31:11 +08:00
Gregory Anders
be35d3c5ad
feat(api): remove Lua autocommand callbacks when they return true ( #17784 )
...
This copies the semantics of nvim_buf_attach callbacks, and is a
convenient way to create oneshot autocommands gated by some condition.
2022-03-19 18:57:58 -06:00
zeertzjq
77eb6f9dc7
fix(api, lua): return NIL on failure to find converted function ( #17779 )
2022-03-20 08:08:50 +08:00