comparison runtime/doc/version9.txt @ 29236:0eef32b4ebbc

Update runtime files Commit: https://github.com/vim/vim/commit/d799daa660b8821943cbe1682f00da9e812dd48c Author: Bram Moolenaar <Bram@vim.org> Date: Mon Jun 20 11:17:32 2022 +0100 Update runtime files
author Bram Moolenaar <Bram@vim.org>
date Mon, 20 Jun 2022 12:30:06 +0200
parents dce918af0c00
children 0fdf36de4018
comparison
equal deleted inserted replaced
29235:fbcbc953c2ec 29236:0eef32b4ebbc
1 *version9.txt* For Vim version 8.2. Last change: 2022 Mar 08 1 *version9.txt* For Vim version 8.2. Last change: 2022 Jun 20
2 2
3 3
4 VIM REFERENCE MANUAL by Bram Moolenaar 4 VIM REFERENCE MANUAL by Bram Moolenaar
5 5
6 6
7 *vim-9.0* *vim-9* *version-9.0* *version9.0* 7 *vim-9.0* *vim-9* *version-9.0* *version9.0*
8 Welcome to Vim 9! Several years have passed since the previous release. 8 Welcome to Vim 9! Several years have passed since the previous release.
9 A large number of bugs have been fixed, many nice features have been added 9 A large number of bugs have been fixed, many nice features have been added
10 and Vim9 script syntax is introduced. This file mentions all the new items 10 and Vim9 script syntax has been introduced. This file mentions all the new
11 and changes to existing features since Vim 8.2.0. The patches up to Vim 8.2 11 things and changes to existing features since Vim 8.2.0. The patches up to Vim
12 can be found here: |vim-8.2|. 12 8.2 can be found here: |vim-8.2|.
13 13
14 Use this command to see the full version and features information of the Vim 14 Use this command to see the full version and features information of the Vim
15 program you are using: > 15 program you are using: >
16 :version 16 :version
17 17
33 |version8.txt| for differences between Vim versions. 33 |version8.txt| for differences between Vim versions.
34 34
35 You can find an overview of the most important changes (according to Martin 35 You can find an overview of the most important changes (according to Martin
36 Tournoij) on this site: https://www.arp242.net/vimlog/ 36 Tournoij) on this site: https://www.arp242.net/vimlog/
37 37
38 38 *Sven-Guckes*
39 Vim version 9.0 is dedicated to Sven Guckes, who passed away in February 2022 39 Vim version 9.0 is dedicated to Sven Guckes, who passed away in February 2022
40 when the release was being prepared. Sven was a long time supporter of Vim. 40 when the release was being prepared. Sven was a long time supporter of Vim.
41 He registered the vim.org domain and created the first Vim website. We will 41 He registered the vim.org domain and created the first Vim website. We will
42 remember him! 42 remember him!
43 43
73 73
74 Options: ~ 74 Options: ~
75 75
76 'autoshelldir' change directory to the shell's current directory 76 'autoshelldir' change directory to the shell's current directory
77 'cdhome' change directory to the home directory by ":cd" 77 'cdhome' change directory to the home directory by ":cd"
78 'cinscopedecls' words that are recognized by 'cino-g'
78 'guiligatures' GTK GUI: ASCII characters that can form shapes 79 'guiligatures' GTK GUI: ASCII characters that can form shapes
80 'mousemoveevent' report mouse moves with <MouseMove>
79 'quickfixtextfunc' function for the text in the quickfix window 81 'quickfixtextfunc' function for the text in the quickfix window
80 'spelloptions' options for spell checking 82 'spelloptions' options for spell checking
81 'thesaurusfunc' function to be used for thesaurus completion 83 'thesaurusfunc' function to be used for thesaurus completion
82 'xtermcodes' request terminal codes from an xterm 84 'xtermcodes' request terminal codes from an xterm
83 85
114 116
115 117
116 New and extended functions: ~ 118 New and extended functions: ~
117 119
118 |assert_nobeep()| assert that a command does not cause a beep 120 |assert_nobeep()| assert that a command does not cause a beep
121 |autocmd_add()| add a list of autocmds and groups
122 |autocmd_delete()| delete a list of autocmds and groups
123 |autocmd_get()| return a list of autocmds
119 |blob2list()| get a list of numbers from a blob 124 |blob2list()| get a list of numbers from a blob
120 |charclass()| class of a character 125 |charclass()| class of a character
121 |charcol()| character number of the cursor or a mark 126 |charcol()| character number of the cursor or a mark
122 |charidx()| character index of a byte in a string 127 |charidx()| character index of a byte in a string
123 |digraph_get()| get digraph 128 |digraph_get()| get digraph
130 |flatten()| flatten a List 135 |flatten()| flatten a List
131 |flattennew()| flatten a copy of a List 136 |flattennew()| flatten a copy of a List
132 |fullcommand()| get full command name 137 |fullcommand()| get full command name
133 |getcharpos()| get character position of cursor, mark, etc. 138 |getcharpos()| get character position of cursor, mark, etc.
134 |getcharstr()| get a character from the user as a string 139 |getcharstr()| get a character from the user as a string
140 |getcmdcompltype()| return current cmdline completion type
135 |getcursorcharpos()| get character position of the cursor 141 |getcursorcharpos()| get character position of the cursor
136 |getmarklist()| list of global/local marks 142 |getmarklist()| list of global/local marks
137 |getreginfo()| get information about a register 143 |getreginfo()| get information about a register
138 |gettext()| lookup message translation 144 |gettext()| lookup message translation
139 |hlget()| get highlight group attributes 145 |hlget()| get highlight group attributes
140 |hlset()| set highlight group attributes 146 |hlset()| set highlight group attributes
147 |isabsolutepath()| check if a path is absolute
141 |list2blob()| get a blob from a list of numbers 148 |list2blob()| get a blob from a list of numbers
149 |maplist()| list of all mappings, a dict for each
142 |mapnew()| make a new List with changed items 150 |mapnew()| make a new List with changed items
143 |mapset()| restore a mapping 151 |mapset()| restore a mapping
144 |matchfuzzy()| fuzzy matches a string in a list of strings 152 |matchfuzzy()| fuzzy matches a string in a list of strings
145 |matchfuzzypos()| fuzzy matches a string in a list of strings 153 |matchfuzzypos()| fuzzy matches a string in a list of strings
146 |menu_info()| get information about a menu item 154 |menu_info()| get information about a menu item
162 |test_null_function()| return a null Funcref 170 |test_null_function()| return a null Funcref
163 |test_srand_seed()| set the seed value for srand() 171 |test_srand_seed()| set the seed value for srand()
164 |test_unknown()| return a value with unknown type 172 |test_unknown()| return a value with unknown type
165 |test_void()| return a value with void type 173 |test_void()| return a value with void type
166 |typename()| type of a variable as text 174 |typename()| type of a variable as text
175 |virtcol2col()| byte index of a character on screen
167 |win_gettype()| get type of window 176 |win_gettype()| get type of window
168 |win_move_separator()| move window vertical separator 177 |win_move_separator()| move window vertical separator
169 |win_move_statusline()| move window status line 178 |win_move_statusline()| move window status line
170 |windowsversion()| get MS-Windows version 179 |windowsversion()| get MS-Windows version
171 180
191 |DirChangedPre| before the working directory will change 200 |DirChangedPre| before the working directory will change
192 |InsertLeavePre| just before leaving Insert mode 201 |InsertLeavePre| just before leaving Insert mode
193 |ModeChanged| after changing the mode 202 |ModeChanged| after changing the mode
194 |SigUSR1| after the SIGUSR1 signal has been detected 203 |SigUSR1| after the SIGUSR1 signal has been detected
195 |WinClosed| after closing a window 204 |WinClosed| after closing a window
205 |WinScrolled| after scrolling or resizing a window
196 |VimSuspend| when suspending Vim 206 |VimSuspend| when suspending Vim
197 |VimResume| when Vim is resumed after being suspended 207 |VimResume| when Vim is resumed after being suspended
198 208
199 209
210 New operator: ~
211
212 |>>| bitwise right shift
213 |<<| bitwise left shift
214 |??| falsy operator
215
200 New runtime files: ~ 216 New runtime files: ~
201 217
202 Too many to list here. 218 Too many to list here.
203 219
204 ============================================================================== 220 ==============================================================================
205 INCOMPATIBLE CHANGES *incompatible-9* 221 INCOMPATIBLE CHANGES *incompatible-9*
206 222
207 These changes are incompatible with previous releases. Check this list if you 223 These changes are incompatible with previous releases. Check this list if you
208 run into a problem when upgrading from Vim 8.2.0 to 9.0. 224 run into a problem when upgrading from Vim 8.2 to 9.0.
209 225
210 TODO 226 TODO
211 227
212 ============================================================================== 228 ==============================================================================
213 IMPROVEMENTS *improvements-9* 229 IMPROVEMENTS *improvements-9*
214 230
231 Various small and useful improvements have been made since Vim 8.2. Here is a
232 collection of changes that are worth mentioning.
233
215 Many memory leaks, invalid memory accesses and crashes have been fixed. 234 Many memory leaks, invalid memory accesses and crashes have been fixed.
216 See the list of patches below. 235 See the list of patches below: |bug-fixes-9|.
217 236
218 TODO 237 Support for Vim expression evaluation in a string. |interp-string|
238 Support for evaluating Vim expressions in a heredoc. |:let-heredoc|
239
240 Display the command line completion matches in a popup menu. 'wildoptions'
241
242 Support for fuzzy matching a string in a List of strings. |fuzzy-matching|
243
244 Fuzzy completion support for command line completion using 'wildoptions'.
245
246 Fuzzy match support for |:vimgrep|.
247
248 Support for "lsp" channel mode to simplify LSP server RPC communication
249 |language-server-protocol|.
250
251 Support for sourcing lines from the current buffer. |:source-range|
252
253 Support for stopping profiling a Vim script: `:profile stop` and dumping the
254 report to a file: `:profile dump` . |:profile|
255
256 Argument completion support for the |:scriptnames|, |:profile|, |:profdel|,
257 |:breakadd| and |:breakdel| commands.
258
259 Support for using a funcref/lambda value with the 'foldtext', 'completefunc',
260 'omnifunc', 'operatorfunc', 'thesaurusfunc', 'quickfixtextfunc', 'tagfunc',
261 'imactivatefunc' and 'imstatusfunc' options.
262
263 Support for using multibyte items with the 'fillchars', 'stl' and 'stlnc'
264 options.
265
266 Support for xchacha20 encryption method 'cryptmethod'
267
268 Spell check current word with |z=| even when 'spell' is off.
269
270 Support for executing Ex commands in a map without changing the current mode
271 |<Cmd>| and |<ScriptCmd>|.
272
273 A large number of tests have been added to verify the Vim functionality. Most
274 of the old style tests have been converted to new style tests using the new
275 style assert_* functions.
276
277 Add optional error code to |:cquit|.
278
279 Support for using a Unix domain socket with a |channel|.
280
281 IPv6 support in channels |channel-address|.
282
283 Call Vim functions from Lua (vim.call('func', 'arg')).
284
285 Add unsigned to 'nrformats'.
286
287 Allow setting underline color in terminal.
288
289 Expand script ID using expand('<SID>'). |expand()|
290
291 Jump to the last accessed tab page using |g<Tab>|.
292
293 Locale aware sorting using |:sort| and |sort()|.
294
295 Hide cursor when sleeping using |:sleep!|.
296
297 Detect focus events in terminal (|FocusGained| and |FocusLost|).
298
299 Highlight leading spaces when 'list' is set (|'listchars'|)
300
301 Support for looping over a string using |:for|.
302
303 Don't reset 'wrap' for diff windows when "followwrap" is set in 'diffopt'.
304
305 Support for re-evaluating the 'statusline' expression as a statusline format
306 string (%{expr})
307
308 Add |zp| and |zP| to paste in block mode without adding trailing white space.
309 Add |zy| to yank without trailing white space in block mode.
310
311 Add \%.l, \%<.l and \%>.l atoms to match the line the cursor is currently on.
312 See |/\%l| for more information.
313
314 Add "list" to 'breakindentopt' to add additional indent for lines that match
315 a numbered or bulleted list. Add "column" to 'breakindentopt' to indent
316 soft-wrapped lines at a specific column.
317
318 Add "multispace" to 'listchars' to show two or more spaces no matter where
319 they appear.
320
321 Add |hl-CursorLineSign| and |hl-CursorLineFold| default highlight groups to
322 adjust sign highlighting for 'cursorline'.
323
324 Add the |hl-CurSearch| default highlight group for the current search match.
325
326 Support directly setting the 'balloonexpr', 'foldexpr', 'formatexpr',
327 'includeexpr', 'printexpr', 'patchexpr', 'indentexpr', 'modelineexpr',
328 'diffexpr' and 'printexpr' options to a script-local function.
329
330 Add the 'P' command in visual mode to paste text in visual mode without
331 yanking the deleted text to the unnamed register.
332
333 Add "timeout" to 'spellsuggest' to limit the searching time for spell
334 suggestions.
335
336 Add support for parsing the end line number (%e) and end column number
337 (%k) using 'errorformat'.
338
339 Add support for logging on Vim startup (|--log|).
340
341 Add "/" in 'formatoptions' to stop inserting // when using "o" on a line with
342 inline comment.
343
344
345 TODO: more
219 346
220 ============================================================================== 347 ==============================================================================
221 COMPILE TIME CHANGES *compile-changes-9* 348 COMPILE TIME CHANGES *compile-changes-9*
222 349
223 TODO 350 TODO
26918 partial. (Yegappan Lakshmanan) 27045 partial. (Yegappan Lakshmanan)
26919 Solution: Include the script ID in the partial name. 27046 Solution: Include the script ID in the partial name.
26920 Files: src/userfunc.c, src/proto/userfunc.pro, src/evalfunc.c, 27047 Files: src/userfunc.c, src/proto/userfunc.pro, src/evalfunc.c,
26921 src/vim9type.c, src/testdir/test_vim9_import.vim 27048 src/vim9type.c, src/testdir/test_vim9_import.vim
26922 27049
26923 27050 Patch 8.2.4430
26924 27051 Problem: GTK: crash when using 'guiligatures' and reading from stdin.
27052 Solution: Make a copy of the message. (Amon Sha, closes #9719, closes #9814)
27053 Files: src/fileio.c
27054
27055 Patch 8.2.4431
27056 Problem: Unnecessary condition when assigning to a variable.
27057 Solution: Remove the condition.
27058 Files: src/evalvars.c
27059
27060 Patch 8.2.4432 (after 8.2.4428)
27061 Problem: Cannot use settabvar() while the cmdline window is open.
27062 Solution: Only give an error when actually switching tabpage.
27063 (closes #9813)
27064 Files: src/window.c
27065
27066 Patch 8.2.4433
27067 Problem: CI: cannot see interface versions for MS-Windows.
27068 Solution: List the interface versions. (Ken Takata, closes #9811)
27069 Files: .github/workflows/ci.yml
27070
27071 Patch 8.2.4434
27072 Problem: Duplicate check for cmdline window.
27073 Solution: Remove the second check. (Sean Dewar, closes #9816)
27074 Files: src/window.c
27075
27076 Patch 8.2.4435
27077 Problem: Dead code in checking map() arguments. (Dominique Pellé)
27078 Solution: Remove the first return statement. (closes #9815)
27079 Files: src/evalfunc.c
27080
27081 Patch 8.2.4436
27082 Problem: Crash with weird 'vartabstop' value.
27083 Solution: Check for running into the end of the line.
27084 Files: src/indent.c, src/testdir/test_vartabs.vim
27085
27086 Patch 8.2.4437
27087 Problem: Vartabs test fails on MS-Windows.
27088 Solution: Use iso8859-1 'encoding'. (Ken Takata, closes #9818)
27089 Files: src/testdir/test_vartabs.vim
27090
27091 Patch 8.2.4438
27092 Problem: Crash on exit when using cmdline window.
27093 Solution: Reset "cmdwin_type" before exiting. (closes #9817)
27094 Files: src/ui.c, src/testdir/test_exit.vim
27095
27096 Patch 8.2.4439
27097 Problem: Accepting "iso8859" 'encoding' as "iso-8859-".
27098 Solution: use "iso8859" as "iso-8859-1".
27099 Files: src/mbyte.c, src/testdir/test_options.vim
27100
27101 Patch 8.2.4440
27102 Problem: Crash with specific regexp pattern and string.
27103 Solution: Stop at the start of the string.
27104 Files: src/regexp_bt.c, src/testdir/test_regexp_utf8.vim
27105
27106 Patch 8.2.4441
27107 Problem: Vim9: function argument of filter() not checked like map().
27108 Solution: Also check the function argument of filter().
27109 Files: src/evalfunc.c, src/testdir/test_vim9_builtin.vim
27110
27111 Patch 8.2.4442 (after 8.2.4438)
27112 Problem: Test for error reading input fails on MS-Windows.
27113 Solution: Don't run the test on MS-Windows.
27114 Files: src/testdir/test_exit.vim
27115
27116 Patch 8.2.4443 (after 8.2.4440)
27117 Problem: Regexp pattern test fails on Mac.
27118 Solution: Do not use a swapfile for the buffer.
27119 Files: src/testdir/test_regexp_utf8.vim
27120
27121 Patch 8.2.4444
27122 Problem: Beep caused by test. ASAN reports leaks.
27123 Solution: Do not put a NL at the end of the script. Make the text work on
27124 MS-Windows. Do not run the test with ASAN.
27125 Files: src/testdir/test_exit.vim
27126
27127 Patch 8.2.4445
27128 Problem: Exit test fails on MS-Windows anyway.
27129 Solution: Skip the test on MS-Windows.
27130 Files: src/testdir/test_exit.vim
27131
27132 Patch 8.2.4446
27133 Problem: Vim9: cannot refer to a global function like a local one.
27134 Solution: When g:name is not a variable but a function, use a function
27135 reference. (closes #9826)
27136 Files: src/vim9execute.c, src/testdir/test_vim9_builtin.vim
27137
27138 Patch 8.2.4447
27139 Problem: Vim9: can still use s:var in a compiled function.
27140 Solution: Disallow using s:var for Vim9 script. (closes #9824)
27141 Files: runtime/doc/vim9.txt, src/vim9expr.c, src/vim9compile.c,
27142 src/testdir/test_vim9_assign.vim
27143
27144 Patch 8.2.4448 (after 8.2.4447)
27145 Problem: Filetype detection is failing.
27146 Solution: Do not use "s:" where it is no longer allowed.
27147 Files: runtime/autoload/dist/ft.vim,
27148
27149 Patch 8.2.4449
27150 Problem: vim9: function argument of sort() not checked at compile time.
27151 Solution: Add a compile time check.
27152 Files: src/evalfunc.c, src/testdir/test_vim9_builtin.vim
27153
27154 Patch 8.2.4450 (after 8.2.4449)
27155 Problem: List sort test fails.
27156 Solution: Pass a valid "how" argument.
27157 Files: src/testdir/test_listdict.vim
27158
27159 Patch 8.2.4451 (after 8.2.4450)
27160 Problem: sort() fails when ignoring case.
27161 Solution: Accept a number one argument in sort().
27162 Files: src/evalfunc.c, src/testdir/test_listdict.vim
27163
27164 Patch 8.2.4452
27165 Problem: Test for what 8.2.4436 fixes does not check for regression.
27166 Solution: Set several options. (Ken Takata, closes #9830)
27167 Files: src/testdir/test_vartabs.vim
27168
27169 Patch 8.2.4453
27170 Problem: :helpgrep may free an option that was not allocated. (Yegappan
27171 Lakshmanan)
27172 Solution: Check if the value was allocated.
27173 Files: src/option.c, src/proto/option.pro, src/quickfix.c,
27174 src/testdir/test_quickfix.vim
27175
27176 Patch 8.2.4454
27177 Problem: Resetting cmdwin_type only for one situation.
27178 Solution: Reset cmdwin_type before closing windows. (closes #9822)
27179 Files: src/ui.c, src/window.c, src/testdir/test_exit.vim
27180
27181 Patch 8.2.4455
27182 Problem: Accepting one and zero for the second sort() argument is strange.
27183 Solution: Disallow using one and zero in Vim9 script.
27184 Files: runtime/doc/builtin.txt, src/evalfunc.c, src/list.c,
27185 src/testdir/test_listdict.vim
27186
27187 Patch 8.2.4456
27188 Problem: Terminal test may fail on some machines.
27189 Solution: Increase wait time. (Zdenek Dohnal, closes #9834)
27190 Files: src/testdir/test_terminal.vim
27191
27192 Patch 8.2.4457
27193 Problem: The GPM library can only be linked statically.
27194 Solution: Make it possible to load the GPM library dynamically. (Damien)
27195 Files: runtime/doc/various.txt, src/config.h.in, src/configure.ac,
27196 src/Makefile, src/evalfunc.c, src/feature.h, src/os_unix.c,
27197 src/proto/os_unix.pro, src/version.c
27198
27199 Patch 8.2.4458
27200 Problem: Vim9: compiling filter() call fails with funcref that has unknown
27201 arguments.
27202 Solution: Do not check the arguments if they are unknown at compile time.
27203 (closes #9835)
27204 Files: src/evalfunc.c, src/testdir/test_vim9_builtin.vim
27205
27206 Patch 8.2.4459
27207 Problem: Vim9: compiling sort() call fails with a funcref that has unknown
27208 arguments.
27209 Solution: Do not check the arguments if they are unknown at compile time.
27210 (closes #9835)
27211 Files: src/evalfunc.c, src/testdir/test_vim9_builtin.vim
27212
27213 Patch 8.2.4460
27214 Problem: Vim9: wrong error for defining dict function.
27215 Solution: Explicitly check for trying to define a dict function.
27216 (closes 9827)
27217 Files: src/errors.h, src/userfunc.c, src/vim9compile.c,
27218 src/testdir/test_vim9_func.vim
27219
27220 Patch 8.2.4461
27221 Problem: MS-Windows: garbage characters on stdout with VIMDLL.
27222 Solution: Don't call gui_focus_change() when about to quit. (Ken Takata,
27223 closes #9840)
27224 Files: src/gui_w32.c
27225
27226 Patch 8.2.4462
27227 Problem: Not enough testing for quickfix code.
27228 Solution: Add more tests. Fix uncovered problem. (Yegappan Lakshmanan,
27229 closes #9839)
27230 Files: src/quickfix.c, src/window.c, src/testdir/test_makeencoding.vim,
27231 src/testdir/test_quickfix.vim
27232
27233 Patch 8.2.4463
27234 Problem: Completion only uses strict matching.
27235 Solution: Add the "fuzzy" item for 'wildoptions'. (Yegappan Lakshmanan,
27236 closes #9803)
27237 Files: runtime/doc/options.txt, src/buffer.c, src/cmdexpand.c,
27238 src/option.c, src/option.h, src/optionstr.c,
27239 src/proto/cmdexpand.pro, src/proto/option.pro,
27240 src/proto/search.pro, src/search.c, src/structs.h,
27241 src/testdir/gen_opt_test.vim, src/testdir/test_cmdline.vim
27242
27243 Patch 8.2.4464
27244 Problem: Dtrace files are recognized as filetype D.
27245 Solution: Add a pattern for Dtrace files. (Teubel György, closes #9841)
27246 Add some more testing.
27247 Files: runtime/autoload/dist/ft.vim, runtime/filetype.vim,
27248 src/testdir/test_filetype.vim
27249
27250 Patch 8.2.4465
27251 Problem: Fuzzy completion does not order matches properly.
27252 Solution: Do not use regular expression match. (Yegappan Lakshmanan,
27253 closes #9843)
27254 Files: src/cmdexpand.c, src/search.c, src/testdir/test_cmdline.vim
27255
27256 Patch 8.2.4466
27257 Problem: MS-Windows: illegal memory access in installer when using
27258 "create-directories" as the final argument.
27259 Solution: Check the argument count. (Cam Sinclair, closes #9844)
27260 Files: src/dosinst.c
27261
27262 Patch 8.2.4467
27263 Problem: Running filetype test leaves file behind.
27264 Solution: Delete the file.
27265 Files: src/testdir/test_filetype.vim
27266
27267 Patch 8.2.4468
27268 Problem: Coverity warns for uninitialized struct member.
27269 Solution: Set color.index to zero.
27270 Files: src/terminal.c
27271
27272 Patch 8.2.4469
27273 Problem: Coverity warns for uninitialized variable.
27274 Solution: Set the value to zero.
27275 Files: src/ex_getln.c
27276
27277 Patch 8.2.4470
27278 Problem: Coverity warns for uninitialized variable.
27279 Solution: Set can_spell to zero.
27280 Files: src/drawline.c
27281
27282 Patch 8.2.4471
27283 Problem: Coverity warns for uninitialized variable.
27284 Solution: Set flags to zero.
27285 Files: src/vim9cmds.c
27286
27287 Patch 8.2.4472
27288 Problem: Coverity warns for use of a freed function name.
27289 Solution: Only check an autoload name when is prefixed.
27290 Files: src/userfunc.c
27291
27292 Patch 8.2.4473
27293 Problem: Coverity warnds for not checking return value of ftell().
27294 Solution: Bail out if ftell() returns a negative value.
27295 Files: src/spellfile.c
27296
27297 Patch 8.2.4474
27298 Problem: Memory allocation failures not tested in quickfix code.
27299 Solution: Add alloc IDs and tests. (Yegappan Lakshmanan, closes #9848)
27300 Files: src/alloc.h, src/quickfix.c, src/vim.h,
27301 src/testdir/test_quickfix.vim
27302
27303 Patch 8.2.4475
27304 Problem: Fuzzy cmdline completion does not work for lower case.
27305 Solution: Also use fuzzy completion for lower case input. (Yegappan
27306 Lakshmanan, closes #9849)
27307 Files: src/cmdexpand.c, src/testdir/test_cmdline.vim
27308
27309 Patch 8.2.4476
27310 Problem: Operator name spelled wrong.
27311 Solution: Change trinary to ternary. (Goc Dundar, closes #9850)
27312 Files: src/testdir/test_expr.vim, src/testdir/test_vim9_expr.vim,
27313 src/testdir/test_vimscript.vim
27314
27315 Patch 8.2.4477
27316 Problem: Crash when using fuzzy completion.
27317 Solution: Temporary fix: put back regexp. (closes #9851)
27318 Files: src/cmdexpand.c
27319
27320 Patch 8.2.4478
27321 Problem: Crash when using fuzzy completion.
27322 Solution: Temporary fix: put back regexp. (closes #9852, closes #9851)
27323 Files: src/cmdexpand.c, src/testdir/test_cmdline.vim
27324
27325 Patch 8.2.4479
27326 Problem: No fuzzy completieon for maps and abbreviations.
27327 Solution: Fuzzy complete maps and abbreviations. (Yegappan Lakshmanan,
27328 closes #9856)
27329 Files: src/cmdexpand.c, src/map.c, src/proto/map.pro, src/search.c,
27330 src/testdir/test_cmdline.vim
27331
27332 Patch 8.2.4480
27333 Problem: Suspending with CTRL-Z does not work on Android.
27334 Solution: Do not handle SIGTSTP. (closes #9854)
27335 Files: src/os_unix.c
27336
27337 Patch 8.2.4481
27338 Problem: Cmdline popup menu not removed when 'lazyredraw' is set.
27339 Solution: Temporarily reset 'lazyredraw' when removing the popup menu.
27340 (closes #9857)
27341 Files: src/cmdexpand.c, src/testdir/test_cmdline.vim,
27342 src/testdir/dumps/Test_wildmenu_pum_41.dump
27343
27344 Patch 8.2.4482
27345 Problem: No fuzzy cmdline completion for user defined completion.
27346 Solution: Add fuzzy completion for user defined completion. (Yegappan
27347 Lakshmanan, closes #9858)
27348 Files: src/cmdexpand.c, src/testdir/test_cmdline.vim
27349
27350 Patch 8.2.4483
27351 Problem: Command completion makes two rounds to collect matches.
27352 Solution: Use a growarray to collect matches. (Yegappan Lakshmanan,
27353 closes #9860)
27354 Files: src/buffer.c, src/cmdexpand.c, src/map.c,
27355 src/testdir/test_cmdline.vim
27356
27357 Patch 8.2.4484
27358 Problem: Vim9: some error messages are not tested.
27359 Solution: Add a few more test cases. Delete dead code.
27360 Files: src/vim9execute.c, src/testdir/test_vim9_assign.vim,
27361 src/testdir/test_vim9_expr.vim, src/testdir/test_vim9_func.vim
27362
27363 Patch 8.2.4485
27364 Problem: Compiler warning for uninitialized variable.
27365 Solution: Initialize the variable. (John Marriott)
27366 Files: src/cmdexpand.c
27367
27368 Patch 8.2.4486
27369 Problem: MS-Windows GUI: slow scrolling with maximized window.
27370 Solution: Use a better way to check the window is on screen. (Ken Takata,
27371 closes #9865)
27372 Files: src/gui_w32.c
27373
27374 Patch 8.2.4487
27375 Problem: Vim9: cannot compare with v:null.
27376 Solution: Allow comparing anything with v:null. (closes #9866)
27377 Files: src/vim9instr.c, src/typval.c, src/proto/typval.pro,
27378 src/vim9.h, src/vim9execute.c, src/evalvars.c,
27379 src/testdir/test_vim9_expr.vim,
27380 src/testdir/test_vim9_disassemble.vim
27381
27382 Patch 8.2.4488 (after 8.2.4487)
27383 Problem: Build error with +eval but without +channel or +job.
27384 Solution: Add #ifdef. (John Marriott)
27385 Files: src/typval.c
27386
27387 Patch 8.2.4489 (after 8.2.4487)
27388 Problem: Failing test for comparing v:null with number.
27389 Solution: Allow comparing v:null with number in legacy script.
27390 (Ken Takata, closes #9873) Also do this for float.
27391 Files: src/typval.c, src/testdir/test_vimscript.vim
27392
27393 Patch 8.2.4490
27394 Problem: Terminal focus reporting only works for xterm-like terminals.
27395 (Jonathan Rascher)
27396 Solution: Remove the "focus_mode" flag. (closes #9859)
27397 Files: src/term.c
27398
27399 Patch 8.2.4491
27400 Problem: MS-Windows makefile dependencies are outdated.
27401 Solution: Update dependencies. (Ken Takata, closes #9876)
27402 Files: src/Make_cyg_ming.mak, src/Make_mvc.mak
27403
27404 Patch 8.2.4492
27405 Problem: No error if an option is given an invalid value with
27406 ":let &opt = val".
27407 Solution: Give the error. (closes #9864)
27408 Files: src/evalvars.c, src/testdir/test_options.vim
27409
27410 Patch 8.2.4493 (after 8.2.4492)
27411 Problem: Options test fails in the GUI.
27412 Solution: Do not save and restore 'term'.
27413 Files: src/testdir/gen_opt_test.vim
27414
27415 Patch 8.2.4494
27416 Problem: The find_tags() function is much too long.
27417 Solution: Refactor the function. (Yegappan Lakshmanan, closes #9869)
27418 Files: src/quickfix.c, src/tag.c, src/testdir/test_tagjump.vim
27419
27420 Patch 8.2.4495
27421 Problem: Help test fails in 24 line terminal.
27422 Solution: Use up to 23 lines for text.
27423 Files: src/testdir/test_help.vim
27424
27425 Patch 8.2.4496 (after 8.2.4494)
27426 Problem: Coverity gives warnings after tags code refactoring.
27427 Solution: Avoid the warnings. (Yegappan Lakshmanan, closes #9882)
27428 Files: src/tag.c
27429
27430 Patch 8.2.4497
27431 Problem: Wrong color for half of wide character next to pum scrollbar.
27432 Solution: Redraw the screen cell with the right color. (closes #9874)
27433 Files: src/screen.c, src/testdir/test_ins_complete.vim,
27434 src/testdir/dumps/Test_scrollbar_on_wide_char.dump
27435
27436 Patch 8.2.4498
27437 Problem: Using <Plug> with "noremap" does not work.
27438 Solution: Always remap <Plug>. (closes #9879, closes #9789)
27439 Files: runtime/doc/map.txt, src/getchar.c, src/testdir/test_mapping.vim
27440
27441 Patch 8.2.4499
27442 Problem: Vim9: at the script level declarations leak from try block to
27443 catch and finally block.
27444 Solution: End the block and start a new one. (closes #9883)
27445 Files: src/ex_eval.c, src/testdir/test_vim9_script.vim
27446
27447 Patch 8.2.4500
27448 Problem: Vim9: can declare a global variable on the command line.
27449 Solution: Disallow declaring a variable on the command line. (closes #9881)
27450 Files: src/errors.h, src/evalvars.c, src/testdir/test_vim9_assign.vim,
27451 src/testdir/test_vim9_script.vim,
27452 src/testdir/dumps/Test_vim9_reject_declaration.dump
27453
27454 Patch 8.2.4501
27455 Problem: With 'showbreak' set and after the end of the line the cursor
27456 may be displayed in the wrong position.
27457 Solution: Do not apply 'showbreak' after the end of the line. (closes #9884)
27458 Files: src/charset.c, src/testdir/test_breakindent.vim,
27459 src/testdir/dumps/Test_cursor_position_with_showbreak.dump
27460
27461 Patch 8.2.4502
27462 Problem: In the GUI a modifier is not recognized for the key typed after
27463 CTRL-X, which may result in a mapping to be used. (Daniel
27464 Steinberg)
27465 Solution: Recognize a modifier starting with CSI. (closes #9889)
27466 Files: src/getchar.c, src/testdir/test_ins_complete.vim
27467
27468 Patch 8.2.4503
27469 Problem: Vim9: there is no point in supporting :Print and :mode.
27470 Solution: Do not recognize :Print and :mode as commands. (closes #9870)
27471 Files: src/ex_docmd.c, src/testdir/test_vim9_script.vim
27472
27473 Patch 8.2.4504
27474 Problem: When there is a partially matching map and modifyOtherKeys is
27475 active a full map may not work.
27476 Solution: Only simplify modifiers when there is no matching mapping.
27477 (closes #8792)
27478 Files: src/getchar.c, src/testdir/test_termcodes.vim
27479
27480 Patch 8.2.4505
27481 Problem: Vim9: outdated "autocmd nested" still works.
27482 Solution: Do not accept the :autocmd argument "nested" without "++" in Vim9
27483 script.
27484 Files: src/autocmd.c, src/errors.h, src/testdir/test_autocmd.vim
27485
27486 Patch 8.2.4506
27487 Problem: "pattern not found" for :global is not an error message.
27488 Solution: In Vim9 script make this an actual error, so that try/catch can be
27489 used as expected.
27490 Files: src/ex_cmds.c, src/errors.h, src/testdir/test_global.vim
27491
27492 Patch 8.2.4507 (after 8.2.4506)
27493 Problem: Test fails because of new error message.
27494 Solution: Avoid the test fails.
27495 Files: src/testdir/test_vim9_cmd.vim
27496
27497 Patch 8.2.4508
27498 Problem: Vim9: cannot assign to a global variable on the command line.
27499 Solution: Allow using :vim9cmd for assignment on the command line.
27500 Files: src/evalvars.c, src/testdir/test_vim9_script.vim,
27501 src/testdir/dumps/Test_vim9_reject_declaration.dump,
27502 src/testdir/dumps/Test_vim9_reject_declaration_1.dump,
27503 src/testdir/dumps/Test_vim9_reject_declaration_2.dump
27504
27505 Patch 8.2.4509
27506 Problem: Vim9: can declare a variable with ":va".
27507 Solution: Disallow using ":va", require using ":var".
27508 Files: src/evalvars.c, src/errors.h, src/vim9compile.c,
27509 src/testdir/test_vim9_assign.vim
27510
27511 Patch 8.2.4510
27512 Problem: Vim9: shortening commands leads to confusing script.
27513 Solution: In Vim9 script require at least ":cont" for ":continue", "const"
27514 instead of "cons", "break" instead of "brea", "catch" instead of
27515 "cat", "else" instead of "el" "elseif" instead of "elsei" "endfor"
27516 instead of "endfo" "endif" instead of "en" "endtry" instead of
27517 "endt", "finally" instead of "fina", "throw" instead of "th",
27518 "while" instead of "wh".
27519 Files: src/ex_cmds.h, src/ex_docmd.c, src/errors.h, src/evalvars.c,
27520 src/vim9compile.c, src/testdir/test_vim9_script.vim
27521
27522 Patch 8.2.4511
27523 Problem: Filetype test fails.
27524 Solution: Change "endw" to "endwhile".
27525 Files: runtime/autoload/dist/ft.vim
27526
27527 Patch 8.2.4512
27528 Problem: The find_tags_in_file() function is much too long.
27529 Solution: Refactor into multiple smaller functions. (Yegappan Lakshmanan,
27530 closes #9892)
27531 Files: Filelist, src/Makefile, src/quickfix.c, src/tag.c,
27532 src/testdir/test83-tags2, src/testdir/test83-tags3,
27533 src/testdir/test_tagjump.vim
27534
27535 Patch 8.2.4513
27536 Problem: Window-local directory is not applied if 'acd' fails.
27537 Solution: Don't call do_autochdir(). (closes #9891)
27538 Files: src/window.c, src/testdir/test_autochdir.vim
27539
27540 Patch 8.2.4514
27541 Problem: Vim9: some flow commands can be shortened.
27542 Solution: Also require using the full name for ":return", ":enddef",
27543 ":continue", ":export" and ":import".
27544 Files: src/ex_cmds.h, src/ex_docmd.c, src/errors.h, src/userfunc.c,
27545 src/testdir/test_vim9_script.vim
27546
27547 Patch 8.2.4515
27548 Problem: Old subsitute syntax is still supported.
27549 Solution: Disallow using backslash after ":s" in Vim9 script.
27550 Files: src/ex_cmds.c, src/errors.h, src/testdir/test_substitute.vim
27551
27552 Patch 8.2.4516 (after 8.2.4515)
27553 Problem: Build failure without the +eval feature.
27554 Solution: Move error message outside of #ifdef.
27555 Files: src/errors.h
27556
27557 Patch 8.2.4517
27558 Problem: MS-Windows: cannot specify location of sodium library.
27559 Solution: Allow for using a path for SODIUM. (Ken Takata, closes #9896)
27560 Files: src/Make_cyg_ming.mak
27561
27562 Patch 8.2.4518
27563 Problem: The binary tag search feature is always enabled.
27564 Solution: Remove the #ifdefs. Add a few more tests. (Yegappan Lakshmanan,
27565 closes #9893)
27566 Files: src/evalfunc.c, src/feature.h, src/tag.c, src/version.c,
27567 src/testdir/test_tagjump.vim, src/testdir/test_taglist.vim
27568
27569 Patch 8.2.4519
27570 Problem: Vim9: Can still use ":fini" and ":finis" for ":finish".
27571 Solution: Require using ":finish".
27572 Files: src/ex_cmds.h, src/testdir/test_vim9_script.vim
27573
27574 Patch 8.2.4520
27575 Problem: Using wrong highlight for cursor line number.
27576 Solution: Take filler lines into account when using CursorLineNr.
27577 (closes #9897)
27578 Files: src/drawline.c, src/testdir/test_diffmode.vim,
27579 src/testdir/dumps/Test_diff_with_cursorline_number_01.dump,
27580 src/testdir/dumps/Test_diff_with_cursorline_number_02.dump
27581
27582 Patch 8.2.4521 (after 8.2.4520)
27583 Problem: Build failure without the +diff feature. (John Marriott)
27584 Solution: Define filler+lines if not declaring it.
27585 Files: src/drawline.c
27586
27587 Patch 8.2.4522 (after 8.2.4492)
27588 Problem: GUI test fails with Motif. (Dominique Pellé)
27589 Solution: Remove using an invalid value for 'guifontset'.
27590 Files: src/testdir/test_gui.vim
27591
27592 Patch 8.2.4523
27593 Problem: When gvim is started maximized the 'window' option isn't set
27594 properly. (Christian J. Robinson)
27595 Solution: Check if 'windows' was already set or not. (Ken Takata,
27596 closes #9904)
27597 Files: src/term.c
27598
27599 Patch 8.2.4524
27600 Problem: MS-Windows: cannot build with some sodium libraries.
27601 Solution: Make the DLL name configuragle. Add build instructions.
27602 (Ken Takata, closes #9905)
27603 Files: src/INSTALLpc.txt, src/Make_cyg_ming.mak, src/Make_mvc.mak,
27604 src/crypt.c
27605
27606 Patch 8.2.4525
27607 Problem: Some GUI tests don't work on Athena.
27608 Solution: Skip tests that won't work. (Yegappan Lakshmanan, closes #9902)
27609 Files: src/testdir/test_gui.vim
27610
27611 Patch 8.2.4526
27612 Problem: Vim9: cannot set variables to a null value.
27613 Solution: Add null_list, null_job, etc.
27614 Files: runtime/doc/vim9.txt, src/eval.c, src/proto/eval.pro,
27615 src/vim9expr.c, src/vim9script.c, src/vim9instr.c,
27616 src/vim9compile.c, src/vim9execute.c, src/vim9.h, src/vim9type.c,
27617 src/evalvars.c, src/testdir/test_vim9_assign.vim,
27618 src/testdir/test_vim9_disassemble.vim,
27619 src/testdir/test_vim9_func.vim, src/testdir/test_expr.vim
27620
27621 Patch 8.2.4527
27622 Problem: The Athena GUI is old and does not work well.
27623 Solution: Remove the Athena GUI from configure to find out who still wants
27624 support for this GUI.
27625 Files: src/configure.ac, src/auto/configure, src/Makefile
27626
27627 Patch 8.2.4528
27628 Problem: Crash when using null_function for a partial.
27629 Solution: Don't call fname_trans_sid() with NULL. (closes #9908)
27630 Files: src/userfunc.c, src/testdir/test_vim9_func.vim
27631
27632 Patch 8.2.4529
27633 Problem: Vim9: comparing partial with function fails.
27634 Solution: Support this comparison. Avoid a crash. (closes #9909)
27635 Add more test cases.
27636 Files: src/vim9instr.c, src/userfunc.c, src/vim9type.c,
27637 src/testdir/test_vim9_builtin.vim, src/testdir/test_vim9_expr.vim,
27638 src/testdir/test_vim9_func.vim, src/testdir/test_vimscript.vim
27639
27640 Patch 8.2.4530
27641 Problem: Making comparison with null work changes legacy behavior.
27642 Solution: Only use the better comparison in Vim9 script. (closes #9910)
27643 Files: src/typval.c, src/testdir/test_expr.vim
27644
27645 Patch 8.2.4531
27646 Problem: LGTM warnings for condition always true and buffer size too small.
27647 Solution: Remove the useless condition. Make the buffer larger. (Goc
27648 Dundar, closes #9914)
27649 Files: src/charset.c, src/term.c
27650
27651 Patch 8.2.4532
27652 Problem: Suspending with CTRL-Z does not work on OpenBSD.
27653 Solution: Adjust #ifdef for SIGTSTP. (Stuart Henderson, closes #9912)
27654 Files: src/os_unix.c
27655
27656 Patch 8.2.4533
27657 Problem: Vim9: no test that after assigning null the type is still checked.
27658 Solution: Add a test.
27659 Files: src/testdir/test_vim9_assign.vim
27660
27661 Patch 8.2.4534
27662 Problem: Vim9: "is" operator with empty string and null returns true.
27663 Solution: Consider empty string and null to be different for "is".
27664 Files: src/typval.c, src/vim9execute.c, src/testdir/test_vim9_expr.vim
27665
27666 Patch 8.2.4535
27667 Problem: Filename modifer ":8" removes the filename.
27668 Solution: Use strncpy() instead of vim_strncpy(). (Christian Brabandt,
27669 closes #9918, closes #8600)
27670 Files: src/filepath.c, src/testdir/test_shortpathname.vim
27671
27672 Patch 8.2.4536 (after 8.2.4534)
27673 Problem: Debugger test fails when breaking on expression.
27674 Solution: Compare strings with "==" instead of "is".
27675 Files: src/debugger.c
27676
27677 Patch 8.2.4537
27678 Problem: Output from linter and language server shows up in git.
27679 Solution: Add patterns to .gitignore. (Goc Dundar, closes #9925)
27680 Files: .gitignore
27681
27682 Patch 8.2.4538
27683 Problem: The find_tags_in_file() function is too long.
27684 Solution: Refactor into smaller functions. (Yegappan Lakshmanan,
27685 closes #9920)
27686 Files: src/tag.c, src/testdir/test_tagjump.vim
27687
27688 Patch 8.2.4539
27689 Problem: When comparing special v:none and v:null are handled the same when
27690 compiling.
27691 Solution: Pass more information so that v:none can be handled differently at
27692 compile time. (issue #9923)
27693 Files: src/vim9instr.c, src/vim9compile.c, src/globals.h,
27694 src/testdir/test_vim9_expr.vim
27695
27696 Patch 8.2.4540
27697 Problem: Line number for error is off by one.
27698 Solution: Remember the line number of the comparison. (closes #9923)
27699 Files: src/eval.c, src/testdir/test_vim9_expr.vim
27700
27701 Patch 8.2.4541
27702 Problem: Crash in debugger when a variable is not available in the current
27703 block.
27704 Solution: Check for a NULL name. (closes #9926)
27705 Files: src/vim9execute.c, src/testdir/test_debugger.vim
27706
27707 Patch 8.2.4542
27708 Problem: Vim9: "break" inside try/catch not handled correctly.
27709 Solution: First jump to :endtry. (closes #9927)
27710 Files: src/vim9cmds.c, src/vim9.h, src/testdir/test_vim9_script.vim
27711
27712 Patch 8.2.4543
27713 Problem: Coverity warning for refactored tag search code.
27714 Solution: Avoid the warnings. Update comments. Add one more test case.
27715 (Yegappan Lakshmanan, closes #9928)
27716 Files: src/tag.c, src/testdir/test_tagjump.vim
27717
27718 Patch 8.2.4544
27719 Problem: Coverity warnings for not using returned value.
27720 Solution: Assign to vim_ignored.
27721 Files: src/tag.c
27722
27723 Patch 8.2.4545
27724 Problem: MS-Windows: the installed icon is low resolution.
27725 Solution: Use a better icon. Install vim.ico. (Christian Brabandt,
27726 closes #9931, closes #9930)
27727 Files: Filelist, nsis/gvim.nsi, src/vim.ico, runtime/bitmaps/vim.ico
27728
27729 Patch 8.2.4546
27730 Problem: Duplicate #undef.
27731 Solution: Remove one #undef. (closes #9932)
27732 Files: src/regexp_nfa.c
27733
27734 Patch 8.2.4547
27735 Problem: The neXTaw GUI is old and does not work well.
27736 Solution: Remove the neXTaw GUI from configure to find out who still wants
27737 support for this GUI.
27738 Files: src/configure.ac, src/auto/configure, src/Makefile
27739
27740 Patch 8.2.4548
27741 Problem: Script-local function is deleted when used in a funcref.
27742 Solution: Do not consider a function starting with "<SNR>" reference
27743 counted. (closes #9916, closes #9820)
27744 Files: src/userfunc.c, src/testdir/test_vim9_func.vim
27745
27746 Patch 8.2.4549
27747 Problem: Cannot build with Motif and editres. (Tony Mechelynck)
27748 Solution: Fix configure mistake.
27749 Files: src/configure.ac, src/auto/configure
27750
27751 Patch 8.2.4550
27752 Problem: Motif: cannot set the color of the scrollbar thumb.
27753 Solution: Remove #ifdef.
27754 Files: src/gui_motif.c
27755
27756 Patch 8.2.4551
27757 Problem: When mapping <Esc> terminal codes are not recognized.
27758 Solution: Specifically recognize a mapping with just <Esc> and check for
27759 terminal codes even though there is no partial mapping.
27760 (closes #9903)
27761 Files: src/getchar.c, src/testdir/test_termcodes.vim
27762
27763 Patch 8.2.4552
27764 Problem: In a :def function "put = expr" does not work.
27765 Solution: Skip over white space. (closes #9936)
27766 Files: src/vim9cmds.c, src/testdir/test_vim9_cmd.vim
27767
27768 Patch 8.2.4553
27769 Problem: Linear tag search is a bit slow.
27770 Solution: Remove a vim_ftell() call. (Yegappan Lakshmanan, closes #9937)
27771 Files: src/tag.c, src/testdir/test_taglist.vim
27772
27773 Patch 8.2.4554
27774 Problem: Vim9: using null values not sufficiently tested.
27775 Solution: Add more tests. Fix uncovered problem.
27776 Files: src/vim9type.c, src/testdir/test_vim9_assign.vim,
27777 src/testdir/test_vim9_func.vim
27778
27779 Patch 8.2.4555
27780 Problem: getmousepos() returns the wrong column. (Ernie Rael)
27781 Solution: Limit to the text size, not the number of bytes.
27782 Files: src/mouse.c, src/testdir/test_functions.vim
27783
27784 Patch 8.2.4556
27785 Problem: Test fails without the +job or +channel feature. (Dominique Pellé)
27786 Solution: Adjust #ifdefs. Pass on skip flag. (closes #9942)
27787 Files: src/eval.c, src/vim9compile.c
27788
27789 Patch 8.2.4557
27790 Problem: Confusing comment about 'cursorlineopt'.
27791 Solution: Adjust comment. (closes #9939) Add parenthesis around logical
27792 OR.
27793 Files: src/drawline.c
27794
27795 Patch 8.2.4558
27796 Problem: Motif: using default colors does not work as expected.
27797 Solution: Do not try to store the default colors, use the resources.
27798 (closes #9933)
27799 Files: src/gui_motif.c, src/gui.h
27800
27801 Patch 8.2.4559 (after 8.24555)
27802 Problem: getmousepos() returns the screen column. (Ernie Rael)
27803 Solution: Return the text column, as documented.
27804 Files: src/mouse.c, src/testdir/test_functions.vim
27805
27806 Patch 8.2.4560
27807 Problem: Suspending with CTRL-Z does not work on DragonFlyBSD.
27808 Solution: Adjust #ifdef. (Ozaki Kiichi, closes #9943)
27809 Files: src/os_unix.c
27810
27811 Patch 8.2.4561
27812 Problem: Build failure with some combination of features. (John Marriott)
27813 Solution: Adjust #ifdef.
27814 Files: src/mouse.c
27815
27816 Patch 8.2.4562
27817 Problem: Linear tag search is not optimal.
27818 Solution: Improve linear tag search performance. (Yegappan Lakshmanan,
27819 closes #9944)
27820 Files: src/tag.c
27821
27822 Patch 8.2.4563
27823 Problem: "z=" in Visual mode may go beyond the end of the line.
27824 Solution: Adjust "badlen".
27825 Files: src/spellsuggest.c, src/testdir/test_spell.vim
27826
27827 Patch 8.2.4564
27828 Problem: Running test leaves file behind. (Dominique Pellé)
27829 Solution: Run the profiling in a separate Vim instance. (closes #9952)
27830 Files: src/testdir/test_vim9_script.vim
27831
27832 Patch 8.2.4565
27833 Problem: No command line completion for :breakadd and :breakdel.
27834 Solution: Add completion for :breakadd and :breakdel. (Yegappan Lakshmanan,
27835 closes #9950)
27836 Files: runtime/doc/builtin.txt, src/cmdexpand.c, src/spellsuggest.c,
27837 src/usercmd.c, src/vim.h, src/testdir/test_cmdline.vim,
27838 src/testdir/test_writefile.vim
27839
27840 Patch 8.2.4566
27841 Problem: Check for existing buffer in session file does not work for files
27842 in the home directory.
27843 Solution: Use fnamemodify(). (James Cherti, closes #9945) Add a test.
27844 Files: src/session.c, src/testdir/test_mksession.vim
27845
27846 Patch 8.2.4567
27847 Problem: Bracketed paste doesn't work well in Visual linewise mode.
27848 Solution: Handle linewise Visual mode differently. (closes #9947)
27849 Files: src/normal.c, src/testdir/test_paste.vim
27850
27851 Patch 8.2.4568
27852 Problem: getmousepos() does not compute the column below the last line.
27853 Solution: Also compute the column when the mouse is below the last line.
27854 (Sean Dewar, closes #9946)
27855 Files: src/mouse.c, src/testdir/test_functions.vim
27856
27857 Patch 8.2.4569
27858 Problem: Coverity warning for not using a return value.
27859 Solution: Add "(void)".
27860 Files: src/popupwin.c
27861
27862 Patch 8.2.4570
27863 Problem: No command line completion for :profile and :profdel.
27864 Solution: Implement completion. (Yegappan Lakshmanan, closes #9955)
27865 Files: src/cmdexpand.c, src/profiler.c, src/testdir/test_cmdline.vim,
27866 src/testdir/test_profile.vim
27867
27868 Patch 8.2.4571
27869 Problem: Not all gdb files are recognized.
27870 Solution: Add a few more patterns for gdb. (Jade Lovelace, closes #9956)
27871 Files: runtime/filetype.vim, src/testdir/test_filetype.vim
27872
27873 Patch 8.2.4572
27874 Problem: Vim9: return type "any" is sometimes changed to first returned
27875 type. (Virginia Senioria)
27876 Solution: Do not change the return type if declared as "any". (closes #9949)
27877 Files: src/vim9cmds.c, src/testdir/test_vim9_func.vim
27878
27879 Patch 8.2.4573
27880 Problem: A nested function (closure) is compiled for debugging without
27881 context.
27882 Solution: Check if a nested function is marked for debugging before
27883 compiling it. Give an error when trying to compile a closure
27884 without its context. (closes #9951)
27885 Files: src/vim9compile.c, src/vim9execute.c, src/proto/vim9execute.pro,
27886 src/vim9expr.c, src/errors.h
27887
27888 Patch 8.2.4574
27889 Problem: Vim9: test for profiling fails.
27890 Solution: Mark function for profiling earlier to avoid E1271.
27891 Files: src/testdir/test_vim9_script.vim
27892
27893 Patch 8.2.4575
27894 Problem: Vim9: test for profiling still fails.
27895 Solution: Update flags for profiling and breakpoints when obtaining the
27896 compile type. Do not set the FC_CLOSURE flag for a toplevel
27897 function.
27898 Files: src/vim.h, src/vim9compile.c, src/proto/vim9compile.pro,
27899 src/eval.c, src/vim9execute.c, src/vim9expr.c, src/vim9instr.c,
27900 src/vim9.h
27901
27902 Patch 8.2.4576
27903 Problem: Vim9: error for comparing with null can be annoying.
27904 Solution: Allow comparing anything with null. (closes #9948)
27905 Files: src/vim9instr.c, src/typval.c, src/testdir/test_vim9_expr.vim
27906
27907 Patch 8.2.4577
27908 Problem: Message test is flaky. (Elimar Riesebieter)
27909 Solution: Trigger the autocommand event only after startup is finished.
27910 Files: src/testdir/test_messages.vim
27911
27912 Patch 8.2.4578
27913 Problem: No warning when an autoload script for completion function has an
27914 error.
27915 Solution: Do not ignore errors when a function name is given with a dot or
27916 '#' character. (closes #9958)
27917 Files: src/eval.c, src/testdir/test_cmdline.vim
27918
27919 Patch 8.2.4579
27920 Problem: Cannot use page-up and page-down in the command line completion
27921 popup menu.
27922 Solution: Check for to page-up and page-down keys. (Yegappan Lakshmanan,
27923 closes #9960)
27924 Files: src/cmdexpand.c, src/ex_getln.c, src/spellsuggest.c, src/vim.h,
27925 src/testdir/test_cmdline.vim,
27926 src/testdir/dumps/Test_wildmenu_pum_42.dump,
27927 src/testdir/dumps/Test_wildmenu_pum_43.dump,
27928 src/testdir/dumps/Test_wildmenu_pum_44.dump,
27929 src/testdir/dumps/Test_wildmenu_pum_45.dump,
27930 src/testdir/dumps/Test_wildmenu_pum_46.dump,
27931 src/testdir/dumps/Test_wildmenu_pum_47.dump,
27932 src/testdir/dumps/Test_wildmenu_pum_48.dump,
27933 src/testdir/dumps/Test_wildmenu_pum_49.dump,
27934 src/testdir/dumps/Test_wildmenu_pum_50.dump
27935
27936 Patch 8.2.4580
27937 Problem: Vim9: incorrect error for shadowing variable.
27938 Solution: Do not pass the context when compiling a referenced function.
27939 Files: src/vim9expr.c, src/testdir/test_vim9_func.vim
27940
27941 Patch 8.2.4581
27942 Problem: Null types not fully tested.
27943 Solution: Add some more tests using null types.
27944 Files: src/testdir/test_vim9_expr.vim
27945
27946 Patch 8.2.4582
27947 Problem: Useless code handling a type declaration.
27948 Solution: Remove the code and give an error.
27949 Files: src/eval.c, src/errors.h, src/testdir/test_vim9_script.vim,
27950 src/testdir/dumps/Test_misplaced_type.dump
27951
27952 Patch 8.2.4583 (after 8.2.4582)
27953 Problem: Screendump test fails.
27954 Solution: Check that making a screendump is possible.
27955 Files: src/testdir/test_vim9_script.vim
27956
27957 Patch 8.2.4584 (after 8.2.4578)
27958 Problem: Error for using autoload function in custom completion.
27959 Solution: Do not check for errors when using an autoload function.
27960 (closes #9962)
27961 Files: src/eval.c, src/testdir/test_cmdline.vim
27962
27963 Patch 8.2.4585
27964 Problem: Cannot use keypad page-up/down for completion menu.
27965 Solution: Recognize the keypad keys. (Yegappan Lakshmanan, closes #9963)
27966 Files: src/ex_getln.c, src/testdir/test_cmdline.vim
27967
27968 Patch 8.2.4586
27969 Problem: Vim9: no error for using lower case name for "func" argument.
27970 (Ernie Rael)
27971 Solution: Check the name as soon as the type is known.
27972 Files: src/userfunc.c, src/testdir/test_vim9_func.vim
27973
27974 Patch 8.2.4587
27975 Problem: Vim9: double free after unpacking a list.
27976 Solution: Make a copy of the value instead of moving it. (closes #9968)
27977 Files: src/vim9execute.c, src/testdir/test_vim9_script.vim
27978
27979 Patch 8.2.4588
27980 Problem: Mapping with key code after other matching mapping does not work.
27981 Solution: Change ">" to ">=". (closes #9903)
27982 Files: src/getchar.c, src/testdir/test_termcodes.vim
27983
27984 Patch 8.2.4589
27985 Problem: Cannot index the g: dictionary.
27986 Solution: Recognize using "g:[key]". (closes #9969)
27987 Files: src/ex_docmd.c, src/eval.c, src/vim9compile.c,
27988 src/testdir/test_vim9_assign.vim
27989
27990 Patch 8.2.4590
27991 Problem: Vim9: range type check has wrong offset.
27992 Solution: Adjust offset for CHECKTYPE. Remove other type check.
27993 Files: src/vim9compile.c, src/vim9execute.c,
27994 src/testdir/test_vim9_assign.vim
27995
27996 Patch 8.2.4591
27997 Problem: Cursor line not updated when a callback moves the cursor.
27998 Solution: Check if the cursor moved. (closes #9970)
27999 Files: src/main.c, src/drawscreen.c, src/proto/drawscreen.pro,
28000 src/testdir/test_cursorline.vim,
28001 src/testdir/dumps/Test_cursorline_callback_1.dump
28002
28003 Patch 8.2.4592
28004 Problem: Search continues after giving E1204.
28005 Solution: Return failure after giving E1204. (closes #9972)
28006 Files: src/regexp_nfa.c
28007
28008 Patch 8.2.4593
28009 Problem: Unnecessary call to redraw_later().
28010 Solution: Remove the call to redraw_later() in op_yank(). (closes #9971)
28011 Files: src/register.c
28012
28013 Patch 8.2.4594
28014 Problem: Need to write script to a file to be able to source them.
28015 Solution: Make ":source" use lines from the current buffer. (Yegappan
28016 Lakshmanan et al., closes #9967)
28017 Files: runtime/doc/repeat.txt, runtime/doc/todo.txt, src/alloc.c,
28018 src/digraph.c, src/eval.c, src/ex_cmds.h, src/scriptfile.c,
28019 src/proto/scriptfile.pro, src/vim9script.c,
28020 src/testdir/test_source.vim
28021
28022 Patch 8.2.4595
28023 Problem: X11: using --remote-wait may keep the CPU busy.
28024 Solution: Set the timeout for select() on every call. (Jacopo Secchiero,
28025 closes #9973)
28026 Files: src/if_xcmdsrv.c
28027
28028 Patch 8.2.4596
28029 Problem: Installing tutor binary may fail.
28030 Solution: Fix the dependency. (Sergei Trofimovich, closes #9978)
28031 Files: src/Makefile
28032
28033 Patch 8.2.4597
28034 Problem: LuaV_debug() not covered by tests.
28035 Solution: Add a test. (Dominique Pellé, closes #9980)
28036 Files: src/testdir/test_lua.vim
28037
28038 Patch 8.2.4598
28039 Problem: Profile completion test sometimes fails.
28040 Solution: Delete the .res file before running tests.
28041 Files: src/testdir/runtest.vim
28042
28043 Patch 8.2.4599
28044 Problem: GTK: get assertion errors when scrolling a split window.
28045 Solution: Use GDK_IS_DRAWABLE() on the scrollbar window. (closes #9982)
28046 Files: src/gui_gtk.c
28047
28048 Patch 8.2.4600
28049 Problem: Vim9: not enough test coverage for executing :def function.
28050 Solution: Add a few more tests. Fix inconsistencies.
28051 Files: src/vim9execute.c, src/evalvars.c, src/proto/evalvars.pro,
28052 src/testdir/test_listdict.vim, src/testdir/test_vim9_assign.vim,
28053 src/testdir/test_vim9_cmd.vim
28054
28055 Patch 8.2.4601
28056 Problem: Vim9: not enough test coverage for executing :def function.
28057 Solution: Add a few more tests.
28058 Files: src/testdir/test_vim9_script.vim, src/testdir/test_vim9_func.vim,
28059 src/testdir/test_vim9_cmd.vim
28060
28061 Patch 8.2.4602
28062 Problem: Vim9: not enough test coverage for executing :def function.
28063 Solution: Add a few more tests. Fix uncovered problem. Remove dead code.
28064 Files: src/vim9execute.c, src/vim9.h, src/vim9instr.c,
28065 src/proto/vim9instr.pro, src/vim9compile.c,
28066 src/testdir/test_vim9_script.vim, src/testdir/test_vim9_expr.vim
28067
28068 Patch 8.2.4603
28069 Problem: Sourcing buffer lines is too complicated.
28070 Solution: Simplify the code. Make it possible to source Vim9 script lines.
28071 (Yegappan Lakshmanan, closes #9974)
28072 Files: runtime/doc/repeat.txt, src/ex_docmd.c, src/proto/scriptfile.pro,
28073 src/scriptfile.c, src/structs.h, src/testdir/test_source.vim
28074
28075 Patch 8.2.4604
28076 Problem: Error for redefining a script item may be confusing.
28077 Solution: Put quotes around the name.
28078 Files: src/errors.h
28079
28080 Patch 8.2.4605
28081 Problem: Error for arguments of remote_expr() even when the +clientserver
28082 feature is not included.
28083 Solution: Move #ifdef.
28084 Files: src/clientserver.c
28085
28086 Patch 8.2.4606 (after 8.2.4605)
28087 Problem: Test fails because of changed error message.
28088 Solution: Update the expected error message
28089 Files: src/testdir/test_vim9_import.vim
28090
28091 Patch 8.2.4607
28092 Problem: Sourcing buffer lines may lead to errors for conflicts.
28093 Solution: Add the ++clear argument. (Yegappan Lakshmanan, closes #9991)
28094 Files: runtime/doc/repeat.txt, src/scriptfile.c, src/vim9script.c,
28095 src/proto/vim9script.pro, src/testdir/test_source.vim
28096
28097 Patch 8.2.4608
28098 Problem: getcompletion() does not work properly when 'wildoptions
28099 contains "fuzzy".
28100 Solution: Do not use addstar(). (Yegappan Lakshmanan, closes #9992,
28101 closes #9986)
28102 Files: runtime/doc/builtin.txt, src/cmdexpand.c,
28103 src/testdir/test_cmdline.vim
28104
28105 Patch 8.2.4609
28106 Problem: :unhide does not check for failing to close a window.
28107 Solution: When closing a window fails continue with the next one. Do not
28108 try closing the autocmd window. (closes #9984)
28109 Files: src/buffer.c, src/window.c, src/proto/window.pro,
28110 src/testdir/test_autocmd.vim
28111
28112 Patch 8.2.4610
28113 Problem: Some conditions are always true.
28114 Solution: Remove the useless conditions. (closes #9993)
28115 Files: src/clientserver.c, src/drawline.c, src/drawscreen.c,
28116 src/ex_cmds.c, src/fileio.c, src/message.c, src/misc2.c,
28117 src/ops.c, src/sign.c, src/spell.c, src/vim9cmds.c, src/window.c
28118
28119 Patch 8.2.4611
28120 Problem: Typos in tests; one lua line not covered by test.
28121 Solution: Fix typos. Add test case. (Dominique Pellé, closes #9994)
28122 Files: src/testdir/test_breakindent.vim, src/testdir/test_crypt.vim,
28123 src/testdir/test_cursorline.vim, src/testdir/test_digraph.vim,
28124 src/testdir/test_gui.vim, src/testdir/test_lua.vim,
28125 src/testdir/test_regexp_latin.vim, src/testdir/test_signals.vim,
28126 src/testdir/test_spell.vim, src/testdir/test_statusline.vim,
28127 src/testdir/test_vim9_disassemble.vim,
28128 src/testdir/test_vim9_expr.vim, src/testdir/test_vimscript.vim
28129
28130 Patch 8.2.4612
28131 Problem: Vim9: cannot use a recursive call in a nested function. (Sergey
28132 Vlasov)
28133 Solution: Define the funcref before compiling the function. (closes #9989)
28134 Files: src/vim9compile.c, src/vim9instr.c, src/proto/vim9instr.pro,
28135 src/vim9expr.c, src/testdir/test_vim9_func.vim
28136
28137 Patch 8.2.4613
28138 Problem: Return type of swapfile_unchanged() is wrong.
28139 Solution: Use "int". (closes #10000 Yeah!)
28140 Files: src/memline.c
28141
28142 Patch 8.2.4614
28143 Problem: Redrawing too much when 'cursorline' is set and jumping around.
28144 Solution: Rely on win_update() to redraw the current and previous cursor
28145 line, do not mark lines as modified. (closes #9996)
28146 Files: src/drawline.c, src/drawscreen.c, src/move.c, src/proto/move.pro,
28147 src/option.c
28148
28149 Patch 8.2.4615
28150 Problem: Mapping with escaped bar does not work in :def function. (Sergey
28151 Vlasov)
28152 Solution: Do not remove the backslash. (closes #10002)
28153 Files: src/ex_docmd.c, src/proto/ex_docmd.pro, src/syntax.c,
28154 src/vim9cmds.c, src/testdir/test_vim9_cmd.vim
28155
28156 Patch 8.2.4616
28157 Problem: Vim9: Declarations in a {} block of a user command do not use Vim9
28158 rules if defined in a legacy script. (Yegappan Lakshmanan)
28159 Solution: Pretend the script is Vim9 script.
28160 Files: src/usercmd.c, src/testdir/test_usercommands.vim
28161
28162 Patch 8.2.4617
28163 Problem: No completion for :scriptnames.
28164 Solution: Implement :scriptnames completion. (Yegappan Lakshmanan,
28165 closes #10005)
28166 Files: runtime/doc/builtin.txt, src/cmdexpand.c, src/ex_cmds.h,
28167 src/scriptfile.c, src/usercmd.c, src/vim.h,
28168 src/testdir/test_cmdline.vim, src/testdir/test_quickfix.vim
28169
28170 Patch 8.2.4618
28171 Problem: Command line completion does not recognize single letter commands.
28172 Solution: Use the condition from find_ex_command().
28173 Files: src/ex_docmd.c
28174
28175 Patch 8.2.4619
28176 Problem: Mapping is cancelled when mouse moves and popup is visible.
28177 Solution: Only generate mouse moved events when a popup may use them.
28178 (closes #10004)
28179 Files: src/gui.c, src/globals.h, src/popupwin.c
28180
28181 Patch 8.2.4620 (after 8.2.4618)
28182 Problem: Two letter substitute commands don't work. (Yegappan Lakshmanan)
28183 Solution: Invert condition.
28184 Files: src/ex_docmd.c
28185
28186 Patch 8.2.4621
28187 Problem: Crash when using the tabline right-click menu.
28188 Solution: Use XtPointer for XmNuserData. (closes #10009)
28189 Files: src/gui_motif.c
28190
28191 Patch 8.2.4622
28192 Problem: Vim9: Crash with :execute and :finish. (Sergey Vlasov)
28193 Solution: Check for NULL. (closes #10011)
28194 Files: src/eval.c, src/testdir/test_vim9_script.vim
28195
28196 Patch 8.2.4623
28197 Problem: Coverity warns for using uninitialized field.
28198 Solution: Initialize he field to zero.
28199 Files: src/ex_docmd.c
28200
28201 Patch 8.2.4624
28202 Problem: Old Coverity warning for resource leak.
28203 Solution: Close the file if memory allocation fails.
28204 Files: src/diff.c
28205
28206 Patch 8.2.4625
28207 Problem: Old Coverity warning for resource leak.
28208 Solution: Call FreeWild() if expanding matches did not fail.
28209 Files: src/help.c
28210
28211 Patch 8.2.4626
28212 Problem: Visual area not fully updated when removing sign in Visual mode
28213 while scrolling.
28214 Solution: Adjust check for topline. (closes #10017)
28215 Files: src/drawscreen.c, src/testdir/test_display.vim,
28216 src/testdir/dumps/Test_display_scroll_update_visual.dump
28217
28218 Patch 8.2.4627
28219 Problem: flatten() does not use maxdepth correctly.
28220 Solution: Use a recursive implementation. (closes #10020)
28221 Files: src/list.c, src/testdir/test_flatten.vim
28222
28223 Patch 8.2.4628
28224 Problem: Not enough testing for 2/3 letter substitute commands.
28225 Solution: Add more tests. (Yegappan Lakshmanan, closes #10019)
28226 Files: src/testdir/test_cmdline.vim, src/testdir/test_substitute.vim
28227
28228 Patch 8.2.4629
28229 Problem: flattennew() makes a deep copy unnecessarily.
28230 Solution: Use a shallow copy. (issue #10012)
28231 Files: src/list.c
28232
28233 Patch 8.2.4630
28234 Problem: 'cursorline' not always updated with 'cursorlineopt' is
28235 "screenline".
28236 Solution: Call check_redraw_cursorline() more often. (closes #10013)
28237 Files: src/normal.c, src/edit.c, src/testdir/test_cursorline.vim,
28238 src/testdir/dumps/Test_cursorline_screenline_1.dump,
28239 src/testdir/dumps/Test_cursorline_screenline_2.dump
28240
28241 Patch 8.2.4631
28242 Problem: Crash when switching window in BufWipeout autocommand.
28243 Solution: Put any buffer in the window to avoid it being NULL.
28244 (closes #10024)
28245 Files: src/window.c, src/buffer.c, src/testdir/test_autocmd.vim
28246
28247 Patch 8.2.4632
28248 Problem: Using freed memory in flatten().
28249 Solution: Clear typval after recursing into list.
28250 Files: src/list.c
28251
28252 Patch 8.2.4633
28253 Problem: Visual range does not work before command modifiers.
28254 Solution: Move Visual range to after command modifiers.
28255 Files: src/ex_docmd.c, src/testdir/test_source.vim
28256
28257 Patch 8.2.4634
28258 Problem: Vim9: cannot initialize a variable to null_list.
28259 Solution: Give negative count to NEWLIST. (closes #10027)
28260 Also fix inconsistencies in comparing with null values.
28261 Files: src/vim9instr.c, src/proto/vim9instr.pro, src/vim9.h,
28262 src/vim9compile.c, src/vim9expr.c, src/vim9execute.c,
28263 src/evalvars.c, src/typval.c, src/testdir/test_vim9_expr.vim,
28264 src/testdir/test_vim9_builtin.vim,
28265 src/testdir/test_vim9_disassemble.vim
28266
28267 Patch 8.2.4635 (after 8.2.4634)
28268 Problem: Tests using null list or dict fail.
28269 Solution: Only use the new rules for Vim9 script.
28270 Files: src/evalvars.c
28271
28272 Patch 8.2.4636 (after 8.2.4633)
28273 Problem: Not using Visual range.
28274 Solution: Put the command pointer back to the range.
28275 Files: src/ex_docmd.c
28276
28277 Patch 8.2.4637
28278 Problem: Warning for using uninitialized variable. (Tony Mechelynck)
28279 Solution: Initialize it.
28280 Files: src/ex_docmd.c
28281
28282 Patch 8.2.4638
28283 Problem: Superfluous check if a redraw is needed for 'cursorline'.
28284 Solution: Remove check_redraw_cursorline(). (closes #10030, closes #10029)
28285 Files: src/drawscreen.c, src/proto/drawscreen.pro, src/edit.c,
28286 src/main.c, src/normal.c, src/move.c,
28287 src/testdir/dumps/Test_cursorcolumn_callback_1.dump,
28288 src/testdir/dumps/Test_relativenumber_callback_1.dump,
28289 src/testdir/test_highlight.vim, src/testdir/test_number.vim
28290
28291 Patch 8.2.4639
28292 Problem: Not sufficient parenthesis in preprocessor macros.
28293 Solution: Add more parenthesis. (closes #10031)
28294 Files: src/globals.h, src/gui.h, src/if_py_both.h, src/macros.h,
28295 src/option.h, src/regexp.h, src/spell.h, src/structs.h, src/vim.h,
28296 src/vim9.h
28297
28298 Patch 8.2.4640
28299 Problem: Some boolean options use "long" instead of "int".
28300 Solution: Adjust the type. (James McCoy, closes #10033)
28301 Files: src/option.h
28302
28303 Patch 8.2.4641
28304 Problem: May mark the wrong window for redrawing.
28305 Solution: Use redraw_win_later(). (closes #10032)
28306 Files: src/move.c
28307
28308 Patch 8.2.4642
28309 Problem: Vim9: in :def function script var cannot be null.
28310 Solution: Only initialize a script variable when not set to a null value.
28311 (closes #10034)
28312 Files: src/vim9execute.c, src/vim9type.c, src/globals.h, src/evalvars.c,
28313 src/vim.h, src/vim9script.c, src/testdir/test_vim9_expr.vim
28314
28315 Patch 8.2.4643
28316 Problem: Vim9: variable may be locked unintentionally.
28317 Solution: Clear "v_lock". (closes #10036)
28318 Files: src/vim9execute.c, src/testdir/test_vim9_builtin.vim
28319
28320 Patch 8.2.4644
28321 Problem: Redrawing too often when 'relativenumber' is set.
28322 Solution: Only redraw when the cursor line changed. (Lewis Russell,
28323 closes #10040)
28324 Files: src/change.c, src/drawscreen.c, src/structs.h
28325
28326 Patch 8.2.4645
28327 Problem: 'shortmess' changed when session does not store options.
28328 Solution: Save and restore 'shortmess' if needed. (James Charti,
28329 closes #10037)
28330 Files: src/session.c, src/testdir/test_mksession.vim
28331
28332 Patch 8.2.4646
28333 Problem: Using buffer line after it has been freed in old regexp engine.
28334 Solution: After getting mark get the line again.
28335 Files: src/regexp_bt.c, src/testdir/test_regexp_latin.vim
28336
28337 Patch 8.2.4647
28338 Problem: "source" can read past end of copied line.
28339 Solution: Add a terminating NUL.
28340 Files: src/scriptfile.c, src/testdir/test_source.vim
28341
28342 Patch 8.2.4648
28343 Problem: Handling LSP messages is a bit slow.
28344 Solution: Included support for LSP messages. (Yegappan Lakshmanan,
28345 closes #10025)
28346 Files: runtime/doc/channel.txt, src/channel.c, src/job.c, src/json.c,
28347 src/proto/json.pro, src/structs.h, src/testdir/test_channel.vim,
28348 src/testdir/test_channel_lsp.py
28349
28350 Patch 8.2.4649
28351 Problem: Various formatting problems.
28352 Solution: Improve the code formatting.
28353 Files: src/mark.c, src/quickfix.c, src/regexp_nfa.c, src/register.c,
28354 src/testdir/test_filechanged.vim, src/gui_athena.c,
28355 src/gui_motif.c, src/os_unix.c
28356
28357 Patch 8.2.4650
28358 Problem: "import autoload" only works with using 'runtimepath'.
28359 Solution: Also support a relative and absolute file name.
28360 Files: runtime/doc/vim9.txt, src/structs.h, src/scriptfile.c,
28361 src/proto/scriptfile.pro, src/vim9script.c, src/vim9expr.c,
28362 src/vim9.h, src/vim9execute.c, src/vim9instr.c,
28363 src/proto/vim9instr.pro, src/vim.h, src/userfunc.c,
28364 src/proto/userfunc.pro, src/testdir/test_vim9_import.vim,
28365 src/testdir/test_vim9_disassemble.vim
28366
28367 Patch 8.2.4651 (after 8.2.4650)
28368 Problem: Test fails because path differs.
28369 Solution: Only compare the tail of the path.
28370 Files: src/testdir/test_vim9_disassemble.vim
28371
28372 Patch 8.2.4652 (after 8.2.4650)
28373 Problem: Leaking memory if assignment fails.
28374 Solution: Clear assigned value on failure.
28375 Files: src/vim9execute.c
28376
28377 Patch 8.2.4653
28378 Problem: "import autoload" does not check the file name.
28379 Solution: Give an error if the file is not readable. (closes #10049)
28380 Files: src/filepath.c, src/proto/filepath.pro, src/errors.h,
28381 src/ex_cmds.c, src/ex_docmd.c, src/spellfile.c,
28382 src/testdir/test_vim9_import.vim
28383
28384 Patch 8.2.4654 (after 8.2.4653)
28385 Problem: Missing changes for import check.
28386 Solution: Add missing changes.
28387 Files: src/vim9script.c
28388
28389 Patch 8.2.4655
28390 Problem: Command line completion popup menu positioned wrong when using a
28391 terminal window.
28392 Solution: Position the popup menu differently when editing the command line.
28393 (Yegappan Lakshmanan, closes #10050, closes #10035)
28394 Files: src/popupmenu.c, src/testdir/test_cmdline.vim,
28395 src/testdir/test_terminal.vim,
28396 src/testdir/dumps/Test_wildmenu_pum_term_01.dump
28397
28398 Patch 8.2.4656
28399 Problem: Vim9: can't use items from "import autoload" with autoload
28400 directory name.
28401 Solution: Let sn_autoload_prefix overrule sn_import_autoload.
28402 (closes #10054)
28403 Files: src/structs.h, src/vim9instr.c, src/vim9expr.c, src/vim9script.c,
28404 src/testdir/test_vim9_import.vim
28405
28406 Patch 8.2.4657
28407 Problem: Errors for functions are sometimes hard to read.
28408 Solution: Use printable_func_name() in more places.
28409 Files: src/vim9execute.c, src/userfunc.c, src/proto/userfunc.pro,
28410 src/vim9expr.c, src/eval.c, src/vim9instr.c, src/vim9type.c,
28411 src/testdir/test_vim9_expr.vim
28412
28413 Patch 8.2.4658
28414 Problem: Org-mode files are not recognized.
28415 Solution: Add patterns to recognize "org" files. (closes #10046)
28416 Files: runtime/filetype.vim, src/testdir/test_filetype.vim
28417
28418 Patch 8.2.4659
28419 Problem: Invalid memory access when using printable function name.
28420 Solution: Adjust copied name length.
28421 Files: src/userfunc.c
28422
28423 Patch 8.2.4660
28424 Problem: Cursorcolumn is sometimes not correct.
28425 Solution: Recompute the cursor column when entering Insert mode and the
28426 cursor is on a character wider than a screen cell. (closes #10057)
28427 Files: src/edit.c, src/testdir/test_highlight.vim,
28428 src/testdir/dumps/Test_cursorcolumn_insert_on_tab_1.dump,
28429 src/testdir/dumps/Test_cursorcolumn_insert_on_tab_2.dump
28430
28431 Patch 8.2.4661
28432 Problem: Coverity warning for using uninitialized variable.
28433 Solution: Initialize variable to NULL.
28434 Files: src/vim9expr.c
28435
28436 Patch 8.2.4662
28437 Problem: No error for using out of range list index.
28438 Solution: Check list index at script level like in compiled function.
28439 (closes #10051)
28440 Files: src/vim.h, src/evalvars.c, src/list.c, src/proto/list.pro,
28441 src/eval.c, src/vim9execute.c, src/testdir/test_vim9_assign.vim
28442
28443 Patch 8.2.4663
28444 Problem: Occasional crash when running the GUI tests.
28445 Solution: Check that the line index is not too high. (closes #8681)
28446 Files: src/screen.c
28447
28448 Patch 8.2.4664
28449 Problem: Elvish files are not recognized.
28450 Solution: Recognize .elv files. (Bruno Roque, closes #10058)
28451 Files: runtime/filetype.vim, src/testdir/test_filetype.vim
28452
28453 Patch 8.2.4665
28454 Problem: Popup with "minwidth" and scrollbar not updated properly.
28455 Solution: Adjust the computation if the window width. (closes #10061)
28456 Files: src/popupwin.c, src/testdir/test_popupwin.vim,
28457 src/testdir/dumps/Test_popupwin_previewpopup_4.dump,
28458 src/testdir/dumps/Test_popupwin_previewpopup_5.dump,
28459 src/testdir/dumps/Test_popupwin_previewpopup_7.dump,
28460 src/testdir/dumps/Test_popupwin_previewpopup_8.dump,
28461 src/testdir/dumps/Test_popupwin_previewpopup_9.dump,
28462 src/testdir/dumps/Test_popupwin_previewpopup_10.dump,
28463 src/testdir/dumps/Test_popupwin_drag_minwidth_1.dump,
28464 src/testdir/dumps/Test_popupwin_drag_minwidth_2.dump,
28465 src/testdir/dumps/Test_popupwin_drag_minwidth_3.dump
28466
28467 Patch 8.2.4666
28468 Problem: Vim9: assignment not recognized in skipped block.
28469 Solution: When skipping assume identifier exists. (closes #10059)
28470 Files: src/vim9compile.c, src/proto/vim9compile.pro, src/vim9cmds.c,
28471 src/testdir/test_vim9_cmd.vim, src/testdir/test_vim9_script.vim
28472
28473 Patch 8.2.4667
28474 Problem: expandcmd() fails on an error.
28475 Solution: On failure return the command unmodified. (yegappan Lakshmanan,
28476 closes #10063)
28477 Files: runtime/doc/builtin.txt, src/evalfunc.c,
28478 src/testdir/test_expand.vim
28479
28480 Patch 8.2.4668
28481 Problem: Buffer allocation failures insufficiently tested.
28482 Solution: Add tests for memory allocation failures. (Yegappan Lakshmanan,
28483 closes #10064)
28484 Files: src/alloc.h, src/buffer.c, src/popupwin.c, src/window.c,
28485 src/testdir/test_buffer.vim, src/testdir/test_swap.vim
28486
28487 Patch 8.2.4669
28488 Problem: In compiled code len('string') is not inlined.
28489 Solution: Compute the length at compile time if possible. (closes #10065)
28490 Files: src/evalfunc.c, src/proto/evalfunc.pro, src/vim9expr.c,
28491 src/testdir/test_vim9_disassemble.vim
28492
28493 Patch 8.2.4670
28494 Problem: Memory allocation failures for new tab page not tested.
28495 Solution: Add tests with failing memory allocation. (Yegappan Lakshmanan,
28496 closes #10067)
28497 Files: src/alloc.h, src/blob.c, src/buffer.c, src/window.c,
28498 src/testdir/test_blob.vim, src/testdir/test_buffer.vim,
28499 src/testdir/test_tabpage.vim, src/testdir/test_window_cmd.vim
28500
28501 Patch 8.2.4671
28502 Problem: 'wildignorecase' is sometimes not used for glob().
28503 Solution: Also use 'wildignorecase' when there are no wildcards.
28504 (closes #10066, closes #8350)
28505 Files: src/filepath.c, src/testdir/test_functions.vim
28506
28507 Patch 8.2.4672
28508 Problem: Using :normal with Ex mode may make :substitute hang.
28509 Solution: When getting an empty line behave like 'q' was typed.
28510 (closes #10070)
28511 Files: src/ex_cmds.c, src/testdir/test_normal.vim
28512
28513 Patch 8.2.4673
28514 Problem: Redrawing a vertically split window is slow when using CTRL-F and
28515 CTRL-B.
28516 Solution: When deciding on USE_REDRAW bail out if scrolling more than three
28517 lines. (issue #8002)
28518 Files: src/screen.c
28519
28520 Patch 8.2.4674
28521 Problem: Cannot force getting MouseMove events.
28522 Solution: Add the 'mousemoveevent' option with implementaiton for the GUI.
28523 (Ernie Rael, closes #10044)
28524 Files: runtime/doc/gui.txt, runtime/doc/options.txt,
28525 runtime/doc/testing.txt, src/gui.c, src/option.h,
28526 src/optiondefs.h, src/testing.c, src/testdir/test_gui.vim
28527
28528 Patch 8.2.4675
28529 Problem: No error for missing expression after :elseif. (Ernie Rael)
28530 Solution: Check for missing expression. (closes #10068)
28531 Files: src/ex_eval.c, src/testdir/test_vim9_script.vim
28532
28533 Patch 8.2.4676 (after 8.2.4675)
28534 Problem: Test fails with different error.
28535 Solution: Add argument to :elseif.
28536 Files: src/testdir/test_vimscript.vim
28537
28538 Patch 8.2.4677
28539 Problem: The Athena GUI support is outdated.
28540 Solution: Remove the Athena GUI code.
28541 Files: Filelist, src/Makefile, src/proto.h, src/clipboard.c,
28542 src/gui_athena.c, src/proto/gui_athena.pro, src/gui_at_sb.c,
28543 src/gui_at_sb.h, src/gui_at_fs.c, src/gui_motif.c, src/evalfunc.c,
28544 src/gui.c, src/gui_beval.c, src/gui_x11.c, src/if_mzsch.c,
28545 src/main.c, src/menu.c, src/mouse.c, src/version.c, src/feature.h,
28546 src/gui.h, src/structs.h, src/vim.h, src/testdir/gui_init.vim,
28547 src/testdir/setup_gui.vim, src/testdir/test_clientserver.vim,
28548 src/testdir/test_edit.vim, src/testdir/test_gui.vim,
28549 src/testdir/test_highlight.vim, src/testdir/test_quotestar.vim,
28550 src/testdir/test_startup.vim, runtime/doc/gui.txt,
28551 runtime/doc/gui_x11.txt
28552
28553 Patch 8.2.4678
28554 Problem: Vim9: not all code is tested.
28555 Solution: Add a few more tests.
28556 Files: src/vim9execute.c, src/testdir/test_vim9_script.vim,
28557 src/testdir/test_vim9_import.vim, src/testdir/test_vim9_cmd.vim
28558
28559 Patch 8.2.4679
28560 Problem: Cannot have expandcmd() give an error message for mistakes.
28561 Solution: Add an optional argument to give errors. Fix memory leak when
28562 expanding files fails. (Yegappan Lakshmanan, closes #10071)
28563 Files: runtime/doc/builtin.txt, src/evalfunc.c, src/filepath.c,
28564 src/testdir/test_expand.vim, src/testdir/test_vim9_builtin.vim
28565
28566 Patch 8.2.4680
28567 Problem: Build failure without +postscript.
28568 Solution: Use another error message.
28569 Files: src/vim9execute.c, src/testdir/test_vim9_import.vim
28570
28571 Patch 8.2.4681
28572 Problem: Build fails with a combination of features.
28573 Solution: Remove #ifdef for alloc_clear_id(). (John Marriott)
28574 Files: src/alloc.c
28575
28576 Patch 8.2.4682
28577 Problem: Vim9: can use :unlockvar for const variable. (Ernie Rael)
28578 Solution: Check whether the variable is a const.
28579 Files: src/ex_docmd.c, src/evalvars.c, src/vim9script.c,
28580 src/proto/vim9script.pro, src/eval.c, src/userfunc.c,
28581 src/testdir/test_vim9_cmd.vim
28582
28583 Patch 8.2.4683
28584 Problem: Verbose check with dict_find() to see if a key is present.
28585 Solution: Add dict_has_key(). (Yegappan Lakshmanan, closes #10074)
28586 Files: src/channel.c, src/dict.c, src/evalwindow.c, src/filepath.c,
28587 src/highlight.c, src/json.c, src/match.c, src/popupwin.c,
28588 src/proto/dict.pro, src/quickfix.c, src/search.c, src/sign.c,
28589 src/tag.c, src/terminal.c, src/testing.c, src/textprop.c,
28590 src/time.c
28591
28592 Patch 8.2.4684
28593 Problem: Cannot open a channel on a Unix domain socket.
28594 Solution: Add Unix domain socket support. (closes #10062)
28595 Files: runtime/doc/channel.txt, src/channel.c, src/testdir/check.vim,
28596 src/testdir/shared.vim, src/testdir/test_channel.py,
28597 src/testdir/test_channel.vim, src/testdir/test_channel_unix.py,
28598 src/testdir/test_cmdline.vim
28599
28600 Patch 8.2.4685
28601 Problem: When a swap file is found for a popup there is no dialog and the
28602 buffer is loaded anyway.
28603 Solution: Silently load the buffer read-only. (closes #10073)
28604 Files: runtime/doc/popup.txt, src/memline.c, src/popupwin.c, src/vim.h,
28605 src/buffer.c, src/testdir/test_popupwin.vim
28606
28607 Patch 8.2.4686
28608 Problem: Configure doesn't find the Motif library with Cygwin.
28609 Solution: Check for libXm.dll.a. (Kelvin Lee, closes #10077)
28610 Files: src/configure.ac, src/auto/configure
28611
28612 Patch 8.2.4687
28613 Problem: "vimgrep /\%v/ *" may cause a crash.
28614 Solution: When compiling the pattern with the old engine fails, restore the
28615 regprog of the new engine instead of leaving it NULL.
28616 (closes #10079)
28617 Files: src/regexp.c
28618
28619 Patch 8.2.4688
28620 Problem: New regexp engine does not give an error for "\%v".
28621 Solution: Check for a value argument. (issue #10079)
28622 Files: src/regexp_nfa.c, src/errors.h, src/regexp_bt.c,
28623 src/testdir/test_regexp_latin.vim
28624
28625 Patch 8.2.4689
28626 Problem: Using <Cmd> in a mapping does not work for mouse keys in Insert
28627 mode. (Sergey Vlasov)
28628 Solution: When reading the <Cmd> argument do not use the stuff buffer.
28629 (closes #10080)
28630 Files: src/getchar.c
28631
28632 Patch 8.2.4690
28633 Problem: Channel tests fail on MS-Windows.
28634 Solution: Check if the AF_UNIX attribute exists. (closes #10083)
28635 Files: src/testdir/test_channel.py, src/testdir/test_channel_unix.py
28636
28637 Patch 8.2.4691 (after 8.2.4689)
28638 Problem: Solution for <Cmd> in a mapping causes trouble.
28639 Solution: Use another solution: put back CTRL-O after reading the <Cmd>
28640 sequence.
28641 Files: src/getchar.c
28642
28643 Patch 8.2.4692
28644 Problem: No test for what 8.2.4691 fixes.
28645 Solution: Add a test. Use a more generic sotlution. (closes #10090)
28646 Files: src/getchar.c, src/mouse.c, src/testdir/test_mapping.vim
28647
28648 Patch 8.2.4693 (after 8.2.4688)
28649 Problem: new regexp does not accept pattern "\%>0v".
28650 Solution: Do accept digit zero.
28651 Files: src/regexp_bt.c, src/regexp_nfa.c,
28652 src/testdir/test_regexp_latin.vim
28653
28654 Patch 8.2.4694
28655 Problem: Avoidance of #elif causes more preproc nesting.
28656 Solution: Use #elif where it is useful. (Ozaki Kiichi, closes #10081)
28657 Files: src/option.c, src/optiondefs.h, src/optionstr.c, src/version.c
28658
28659 Patch 8.2.4695
28660 Problem: JSON encoding could be faster.
28661 Solution: Optimize encoding JSON strings. (closes #10086)
28662 Files: src/json.c, src/testdir/test_json.vim
28663
28664 Patch 8.2.4696
28665 Problem: delete() with "rf" argument does not report a failure.
28666 Solution: Return -1 if the directory could not be removed. (closes #10078)
28667 Files: src/fileio.c, src/testdir/test_functions.vim
28668
28669 Patch 8.2.4697
28670 Problem: Vim9: crash when adding a duplicate key to a dictionary.
28671 Solution: Clear the stack item when it has been moved into the dictionary.
28672 (closes #10087)
28673 Files: src/vim9execute.c, src/testdir/test_vim9_expr.vim
28674
28675 Patch 8.2.4698
28676 Problem: Vim9: script variable has no flag that it was set.
28677 Solution: Add a flag that it was set, to avoid giving it a value when used.
28678 (closes #10088)
28679 Files: src/structs.h, src/vim9script.c, src/vim9execute.c,
28680 src/evalvars.c, src/testdir/test_vim9_assign.vim,
28681 src/testdir/test_vim9_builtin.vim
28682
28683 Patch 8.2.4699
28684 Problem: Hard to reproduce hang when reading from a channel.
28685 Solution: Check for readahead before starting to wait. (closes #10093,
28686 closes #7781, closes #6364)
28687 Files: src/channel.c
28688
28689 Patch 8.2.4700
28690 Problem: Buffer remains active if a WinClosed event throws an exception.
28691 Solution: Ignore aborting() when closing the buffer. (closes #10097)
28692 Files: src/window.c, src/testdir/test_autocmd.vim
28693
28694 Patch 8.2.4701
28695 Problem: Kuka Robot Language files not recognized.
28696 Solution: Recognize *.src and *.dat files. (Patrick Meiser-Knosowski,
28697 closes #10096)
28698 Files: runtime/filetype.vim, src/testdir/test_filetype.vim,
28699 runtime/autoload/dist/ft.vim
28700
28701 Patch 8.2.4702
28702 Problem: C++ scope labels are hard-coded.
28703 Solution: Add 'cinscopedecls' to define the labels. (Rom Praschan,
28704 closes #10109)
28705 Files: runtime/doc/indent.txt, runtime/doc/options.txt,
28706 runtime/doc/quickref.txt, runtime/optwin.vim, src/buffer.c,
28707 src/cindent.c, src/option.c, src/option.h, src/optiondefs.h,
28708 src/optionstr.c, src/structs.h, src/testdir/test_cindent.vim
28709
28710 Patch 8.2.4703 (after 8.2.4702)
28711 Problem: Memory leak in handling 'cinscopedecls'.
28712 Solution: Free the memory before returning.
28713 Files: src/cindent.c
28714
28715 Patch 8.2.4704
28716 Problem: Using "else" after return or break increases indent.
28717 Solution: Remove "else" and reduce indent. (Goc Dundar, closes #10099)
28718 Files: src/fileio.c, src/memline.c, src/option.c, src/syntax.c
28719
28720 Patch 8.2.4705
28721 Problem: reg_executing may not be cleared.
28722 Solution: Reset reg_executing later. (closes #10111, closes #10110)
28723 Files: src/ex_docmd.c, src/getchar.c, src/globals.h, src/structs.h,
28724 src/testdir/test_registers.vim
28725
28726 Patch 8.2.4706
28727 Problem: Buffer remains active if a WinClosed event throws an exception
28728 when there are multiple tabpages.
28729 Solution: Ignore aborting() when closing the buffer. (closes #10101)
28730 Files: src/window.c, src/testdir/test_autocmd.vim
28731
28732 Patch 8.2.4707
28733 Problem: Redrawing could be a bit more efficient.
28734 Solution: Optimize redrawing. (closes #10105)
28735 Files: src/change.c, src/edit.c, src/testdir/test_highlight.vim,
28736 src/testdir/dumps/Test_cursorcolumn_insert_on_tab_3.dump
28737
28738 Patch 8.2.4708
28739 Problem: PHP test files are not recognized.
28740 Solution: Add the *.phpt pattern. (Julien Voisin, closes #10112)
28741 Files: runtime/filetype.vim, src/testdir/test_filetype.vim
28742
28743 Patch 8.2.4709
28744 Problem: After :redraw the statusline highlight might be used.
28745 Solution: Clear the screen attribute after redrawing the screen.
28746 (closes #10108)
28747 Files: src/ex_docmd.c
28748
28749 Patch 8.2.4710
28750 Problem: Smart indenting does not work after completion.
28751 Solution: Set "can_si". (Christian Brabandt, closes #10113, closes #558)
28752 Files: src/edit.c, src/testdir/test_ins_complete.vim
28753
28754 Patch 8.2.4711
28755 Problem: When 'insermode' is set :edit from <Cmd> mapping misbehaves.
28756 Solution: Don't set "need_start_insertmode" when already in Insert mode.
28757 (closes #10116)
28758 Files: src/ex_cmds.c, src/testdir/test_edit.vim
28759
28760 Patch 8.2.4712
28761 Problem: Only get profiling information after exiting.
28762 Solution: Add "profile dump" and "profile stop". (Marco Hinz, Yegappan
28763 Lakshmanan, closes #10107)
28764 Files: runtime/doc/repeat.txt, src/profiler.c,
28765 src/testdir/test_profile.vim
28766
28767 Patch 8.2.4713
28768 Problem: Plugins cannot track text scrolling.
28769 Solution: Add the WinScrolled event. (closes #10102)
28770 Files: runtime/doc/autocmd.txt, src/autocmd.c, src/proto/autocmd.pro,
28771 src/edit.c, src/gui.c, src/main.c, src/structs.h, src/vim.h,
28772 src/window.c, src/proto/window.pro, src/testdir/test_autocmd.vim
28773
28774 Patch 8.2.4714
28775 Problem: Using g:filetype_dat and g:filetype_src not tested.
28776 Solution: Add a test. (Patrick Meiser-Knosowski, closes #10117)
28777 Files: src/testdir/test_filetype.vim
28778
28779 Patch 8.2.4715
28780 Problem: Vagrantfile not recognized.
28781 Solution: Recognize Vagrantfile as ruby. (Julien Voisin, closes #10119)
28782 Files: runtime/filetype.vim, src/testdir/test_filetype.vim
28783
28784 Patch 8.2.4716
28785 Problem: Memory allocation failure not tested when defining a function.
28786 Solution: Add a test. (Yegappan Lakshmanan, closes #10127)
28787 Files: src/alloc.c, src/alloc.h, src/proto/alloc.pro, src/userfunc.c,
28788 src/testdir/test_user_func.vim, src/testdir/test_vim9_func.vim
28789
28790 Patch 8.2.4717
28791 Problem: For TextYankPost v:event does not contain information about the
28792 operation being inclusive or not.
28793 Solution: Add "inclusive" to v:event. (Justn M. Keyes, Yegappan Lakshmanan,
28794 closes #10125)
28795 Files: runtime/doc/autocmd.txt, src/register.c,
28796 src/testdir/test_autocmd.vim
28797
28798 Patch 8.2.4718
28799 Problem: @@@ in the last line sometimes drawn in the wrong place.
28800 Solution: Make sure the column is valid. (closes #10130)
28801 Files: src/drawscreen.c, src/screen.c, src/testdir/test_display.vim
28802 src/testdir/dumps/Test_display_lastline_1.dump,
28803 src/testdir/dumps/Test_display_lastline_2.dump,
28804 src/testdir/dumps/Test_display_lastline_3.dump,
28805 src/testdir/dumps/Test_display_lastline_4.dump
28806
28807 Patch 8.2.4719
28808 Problem: ">" marker sometimes not displayed in the jumplist.
28809 Solution: If the buffer no longer exists show "-invalid-". (Christian
28810 Brabandt, closes #10131, closes #10100)
28811 Files: runtime/doc/motion.txt, src/mark.c, src/testdir/Make_all.mak,
28812 src/testdir/test_alot.vim, src/testdir/test_jumplist.vim,
28813 src/testdir/test_jumps.vim
28814
28815 Patch 8.2.4720
28816 Problem: ABB Rapid files are not recognized properly.
28817 Solution: Add checks for ABB Rapid files. (Patrick Meiser-Knosowski,
28818 closes #10104)
28819 Files: runtime/autoload/dist/ft.vim, runtime/doc/filetype.txt,
28820 runtime/filetype.vim, src/testdir/test_filetype.vim
28821
28822 Patch 8.2.4721
28823 Problem: Cooklang files are not recognized.
28824 Solution: recognize *.cook files. (Goc Dundar, closes #10120)
28825 Files: runtime/filetype.vim, src/testdir/test_filetype.vim
28826
28827 Patch 8.2.4722
28828 Problem: When a recording is ended with a mapped key that key is also
28829 recorded.
28830 Solution: Remember the previous last_recorded_len. (closes #10122)
28831 Files: src/getchar.c, src/testdir/test_registers.vim
28832
28833 Patch 8.2.4723
28834 Problem: The ModeChanged autocmd event is inefficient.
28835 Solution: Avoid allocating memory. (closes #10134) Rename
28836 trigger_modechanged() to may_trigger_modechanged().
28837 Files: src/misc1.c, src/proto/misc1.pro, src/edit.c, src/ex_docmd.c,
28838 src/ex_getln.c, src/insexpand.c, src/normal.c, src/terminal.c,
28839 src/autocmd.c
28840
28841 Patch 8.2.4724
28842 Problem: Current instance of last search pattern not easily spotted.
28843 Solution: Add CurSearch highlighting. (closes #10133)
28844 Files: runtime/doc/options.txt, runtime/doc/syntax.txt, src/highlight.c,
28845 src/match.c, src/normal.c, src/optiondefs.h, src/structs.h,
28846 src/vim.h, src/normal.c, src/testdir/test_search.vim,
28847 src/testdir/dumps/Test_hlsearch_cursearch_multiple_line.dump,
28848 src/testdir/dumps/Test_hlsearch_cursearch_single_line_1.dump,
28849 src/testdir/dumps/Test_hlsearch_cursearch_single_line_2.dump,
28850 src/testdir/dumps/Test_hlsearch_cursearch_single_line_3.dump
28851
28852 Patch 8.2.4725 (after 8.2.4724)
28853 Problem: Unused variable in tiny build.
28854 Solution: Add #ifdef.
28855 Files: src/normal.c
28856
28857 Patch 8.2.4726
28858 Problem: Cannot use expand() to get the script name.
28859 Solution: Support expand('<script>'). (closes #10121)
28860 Files: runtime/doc/cmdline.txt, src/errors.h, src/ex_docmd.c,
28861 src/scriptfile.c, src/vim.h, src/testdir/test_expand.vim
28862
28863 Patch 8.2.4727
28864 Problem: Unused code.
28865 Solution: Remove code and add #ifdefs. (Dominique Pellé, closes #10136)
28866 Files: runtime/doc/editing.txt, runtime/doc/eval.txt,
28867 runtime/doc/vim9.txt, src/errors.h, src/option.c, src/search.c,
28868 src/proto/search.pro
28869
28870 Patch 8.2.4728
28871 Problem: No test that v:event cannot be modified.
28872 Solution: Add a test. (closes #10139)
28873 Files: src/testdir/test_autocmd.vim
28874
28875 Patch 8.2.4729
28876 Problem: HEEx and Surface templates do not need a separate filetype.
28877 Solution: Use Eelixir for the similar filetypes. (Aaron Tinio, closes #10124)
28878 Files: runtime/filetype.vim, src/testdir/test_filetype.vim
28879
28880 Patch 8.2.4730
28881 Problem: MS-Windows GUI: cannot use CTRL-/.
28882 Solution: Handle the WM_KEYUP event. (Yasuhiro Matsumoto, closes #10141)
28883 Files: src/gui_w32.c
28884
28885 Patch 8.2.4731
28886 Problem: The changelist index is not remembered per buffer.
28887 Solution: Keep the changelist index per window and buffer. (closes #10135,
28888 closes #2173)
28889 Files: src/buffer.c, src/evalfunc.c, src/structs.h,
28890 src/testdir/test_changelist.vim
28891
28892 Patch 8.2.4732
28893 Problem: Duplicate code to free fuzzy matches.
28894 Solution: Bring back fuzmatch_str_free().
28895 Files: src/search.c, src/proto/search.pro, src/cmdexpand.c
28896
28897 Patch 8.2.4733 (after 8.2.4729)
28898 Problem: HEEx and Surface do need a separate filetype.
28899 Solution: Revert 8.2.4729. (closes #10147)
28900 Files: runtime/filetype.vim, src/testdir/test_filetype.vim
28901
28902 Patch 8.2.4734
28903 Problem: getcharpos() may change a mark position.
28904 Solution: Copy the mark position. (closes #10148)
28905 Files: src/eval.c, src/testdir/test_cursor_func.vim
28906
28907 Patch 8.2.4735
28908 Problem: Quickfix tests can be a bit hard to read.
28909 Solution: Use heredoc instead of strings and line continuation. (Yegappan
28910 Lakshmanan, closes #10145)
28911 Files: src/testdir/test_quickfix.vim
28912
28913 Patch 8.2.4736
28914 Problem: Build problem for Cygwin with Motif.
28915 Solution: Undefine ControlMask. (Kelvin Lee, closes #10152)
28916 Files: src/mbyte.c
28917
28918 Patch 8.2.4737
28919 Problem: // in JavaScript string recognized as comment.
28920 Solution: Only check for linecomment if 'cindent' is set. (closes #10151)
28921 Files: src/change.c, src/testdir/test_textformat.vim
28922
28923 Patch 8.2.4738
28924 Problem: Esc on commandline executes command instead of abandoning it.
28925 Solution: Save and restore KeyTyped when removing the popup menu.
28926 (closes #10154)
28927 Files: src/cmdexpand.c, src/testdir/test_cmdline.vim,
28928 src/testdir/dumps/Test_wildmenu_with_pum_foldexpr_1.dump,
28929 src/testdir/dumps/Test_wildmenu_with_pum_foldexpr_2.dump
28930
28931 Patch 8.2.4739
28932 Problem: Accessing freed memory after WinScrolled autocmd event.
28933 Solution: Check the window pointer is still valid. (closes #10156)
28934 Remove the argument from may_trigger_winscrolled().
28935 Files: src/window.c, src/proto/window.pro, src/edit.c, src/gui.c,
28936 src/main.c, src/testdir/test_autocmd.vim
28937
28938 Patch 8.2.4740
28939 Problem: When expand() fails there is no error message.
28940 Solution: When 'verbose' is set give an error message.
28941 Files: runtime/doc/builtin.txt, src/evalfunc.c,
28942 src/testdir/test_expand.vim
28943
28944 Patch 8.2.4741 (after 8.2.4740)
28945 Problem: Startup test fails.
28946 Solution: Avoid an error for verbose expansion. Fix that the "0verbose"
28947 command modifier doesn't work.
28948 Files: runtime/syntax/syntax.vim, runtime/syntax/synload.vim,
28949 src/structs.h, src/ex_docmd.c, src/testdir/test_excmd.vim
28950
28951 Patch 8.2.4742
28952 Problem: There is no way to start logging very early in startup.
28953 Solution: Add the --log argument. Include the date in the start message in
28954 the log file. Avoid a duplicate message when forking. Log an
28955 executed shell command.
28956 Files: runtime/doc/starting.txt, runtime/doc/channel.txt,
28957 src/main.c, src/channel.c, src/os_unix.c, src/os_win32.c,
28958 src/testdir/test_startup.vim
28959
28960 Patch 8.2.4743
28961 Problem: Clang 14 is available on CI.
28962 Solution: Switch from clang 13 to 14. (closes #10157)
28963 Files: .github/workflows/ci.yml
28964
28965 Patch 8.2.4744
28966 Problem: A terminal window can't use the bell.
28967 Solution: Add bell support for the terminal window. (closes #10178)
28968 Files: runtime/doc/options.txt, src/gui_w32.c, src/option.h,
28969 src/optionstr.c, src/terminal.c
28970
28971 Patch 8.2.4745 (after 8.2.4744)
28972 Problem: Using wrong flag for using bell in the terminal.
28973 Solution: Change to use BO_TERM.
28974 Files: src/terminal.c, src/misc1.c
28975
28976 Patch 8.2.4746
28977 Problem: Supercollider filetype not recognized.
28978 Solution: Match file extentions and check file contents to detect
28979 supercollider. (closes #10142)
28980 Files: runtime/filetype.vim, runtime/autoload/dist/ft.vim,
28981 src/testdir/test_filetype.vim
28982
28983 Patch 8.2.4747
28984 Problem: No filetype override for .sys files.
28985 Solution: Add g:filetype_sys. (Patrick Meiser-Knosowski, closes #10181)
28986 Files: runtime/doc/filetype.txt, runtime/autoload/dist/ft.vim,
28987 src/testdir/test_filetype.vim
28988
28989 Patch 8.2.4748
28990 Problem: Cannot use an imported function in a mapping.
28991 Solution: Recognize <SID>name.Func.
28992 Files: runtime/doc/vim9.txt, src/term.c, src/vim9execute.c,
28993 src/proto/vim9execute.pro, src/scriptfile.c,
28994 src/testdir/test_vim9_import.vim
28995
28996 Patch 8.2.4749
28997 Problem: <script> is not expanded in autocmd context.
28998 Solution: Add the context to the pattern struct. (closes #10144)
28999 Rename AutoPatCmd to AutoPatCmd_T.
29000 Files: src/autocmd.c, src/proto/autocmd.pro, src/scriptfile.c,
29001 src/structs.h, src/testdir/test_expand.vim
29002
29003 Patch 8.2.4750
29004 Problem: Small pieces of dead code.
29005 Solution: Remove the dead code. (Goc Dundar, closes #10190) Rename the
29006 qftf_cb struct member to avoid confusion.
29007 Files: src/ex_cmds.c, src/misc1.c, src/optionstr.c, src/quickfix.c
29008
29009 Patch 8.2.4751 (after 8.2.4748)
29010 Problem: Mapping <SID>name.Func does not work for script in autoload
29011 directory.
29012 Solution: Use the # form for a script in the autoload directory.
29013 (closes #10186)
29014 Files: src/term.c, src/testdir/test_vim9_import.vim
29015
29016 Patch 8.2.4752
29017 Problem: Wrong 'statusline' value can cause illegal memory access.
29018 Solution: Properly check the value. (closes #10192)
29019 Files: src/optionstr.c, src/testdir/test_options.vim
29020
29021 Patch 8.2.4753
29022 Problem: Error from setting an option is silently ignored.
29023 Solution: Handle option value errors better. Fix uses of N_().
29024 Files: src/option.c, src/proto/option.pro, src/optionstr.c,
29025 src/channel.c, src/crypt.c, src/diff.c, src/edit.c,
29026 src/eval.c, src/evalfunc.c, src/evalvars.c, src/ex_cmds2.c,
29027 src/ex_docmd.c, src/ex_getln.c, src/getchar.c, src/gui.c,
29028 src/gui_gtk_x11.c, src/help.c, src/highlight.c, src/if_tcl.c,
29029 src/main.c, src/memline.c, src/message_test.c,
29030 src/popupmenu.c, src/quickfix.c, src/scriptfile.c, src/spell.c,
29031 src/spellfile.c, src/term.c, src/undo.c, src/vim9script.c
29032
29033 Patch 8.2.4754
29034 Problem: Still using cached values after unsetting some known environment
29035 variables.
29036 Solution: Take care of the side effects. (closes #10194)
29037 Files: src/evalfunc.c, src/evalvars.c, src/misc1.c, src/proto/misc1.pro,
29038 src/vim9execute.c, src/optionstr.c, src/testdir/test_environ.vim
29039
29040 Patch 8.2.4755
29041 Problem: Cannot use <SID>FuncRef in completion spec.
29042 Solution: Dereference a function name in another way. (closes #10197)
29043 Files: src/eval.c, src/testdir/test_vim9_import.vim
29044
29045 Patch 8.2.4756 (after 8.2.4754)
29046 Problem: Build error without the +eval feature.
29047 Solution: Adjust #ifdefs.
29048 Files: src/misc1.c
29049
29050 Patch 8.2.4757
29051 Problem: List of libraries to suppress lsan errors is outdated.
29052 Solution: Add another library. (closes #10201)
29053 Files: src/testdir/lsan-suppress.txt
29054
29055 Patch 8.2.4758
29056 Problem: When using an LSP channel want to get the message ID.
29057 Solution: Have ch_sendexpr() return the ID. (Yegappan Lakshmanan,
29058 closes #10202)
29059 Files: runtime/doc/channel.txt, src/channel.c, src/evalfunc.c,
29060 src/testdir/test_channel.vim
29061
29062 Patch 8.2.4759
29063 Problem: CurSearch highlight does not work for multi-line match.
29064 Solution: Check cursor position before adjusting columns. (closes #10133)
29065 Files: src/structs.h, src/match.c, src/testdir/test_search.vim,
29066 src/testdir/dumps/Test_hlsearch_cursearch_multiple_line.dump,
29067 src/testdir/dumps/Test_hlsearch_cursearch_multiple_line_1.dump,
29068 src/testdir/dumps/Test_hlsearch_cursearch_multiple_line_2.dump,
29069 src/testdir/dumps/Test_hlsearch_cursearch_multiple_line_3.dump,
29070 src/testdir/dumps/Test_hlsearch_cursearch_multiple_line_4.dump,
29071 src/testdir/dumps/Test_hlsearch_cursearch_multiple_line_5.dump
29072
29073 Patch 8.2.4760
29074 Problem: Using matchfuzzy() on a long list can take a while.
29075 Solution: Add a limit to the number of matches. (Yasuhiro Matsumoto,
29076 closes #10189)
29077 Files: runtime/doc/builtin.txt, src/search.c,
29078 src/testdir/test_matchfuzzy.vim
29079
29080 Patch 8.2.4761
29081 Problem: Documentation for using LSP messages is incomplete.
29082 Solution: Update the documentation. (Yegappan Lakshmanan, closes #10206)
29083 Files: runtime/doc/channel.txt
29084
29085 Patch 8.2.4762
29086 Problem: Using freed memory when using synstack() and synID() in WinEnter.
29087 Solution: Check using the syntax window. (closes #10204)
29088 Files: src/syntax.c, src/testdir/test_syntax.vim
29089
29090 Patch 8.2.4763
29091 Problem: Using invalid pointer with "V:" in Ex mode.
29092 Solution: Correctly handle the command being changed to "+".
29093 Files: src/ex_docmd.c, src/testdir/test_ex_mode.vim
29094
29095 Patch 8.2.4764
29096 Problem: CI uses an older gcc version.
29097 Solution: Use GCC 11. (closes #10185)
29098 Files: .github/workflows/ci.yml, src/testdir/lsan-suppress.txt
29099
29100 Patch 8.2.4765
29101 Problem: Function matchfuzzy() sorts too many items.
29102 Solution: Only put matches in the array. (Yegappan Lakshmanan,
29103 closes #10208)
29104 Files: src/search.c
29105
29106 Patch 8.2.4766
29107 Problem: KRL files using "deffct" not recognized.
29108 Solution: Adjust the pattern used for matching. (Patrick Meiser-Knosowski,
29109 closes #10200)
29110 Files: runtime/autoload/dist/ft.vim, src/testdir/test_filetype.vim
29111
29112 Patch 8.2.4767
29113 Problem: Openscad files are not recognized.
29114 Solution: Add a filetype pattern. (Niklas Adam, closes #10199)
29115 Files: runtime/filetype.vim, src/testdir/test_filetype.vim
29116
29117 Patch 8.2.4768
29118 Problem: CI: codecov upload sometimes does not work.
29119 Solution: Use action v3 instead of v2. (closes #10209)
29120 Files: .github/workflows/ci.yml
29121
29122 Patch 8.2.4769
29123 Problem: Build warning with UCRT.
29124 Solution: Adjust #ifdef for _wenviron. (John Marriott)
29125 Files: src/evalfunc.c
29126
29127 Patch 8.2.4770
29128 Problem: Cannot easily mix expression and heredoc.
29129 Solution: Support `=expr` in heredoc. (Yegappan Lakshmanan, closes #10138)
29130 Files: runtime/doc/eval.txt, src/evalvars.c, src/userfunc.c,
29131 src/testdir/test_let.vim, src/testdir/test_vim9_assign.vim
29132
29133 Patch 8.2.4771
29134 Problem: Coverity warns for not checking return value.
29135 Solution: Check return value of rettv_dict_alloc().
29136 Files: src/channel.c
29137
29138 Patch 8.2.4772
29139 Problem: Old Coverity warning for not checking ftell() return value.
29140 Solution: Check return value of fseek() and ftell().
29141 Files: src/misc1.c
29142
29143 Patch 8.2.4773
29144 Problem: Build failure without the +eval feature.
29145 Solution: Use other error message. Avoid warnings.
29146 Files: src/misc1.c, src/cindent.c, src/term.c
29147
29148 Patch 8.2.4774
29149 Problem: Crash when using a number for lambda name.
29150 Solution: Check the type of the lambda reference.
29151 Files: src/eval.c, src/errors.h, src/testdir/test_lambda.vim
29152
29153 Patch 8.2.4775
29154 Problem: SpellBad highlighting does not work in Konsole.
29155 Solution: Do not keep t_8u defined for Konsole. Redraw when t_8u is reset.
29156 (closes #10177)
29157 Files: src/term.c
29158
29159 Patch 8.2.4776
29160 Problem: GTK: 'lines' and 'columns' may change during startup.
29161 Solution: Ignore stale GTK resize events. (Ernie Rael, closes #10179)
29162 Files: src/gui_gtk_x11.c
29163
29164 Patch 8.2.4777 (after 8.2.4775)
29165 Problem: Screendump tests fail because of a redraw.
29166 Solution: Do not output t_8u before receiving termresponse. Redraw only
29167 when t_8u is not reset and termresponse is received.
29168 Files: src/term.c
29169
29170 Patch 8.2.4778
29171 Problem: Pacman files use dosini filetype.
29172 Solution: Use conf instead. (Chaoren Lin, closes #10213)
29173 Files: runtime/filetype.vim, src/testdir/test_filetype.vim
29174
29175 Patch 8.2.4779
29176 Problem: lsan suppression is too version specific.
29177 Solution: Leave out the version number. (Christian Brabandt, closes #10214)
29178 Files: src/testdir/lsan-suppress.txt
29179
29180 Patch 8.2.4780
29181 Problem: Parsing an LSP message fails when it is split.
29182 Solution: Collapse the received data before parsing. (Yegappan Lakshmanan,
29183 closes #10215)
29184 Files: runtime/doc/channel.txt, src/channel.c,
29185 src/testdir/test_channel.vim, src/testdir/test_channel_lsp.py
29186
29187 Patch 8.2.4781
29188 Problem: Maxima files are not recognized.
29189 Solution: Add patterns to detect Maxima files. (Doron Behar, closes #10211)
29190 Files: runtime/filetype.vim, src/testdir/test_filetype.vim
29191
29192 Patch 8.2.4782
29193 Problem: Accessing freed memory.
29194 Solution: Clear evalarg after checking for trailing characters.
29195 (issue #10218)
29196 Files: src/userfunc.c, src/testdir/test_lambda.vim
29197
29198 Patch 8.2.4783
29199 Problem: Coverity warns for leaking memory.
29200 Solution: Use another strategy freeing "theline".
29201 Files: src/evalvars.c
29202
29203 Patch 8.2.4784
29204 Problem: Lamba test with timer is flaky.
29205 Solution: Adjust sleep time on retry.
29206 Files: src/testdir/test_lambda.vim
29207
29208 Patch 8.2.4785
29209 Problem: Visual mode not stopped early enough if win_gotoid() goes to
29210 another buffer. (Sergey Vlasov)
29211 Solution: Stop Visual mode before jumping to another buffer. (closes #10217)
29212 Files: src/evalwindow.c, src/testdir/test_vim9_builtin.vim,
29213 src/testdir/dumps/Test_win_gotoid_1.dump,
29214 src/testdir/dumps/Test_win_gotoid_2.dump,
29215 src/testdir/dumps/Test_win_gotoid_3.dump
29216
29217 Patch 8.2.4786 (after 8.2.4785)
29218 Problem: Test for win_gotoid() in Visual mode fails on Mac.
29219 Solution: Skip the test on MacOS.
29220 Files: src/testdir/test_vim9_builtin.vim
29221
29222 Patch 8.2.4787
29223 Problem: prop_find() does not find the right property.
29224 Solution: Fix the scan order. (closes #10220)
29225 Files: src/textprop.c, src/testdir/test_textprop.vim
29226
29227 Patch 8.2.4788
29228 Problem: Large payload for LSP message not tested.
29229 Solution: Add a test with a large LSP payload. (Yegappan Lakshmanan,
29230 closes #10223)
29231 Files: src/channel.c, src/testdir/test_channel.vim,
29232 src/testdir/test_channel_lsp.py
29233
29234 Patch 8.2.4789
29235 Problem: The cursor may be in the in wrong place when using :redraw while
29236 editing the cmdline.
29237 Solution: When editing the command line let :redraw update the command line
29238 too. (closes #10210)
29239 Files: src/ex_docmd.c, src/testdir/test_cmdline.vim,
29240 src/testdir/dumps/Test_redraw_in_autocmd_1.dump,
29241 src/testdir/dumps/Test_redraw_in_autocmd_2.dump
29242
29243 Patch 8.2.4790
29244 Problem: Lilypond filetype not recognized.
29245 Solution: Add patterns for lilypond. (Doug Kearns)
29246 Files: runtime/filetype.vim, src/testdir/test_filetype.vim
29247
29248 Patch 8.2.4791
29249 Problem: Autocmd events triggered in different order when reusing an empty
29250 buffer.
29251 Solution: Call buff_freeall() earlier. (Charlie Groves, closes #10198)
29252 Files: src/buffer.c, src/testdir/test_autocmd.vim
29253
29254 Patch 8.2.4792
29255 Problem: Indent operator creates an undo entry for every line.
29256 Solution: Create one undo entry for all lines. (closes #10227)
29257 Files: src/indent.c, src/testdir/test_indent.vim
29258
29259 Patch 8.2.4793
29260 Problem: Recognizing Maxima filetype even though it might be another.
29261 Solution: Remove *.mc and *.dem patterns from Maxima files
29262 Files: runtime/filetype.vim, src/testdir/test_filetype.vim
29263
29264 Patch 8.2.4794
29265 Problem: Compiler warning for not initialized variable.
29266 Solution: Initialize the variable. (John Marriott)
29267 Files: src/indent.c
29268
29269 Patch 8.2.4795
29270 Problem: 'cursorbind' scrolling depends on whether 'cursorline' is set.
29271 Solution: Always call validate_cursor(). (Christian Brabandt, closes #10230,
29272 closes #10014)
29273 Files: src/move.c, src/testdir/README.txt,
29274 src/testdir/test_cursorline.vim,
29275 src/testdir/dumps/Test_hor_scroll_1.dump,
29276 src/testdir/dumps/Test_hor_scroll_2.dump,
29277 src/testdir/dumps/Test_hor_scroll_3.dump,
29278 src/testdir/dumps/Test_hor_scroll_4.dump
29279
29280 Patch 8.2.4796 (after 8.2.4795)
29281 Problem: File left behind after running cursorline tests.
29282 Solution: Uncomment the line that deletes the file.
29283 Files: src/testdir/test_cursorline.vim
29284
29285 Patch 8.2.4797
29286 Problem: getwininfo() may get oudated values.
29287 Solution: Make sure w_botline is up-to-date. (closes #10226)
29288 Files: src/evalwindow.c, src/testdir/test_bufwintabinfo.vim
29289
29290 Patch 8.2.4798
29291 Problem: t_8u option was reset even when set by the user.
29292 Solution: Only reset t_8u when using the default value. (closes #10239)
29293 Files: src/term.c
29294
29295 Patch 8.2.4799
29296 Problem: Popup does not use correct topline.
29297 Solution: Also add one when firstline is negative. (closes #10229)
29298 Files: src/popupwin.c, src/testdir/test_popupwin.vim
29299
29300 Patch 8.2.4800 (after 8.2.4798)
29301 Problem: Missing test update for adjusted t_8u behavior.
29302 Solution: Update and extend the test.
29303 Files: src/testdir/test_termcodes.vim
29304
29305 Patch 8.2.4801 (after 8.2.4795)
29306 Problem: Fix for cursorbind fix not fully tested.
29307 Solution: Add another test case. (Christian Brabandt, closes #10240)
29308 Files: src/testdir/test_cursorline.vim,
29309 src/testdir/dumps/Test_hor_scroll_5.dump
29310
29311 Patch 8.2.4802
29312 Problem: Test is not cleaned up.
29313 Solution: Make test clean up after itself. Avoid NUL. (closes #10233)
29314 Files: src/testdir/test_autocmd.vim
29315
29316 Patch 8.2.4803
29317 Problem: WinScrolled not always triggered when scrolling with the mouse.
29318 Solution: Add calls to may_trigger_winscrolled(). (closes #10246)
29319 Files: src/mouse.c, src/testdir/test_autocmd.vim
29320
29321 Patch 8.2.4804
29322 Problem: Expression in heredoc doesn't work for compiled function.
29323 Solution: Implement compiling the heredoc expressions. (Yegappan Lakshmanan,
29324 closes #10232)
29325 Files: runtime/doc/eval.txt, src/evalvars.c, src/proto/evalvars.pro,
29326 src/ex_getln.c, src/vim9compile.c, src/proto/vim9compile.pro,
29327 src/testdir/test_vim9_assign.vim
29328
29329 Patch 8.2.4805
29330 Problem: CurSearch used for all matches in current line.
29331 Solution: Don't use the non-zero line count. (closes #10247)
29332 Files: src/match.c, src/testdir/test_search.vim,
29333 src/testdir/dumps/Test_hlsearch_cursearch_single_line_1.dump,
29334 src/testdir/dumps/Test_hlsearch_cursearch_single_line_2.dump,
29335 src/testdir/dumps/Test_hlsearch_cursearch_single_line_2a.dump,
29336 src/testdir/dumps/Test_hlsearch_cursearch_single_line_2b.dump
29337
29338 Patch 8.2.4806
29339 Problem: A mapping using <LeftDrag> does not start Select mode.
29340 Solution: When checking for starting select mode with the mouse also do this
29341 when there is typeahead. (closes #10249)
29342 Files: src/normal.c
29343
29344 Patch 8.2.4807
29345 Problem: Processing key events in Win32 GUI is not ideal.
29346 Solution: Improve processing of key events. (closes #10155)
29347 Files: src/gui_w32.c
29348
29349 Patch 8.2.4808
29350 Problem: Unused item in engine struct.
29351 Solution: Remove "expr". Add comment with tags.
29352 Files: src/regexp.h
29353
29354 Patch 8.2.4809
29355 Problem: Various things not properly tested.
29356 Solution: Add various test cases. (Yegappan Lakshmanan, closes #10259)
29357 Files: src/testdir/test_blob.vim, src/testdir/test_debugger.vim,
29358 src/testdir/test_listdict.vim, src/testdir/test_vim9_builtin.vim,
29359 src/testdir/test_vim9_import.vim, src/testdir/test_vim9_script.vim
29360
29361 Patch 8.2.4810 (after 8.2.4808)
29362 Problem: Missing changes in one file.
29363 Solution: Also change the struct initializers.
29364 Files: src/regexp.c
29365
29366 Patch 8.2.4811 (after 8.2.4807)
29367 Problem: Win32 GUI: caps lock doesn't work.
29368 Solution: Handle VK_CAPITAL. (closes #10260, closes #10258)
29369 Files: src/gui_w32.c
29370
29371 Patch 8.2.4812
29372 Problem: Unused struct item.
29373 Solution: Remove "lines" match_T. Simplify the code. (closes #10256)
29374 Files: src/match.c, src/structs.h
29375
29376 Patch 8.2.4813
29377 Problem: Pasting text while indent folding may mess up folds.
29378 Solution: Adjust the way folds are split. (Brandon Simmons, closes #10254)
29379 Files: src/fold.c, src/testdir/test_fold.vim
29380
29381 Patch 8.2.4814
29382 Problem: Possible to leave a popup window with win_gotoid().
29383 Solution: Give an error when trying to leave a popup window with
29384 win_gotoid(). (closes #10253)
29385 Files: src/evalwindow.c, src/testdir/test_terminal3.vim
29386
29387 Patch 8.2.4815 (after 8.2.4776)
29388 Problem: Cannot build with older GTK version.
29389 Solution: Use gtk_window_get_size() instead of gdk_window_get_width() and
29390 gdk_window_get_height(). (Ernie Rael, closes #10257)
29391 Files: src/gui_gtk_x11.c
29392
29393 Patch 8.2.4816
29394 Problem: Still using older codecov app in some places of CI.
29395 Solution: Use v3.1.0. (closes #10209)
29396 Files: .github/workflows/ci.yml
29397
29398 Patch 8.2.4817
29399 Problem: Win32 GUI: modifiers are not always used.
29400 Solution: Handle more modifiers. (closes #10269)
29401 Files: src/gui_w32.c
29402
29403 Patch 8.2.4818 (after 8.2 4806)
29404 Problem: No test for what 8.2.4806 fixes.
29405 Solution: Add a test. (closes #10272)
29406 Files: src/testdir/test_mapping.vim
29407
29408 Patch 8.2.4819
29409 Problem: Unmapping simplified keys also deletes other mapping.
29410 Solution: Only unmap a mapping with m_simplified set. (closes #10270)
29411 Files: src/map.c, src/testdir/test_mapping.vim
29412
29413 Patch 8.2.4820
29414 Problem: No simple programmatic way to find a specific mapping.
29415 Solution: Add getmappings(). (Ernie Rael, closes #10273)
29416 Files: runtime/doc/builtin.txt, runtime/doc/usr_41.txt, src/evalfunc.c,
29417 src/map.c, src/proto/map.pro, src/testdir/test_maparg.vim
29418
29419 Patch 8.2.4821
29420 Problem: Crash when imported autoload script was deleted.
29421 Solution: Initialize local variable. (closes #10274) Give a more meaningful
29422 error message.
29423 Files: src/eval.c, src/vim9script.c, src/testdir/test_vim9_import.vim
29424
29425 Patch 8.2.4822
29426 Problem: Setting ufunc to NULL twice.
29427 Solution: Set ufunc to NULL in find_exported(). (closes #19275)
29428 Files: src/eval.c, src/vim9script.c
29429
29430 Patch 8.2.4823
29431 Problem: Concatenating more than 2 strings in a :def function is
29432 inefficient.
29433 Solution: Add a count to the CONCAT instruction. (closes #10276)
29434 Files: src/vim9.h, src/vim9cmds.c, src/vim9compile.c, src/vim9execute.c,
29435 src/vim9expr.c, src/vim9instr.c, src/proto/vim9instr.pro,
29436 src/testdir/test_vim9_disassemble.vim
29437
29438 Patch 8.2.4824
29439 Problem: Expression is evaluated multiple times.
29440 Solution: Evaluate expression once and store the result. (closes #10278)
29441 Files: src/map.c
29442
29443 Patch 8.2.4825
29444 Problem: Can only get a list of mappings.
29445 Solution: Add the optional {abbr} argument. (Ernie Rael, closes #10277)
29446 Rename to maplist(). Rename test file.
29447 Files: runtime/doc/builtin.txt, runtime/doc/usr_41.txt, src/evalfunc.c,
29448 src/map.c, src/proto/map.pro, src/testdir/test_maparg.vim,
29449 src/testdir/test_map_functions.vim, src/testdir/Make_all.mak
29450
29451 Patch 8.2.4826
29452 Problem: .cshtml files are not recognized.
29453 Solution: Use html filetype for .cshtml files. (Julien Voisin, closes #10212)
29454 Files: runtime/filetype.vim, src/testdir/test_filetype.vim
29455
29456 Patch 8.2.4827
29457 Problem: Typo in variable name. (Gabriel Dupras)
29458 Solution: Rename the variable.
29459 Files: src/map.c
29460
29461 Patch 8.2.4828
29462 Problem: Fix for unmapping simplified key not fully tested.
29463 Solution: Add a test case. (closes #10292)
29464 Files: src/map.c, src/testdir/test_mapping.vim
29465
29466 Patch 8.2.4829
29467 Problem: A key may be simplified to NUL.
29468 Solution: Use K_ZERO instead. Use macros instead of hard coded values.
29469 (closes #10290)
29470 Files: src/getchar.c, src/misc2.c, src/testdir/test_termcodes.vim
29471
29472 Patch 8.2.4830
29473 Problem: Possible endless loop if there is unused typahead.
29474 Solution: Only loop when the typeahead changed.
29475 Files: src/channel.c
29476
29477 Patch 8.2.4831
29478 Problem: Crash when using maparg() and unmapping simplified keys.
29479 Solution: Do not keep a mapblock pointer. (closes #10294)
29480 Files: src/map.c, src/testdir/test_map_functions.vim
29481
29482 Patch 8.2.4832
29483 Problem: Passing zero instead of NULL to a pointer argument.
29484 Solution: Use NULL. (closes #10296)
29485 Files: src/getchar.c, src/term.c
29486
29487 Patch 8.2.4833
29488 Problem: Failure of mapping not checked for.
29489 Solution: Check return value of ins_typebuf(). (closes #10299)
29490 Files: src/getchar.c, src/term.c, src/testdir/test_termcodes.vim
29491
29492 Patch 8.2.4834
29493 Problem: Vim9: some lines not covered by tests.
29494 Solution: Add a few more tests. Remove dead code.
29495 Files: src/vim9execute.c, src/vim9instr.c, src/vim9.h,
29496 src/testdir/test_vim9_expr.vim
29497
29498 Patch 8.2.4835
29499 Problem: Vim9: some lines not covered by tests.
29500 Solution: Add a few more tests. Fix disassemble output.
29501 Files: src/vim9execute.c, src/testdir/test_vim9_cmd.vim,
29502 src/testdir/test_vim9_script.vim,
29503 src/testdir/test_vim9_disassemble.vim
29504
29505 Patch 8.2.4836
29506 Problem: Vim9: some lines not covered by tests.
29507 Solution: Remove dead code. Add disassemble tests.
29508 Files: src/vim9execute.c, src/vim9.h,
29509 src/testdir/test_vim9_disassemble.vim
29510
29511 Patch 8.2.4837 (after patch 8.2.0919
29512 Problem: Modifiers not simplified when timed out or using feedkeys() with
29513 'n" flag.
29514 Solution: Adjust how mapped flag and timeout are used. (closes #10305)
29515 Files: src/getchar.c, src/testdir/test_paste.vim,
29516 src/testdir/test_termcodes.vim
29517
29518 Patch 8.2.4838
29519 Problem: Checking for absolute path is not trivial.
29520 Solution: Add isabsolutepath(). (closes #10303)
29521 Files: runtime/doc/builtin.txt, runtime/doc/usr_41.txt, src/evalfunc.c,
29522 src/filepath.c, src/proto/filepath.pro,
29523 src/testdir/test_functions.vim
29524
29525 Patch 8.2.4839
29526 Problem: Compiler warning for unused argument.
29527 Solution: Add "UNUSED".
29528 Files: src/gui_gtk_x11.c
29529
29530 Patch 8.2.4840
29531 Problem: Heredoc expression evaluated even when skipping.
29532 Solution: Don't evaluate when "skip" is set. (closes #10306)
29533 Files: src/evalvars.c, src/testdir/test_let.vim
29534
29535 Patch 8.2.4841
29536 Problem: Empty string considered an error for expand() when 'verbose' is
29537 set. (Christian Brabandt)
29538 Solution: Do not give an error for an empty result. (closes #10307)
29539 Files: src/evalfunc.c, src/ex_docmd.c, src/proto/ex_docmd.pro,
29540 src/filepath.c, src/testdir/test_expand_func.vim
29541
29542 Patch 8.2.4842 (after 8.2.4841)
29543 Problem: expand("%:p") is not empty when there is no buffer name.
29544 Solution: When ignoring errors still return NULL. (closes #10311)
29545 Files: src/ex_docmd.c, src/testdir/test_expand_func.vim
29546
29547 Patch 8.2.4843 (after 8.2.4807)
29548 Problem: Win32 GUI: Treating CTRL + ALT as AltGr is not backwards
29549 compatible. (Axel Bender)
29550 Solution: Make a difference between left and right menu keys.
29551 (closes #10308)
29552 Files: src/gui_w32.c
29553
29554 Patch 8.2.4844
29555 Problem: <C-S-I> is simplified to <S-Tab>.
29556 Solution: Do not simplify CTRL if there is also SHIFT. (closes #10313)
29557 Files: src/getchar.c, src/testdir/test_gui.vim
29558
29559 Patch 8.2.4845
29560 Problem: Duplicate code.
29561 Solution: Move code below if/else. (closes #10314)
29562 Files: src/misc1.c
29563
29564 Patch 8.2.4846 (after 8.2.4844)
29565 Problem: Termcodes test fails.
29566 Solution: use CTRL-SHIFT-V to insert an unsimplified key. (closes #10316)
29567 Files: runtime/doc/cmdline.txt, src/edit.c, src/getchar.c,
29568 src/testdir/test_gui.vim
29569
29570 Patch 8.2.4847
29571 Problem: Crash when using uninitialized function pointer.
29572 Solution: Check for NULL pointer. (closes #10319, closes #10319)
29573 Files: src/eval.c, src/testdir/test_vim9_script.vim
29574
29575 Patch 8.2.4848
29576 Problem: Local completion with mappings and simplification not working.
29577 Solution: Fix local completion <C-N>/<C-P> mappings not ignored if keys are
29578 not simplified. (closes #10323)
29579 Files: src/getchar.c, src/testdir/test_popup.vim
29580
29581 Patch 8.2.4849
29582 Problem: Gleam filetype not detected.
29583 Solution: Add a pattern for Gleam files. (Mathias Jean Johansen,
29584 closes #10326)
29585 Files: runtime/filetype.vim, src/testdir/test_filetype.vim
29586
29587 Patch 8.2.4850
29588 Problem: Mksession mixes up "tabpages" and "curdir" arguments.
29589 Solution: Correct logic for storing tabpage in session. (closes #10312)
29590 Files: src/session.c, src/testdir/test_mksession.vim
29591
29592 Patch 8.2.4851
29593 Problem: Compiler warning for uninitialized variable.
29594 Solution: Use another variable to decide to restore option values.
29595 Files: src/session.c
29596
29597 Patch 8.2.4852
29598 Problem: ANSI color index to RGB value not correct.
29599 Solution: Convert the cterm index to ANSI index. (closes #10321,
29600 closes #9836))
29601 Files: src/term.c
29602
29603 Patch 8.2.4853
29604 Problem: CI with FreeBSD is a bit outdated.
29605 Solution: Use 12.3 instead of 12.1. (closes #10333)
29606 Files: .cirrus.yml
29607
29608 Patch 8.2.4854
29609 Problem: Array size does not match usage.
29610 Solution: Make array size 3 instead of 4. (Christian Brabandt, closes #10336)
29611 Files: src/term.c
29612
29613 Patch 8.2.4855
29614 Problem: Robot files are not recognized.
29615 Solution: Add patterns for robot files. (Zoe Roux, closes #10339)
29616 Files: runtime/filetype.vim, src/testdir/test_filetype.vim
29617
29618 Patch 8.2.4856
29619 Problem: MinGW compiler complains about unknown escape sequence.
29620 Solution: Avoid using a backslash in path. (Christian Brabandt,
29621 closes #10337)
29622 Files: .github/workflows/ci.yml
29623
29624 Patch 8.2.4857
29625 Problem: Yaml indent for multiline is wrong.
29626 Solution: Adjust patterns. (closes #10328, closes #8740)
29627 Files: runtime/indent/yaml.vim, runtime/indent/testdir/yaml.in,
29628 runtime/indent/testdir/yaml.ok
29629
29630 Patch 8.2.4858
29631 Problem: K_SPECIAL may be escaped twice.
29632 Solution: Avoid double escaping. (closes #10340)
29633 Files: src/highlight.c, src/misc2.c, src/proto/misc2.pro, src/term.c,
29634 src/typval.c, src/testdir/test_eval_stuff.vim,
29635 src/testdir/test_feedkeys.vim, src/testdir/test_functions.vim,
29636 src/testdir/test_mapping.vim
29637
29638 Patch 8.2.4859
29639 Problem: wget2 files are not recognized.
29640 Solution: Add patterns to recognize wget2. (Doug Kearns)
29641 Files: runtime/filetype.vim, src/testdir/test_filetype.vim
29642
29643 Patch 8.2.4860
29644 Problem: MS-Windows: always uses current directory for executables.
29645 Solution: Check the NoDefaultCurrentDirectoryInExePath environment variable.
29646 (Yasuhiro Matsumoto, closes #10341)
29647 Files: runtime/doc/builtin.txt, src/os_win32.c,
29648 src/testdir/test_functions.vim
29649
29650 Patch 8.2.4861
29651 Problem: It is not easy to restore saved mappings.
29652 Solution: Make mapset() accept a dict argument. (Ernie Rael, closes #10295)
29653 Files: runtime/doc/builtin.txt, src/errors.h, src/evalfunc.c, src/map.c,
29654 src/typval.c, src/proto/typval.pro,
29655 src/testdir/test_map_functions.vim,
29656 src/testdir/test_vim9_builtin.vim
29657
29658 Patch 8.2.4862
29659 Problem: Vim9: test may fail when run with valgrind.
29660 Solution: Wait longer for callback if needed.
29661 Files: src/testdir/test_vim9_script.vim
29662
29663 Patch 8.2.4863
29664 Problem: Accessing freed memory in test without the +channel feature.
29665 (Dominique Pellé)
29666 Solution: Do not generted PUSHCHANNEL or PUSHJOB if they are not
29667 implemented. (closes #10350)
29668 Files: src/vim9instr.c, src/errors.h, src/vim9compile.c,
29669 src/testdir/test_vim9_script.vim
29670
29671 Patch 8.2.4864 (after 8.2.4863)
29672 Problem: Vim9: script test fails.
29673 Solution: Remove "if" around declaration.
29674 Files: src/testdir/test_vim9_script.vim
29675
29676 Patch 8.2.4865
29677 Problem: :startinsert right after :stopinsert does not work when popup menu
29678 is still visible.
29679 Solution: Use ins_compl_active() instead of pum_visible(). (closes #10352)
29680 Files: src/edit.c, src/testdir/test_ins_complete.vim
29681
29682 Patch 8.2.4866
29683 Problem: Duplicate code in "get" functions.
29684 Solution: Use get_var_from() for getwinvar(), gettabvar(), gettabwinvar()
29685 and getbufvar(). (closes #10335)
29686 Files: src/evalvars.c
29687
29688 Patch 8.2.4867
29689 Problem: Listing of mapping with K_SPECIAL is wrong.
29690 Solution: Adjust escaping of special characters. (closes #10351)
29691 Files: src/map.c, src/message.c, src/testdir/test_mapping.vim
29692
29693 Patch 8.2.4868
29694 Problem: When closing help window autocmds triggered for the wrong window.
29695 Solution: Figure out the new current window earlier. (closes #10348)
29696 Files: src/window.c, src/testdir/test_help.vim
29697
29698 Patch 8.2.4869
29699 Problem: Expression in command block does not look after NL.
29700 Solution: Skip over NL to check what follows. (closes #10358)
29701 Files: src/eval.c, src/proto/eval.pro, src/vim9script.c,
29702 src/testdir/test_usercommands.vim
29703
29704 Patch 8.2.4870
29705 Problem: Vim9: expression in :substitute is not compiled.
29706 Solution: Use an INSTR instruction if possible. (closes #10334)
29707 Files: src/evalfunc.c, src/regexp.c, src/vim9execute.c, src/vim9expr.c,
29708 src/testdir/test_vim9_builtin.vim,
29709 src/testdir/test_vim9_disassemble.vim
29710
29711 Patch 8.2.4871
29712 Problem: Vim9: in :def function no error for using a range with a command
29713 that does not accept one.
29714 Solution: Check for the command to accept a range. (closes #10330)
29715 Files: src/vim9compile.c, src/testdir/test_vim9_script.vim
29716
29717 Patch 8.2.4872
29718 Problem: Vim9: no error for using an expression only at the script level
29719 when followed by an empty line.
29720 Solution: Do not check the line number but whether something follows.
29721 (closes #10357)
29722 Files: src/ex_eval.c, src/testdir/test_vim9_cmd.vim
29723
29724 Patch 8.2.4873
29725 Problem: Vim9: using "else" differs from using "endif/if !cond".
29726 Solution: Leave the block and enter another one. (closes #10320)
29727 Files: src/ex_eval.c, src/testdir/test_vim9_script.vim
29728
29729 Patch 8.2.4874
29730 Problem: Win32 GUI: horizontal scroll wheel not handled properly.
29731 Solution: Also handle WM_MOUSEHWHEEL. (closes #10309)
29732 Files: src/gui_w32.c
29733
29734 Patch 8.2.4875
29735 Problem: MS-Windows: some .exe files are not recognized.
29736 Solution: Parse APPEXECLINK junctions. (closes #10302)
29737 Files: src/os_mswin.c, src/proto/os_mswin.pro, src/os_win32.c,
29738 src/os_win32.h, src/testdir/test_functions.vim
29739
29740 Patch 8.2.4876
29741 Problem: MS-Windows: Shift-BS results in strange character in powershell.
29742 Solution: Add K_S_BS. (Christian Brabandt, closes #10283, closes #10279)
29743 Files: src/edit.c, src/keymap.h, src/term.c, src/testdir/shared.vim,
29744 src/testdir/test_edit.vim
29745
29746 Patch 8.2.4877
29747 Problem: MS-Windows: Using Normal colors for termguicolors causes problems.
29748 Solution: Do not use Normal colors to set sg_gui_fg and sg_gui_bg.
29749 (Christian Brabandt, closes #10317, closes #10241)
29750 Files: src/highlight.c
29751
29752 Patch 8.2.4878
29753 Problem: Valgrind warning for using uninitialized variable.
29754 Solution: Initialize the type of newtv.
29755 Files: src/strings.c
29756
29757 Patch 8.2.4879
29758 Problem: Screendump test may fail when using valgrind.
29759 Solution: Wait longer for the first screendump.
29760 Files: src/testdir/test_vim9_builtin.vim, src/testdir/screendump.vim
29761
29762 Patch 8.2.4880
29763 Problem: Vim9: misplaced elseif causes invalid memory access.
29764 Solution: Check cs_idx not to be negative.
29765 Files: src/ex_eval.c
29766
29767 Patch 8.2.4881
29768 Problem: "P" in Visual mode still changes some registers.
29769 Solution: Make "P" in Visual mode not change any register. (Shougo
29770 Matsushita, closes #10349)
29771 Files: runtime/doc/change.txt, runtime/doc/index.txt,
29772 runtime/doc/visual.txt, src/normal.c, src/testdir/test_visual.vim
29773
29774 Patch 8.2.4882
29775 Problem: Cannot make 'breakindent' use a specific column.
29776 Solution: Add the "column" entry in 'breakindentopt'. (Christian Brabandt,
29777 closes #10362, closes #10325)
29778 Files: runtime/doc/options.txt, src/indent.c, src/structs.h,
29779 src/testdir/test_breakindent.vim
29780
29781 Patch 8.2.4883
29782 Problem: String interpolation only works in heredoc.
29783 Solution: Support interpolated strings. Use syntax for heredoc consistent
29784 with strings, similar to C#. (closes #10327)
29785 Files: runtime/doc/eval.txt, src/errors.h, src/eval.c, src/evalvars.c,
29786 src/proto/evalvars.pro, src/typval.c, src/proto/typval.pro,
29787 src/vim9compile.c, src/proto/vim9compile.pro, src/vim9expr.c,
29788 src/testdir/test_debugger.vim, src/testdir/test_expr.vim,
29789 src/testdir/test_let.vim, src/testdir/test_vim9_assign.vim,
29790 src/testdir/test_vim9_disassemble.vim
29791
29792 Patch 8.2.4884
29793 Problem: Test fails without the job/channel feature. (Dominique Pellé)
29794 Solution: Add condition.
29795 Files: src/testdir/test_vim9_script.vim
29796
29797 Patch 8.2.4885 (after 8.2.4884)
29798 Problem: Test fails with the job/channel feature.
29799 Solution: Move check for job/channel separately.
29800 Files: src/testdir/test_vim9_script.vim
29801
29802 Patch 8.2.4886
29803 Problem: Vim9: redir in skipped block seen as assignment.
29804 Solution: Check for valid assignment.
29805 Files: src/ex_docmd.c, src/testdir/test_vim9_assign.vim
29806
29807 Patch 8.2.4887
29808 Problem: Channel log does not show invoking a timer callback.
29809 Solution: Add a ch_log() call.
29810 Files: src/time.c
29811
29812 Patch 8.2.4888
29813 Problem: Line number of lambda ignores line continuation.
29814 Solution: Use the line number of where the arguments are. Avoid outputting
29815 "..." twice. (closes #10364)
29816 Files: src/userfunc.c
29817
29818 Patch 8.2.4889
29819 Problem: CI only tests with FreeBSD 12.
29820 Solution: Also test with FreeBSD 13. (closes #10366)
29821 Files: .cirrus.yml
29822
29823 Patch 8.2.4890
29824 Problem: Inconsistent capitalization in error messages.
29825 Solution: Make capitalization consistent. (Doug Kearns)
29826 Files: src/errors.h
29827
29828 Patch 8.2.4891
29829 Problem: Vim help presentation could be better.
29830 Solution: Add an imported file for extra Vim help support. Show highlight
29831 names in the color they have.
29832 Files: Filelist, runtime/import/dist/vimhelp.vim
29833
29834 Patch 8.2.4892
29835 Problem: Test failures because of changed error messages.
29836 Solution: Adjust the exptected error messages.
29837 Files: src/testdir/test_vim9_assign.vim,
29838 src/testdir/test_vim9_builtin.vim, src/testdir/test_vim9_expr.vim,
29839 src/testdir/test_vim9_func.vim, src/testdir/test_vim9_script.vim,
29840 src/testdir/test_expand.vim, src/testdir/test_tcl.vim,
29841 src/testdir/test_vimscript.vim
29842
29843 Patch 8.2.4893 (after 8.2.4891)
29844 Problem: Distributed import files are not installed.
29845 Solution: Add rules to Makefile and NSIS.
29846 Files: src/Makefile, nsis/gvim.nsi
29847
29848 Patch 8.2.4894
29849 Problem: MS-Windows: not using italics.
29850 Solution: Use italics. Simplify the code. (closes #10359)
29851 Files: src/term.c
29852
29853 Patch 8.2.4895
29854 Problem: Buffer overflow with invalid command with composing chars.
29855 Solution: Check that the whole character fits in the buffer.
29856 Files: src/ex_docmd.c, src/testdir/test_cmdline.vim
29857
29858 Patch 8.2.4896 (after 8.2.4869)
29859 Problem: Expression in command block does not look after NL when command is
29860 typed.
29861 Solution: Skip over NL also when not in a script. (closes #10358)
29862 Files: src/eval.c, src/testdir/test_usercommands.vim
29863
29864 Patch 8.2.4897
29865 Problem: Comment inside an expression in lambda ignores the rest of the
29866 expression.
29867 Solution: Truncate the line at the comment. (closes #10367)
29868 Files: src/eval.c, src/testdir/test_lambda.vim
29869
29870 Patch 8.2.4898
29871 Problem: Coverity complains about pointer usage.
29872 Solution: Move code for increment/decerment.
29873 Files: src/vim9compile.c
29874
29875 Patch 8.2.4899
29876 Problem: With latin1 encoding CTRL-W might go before the start of the
29877 command line.
29878 Solution: Check already being at the start of the command line.
29879 Files: src/ex_getln.c, src/testdir/test_cmdline.vim
29880
29881 Patch 8.2.4900
29882 Problem: Vim9 expression test fails without the job feature.
29883 Solution: Add a check for the job feature. (Dominique Pellé, closes #10373)
29884 Files: src/testdir/test_vim9_expr.vim
29885
29886 Patch 8.2.4901
29887 Problem: NULL pointer access when using invalid pattern.
29888 Solution: Check for failed regexp program.
29889 Files: src/buffer.c, src/testdir/test_buffer.vim
29890
29891 Patch 8.2.4902
29892 Problem: Mouse wheel scrolling is inconsistent.
29893 Solution: Use the MS-Winows system setting. (closes #10368)
29894 Files: runtime/doc/scroll.txt, src/gui_w32.c, src/mouse.c,
29895 src/proto/mouse.pro, src/testing.c, src/testdir/test_gui.vim
29896
29897 Patch 8.2.4903
29898 Problem: Cannot get the current cmdline completion type and position.
29899 Solution: Add getcmdcompltype() and getcmdscreenpos(). (Shougo Matsushita,
29900 closes #10344)
29901 Files: runtime/doc/builtin.txt, runtime/doc/usr_41.txt, src/cmdexpand.c,
29902 src/proto/cmdexpand.pro, src/evalfunc.c, src/ex_getln.c,
29903 src/proto/ex_getln.pro, src/usercmd.c, src/proto/usercmd.pro,
29904 src/testdir/test_cmdline.vim
29905
29906 Patch 8.2.4904
29907 Problem: codecov includes MS-Windows install files.
29908 Solution: Ignore dosinst.c and uninstall.c.
29909 Files: .codecov.yml
29910
29911 Patch 8.2.4905
29912 Problem: codecov includes MS-Windows install header file.
29913 Solution: Ignore dosinst.h.
29914 Files: .codecov.yml
29915
29916 Patch 8.2.4906
29917 Problem: MS-Windows: cannot use transparent background.
29918 Solution: Make transparent background work with 'termguicolors' and NONE
29919 background color. (Yasuhiro Matsumoto, closes #10310, closes #7162)
29920 Files: runtime/doc/options.txt, src/os_win32.c, src/term.c
29921
29922 Patch 8.2.4907
29923 Problem: Some users do not want a line comment always inserted.
29924 Solution: Add the '/' flag to 'formatoptions' to not repeat the comment
29925 leader after a statement when using "o".
29926 Files: runtime/doc/change.txt, src/option.h, src/change.c,
29927 src/testdir/test_textformat.vim
29928
29929 Patch 8.2.4908
29930 Problem: No text formatting for // comment after a statement.
29931 Solution: format a comment when the 'c' flag is in 'formatoptions'.
29932 Files: src/textformat.c, src/testdir/test_textformat.vim
29933
29934 Patch 8.2.4909
29935 Problem: MODE_ enum entries names are too generic.
29936 Solution: use CH_MODE_.
29937 Files: src/structs.h, src/channel.c, src/job.c, src/terminal.c
29938
29939 Patch 8.2.4910
29940 Problem: Imperfect coding.
29941 Solution: Make code nicer.
29942 Files: src/ex_getln.c
29943
29944 Patch 8.2.4911
29945 Problem: The mode #defines are not clearly named.
29946 Solution: Prepend MODE_. Renumber them to put the mapped modes first.
29947 Files: src/vim.h, src/autocmd.c, src/buffer.c, src/change.c,
29948 src/charset.c, src/cindent.c, src/clipboard.c, src/debugger.c,
29949 src/digraph.c, src/drawline.c, src/drawscreen.c, src/edit.c,
29950 src/evalfunc.c, src/ex_cmds.c, src/ex_docmd.c, src/ex_getln.c,
29951 src/fileio.c, src/fold.c, src/getchar.c, src/globals.h, src/gui.c,
29952 src/gui_gtk.c, src/gui_w32.c, src/gui_xim.c, src/indent.c,
29953 src/insexpand.c, src/macros.h, src/main.c, src/map.c, src/menu.c,
29954 src/message.c, src/misc1.c, src/misc2.c, src/mouse.c,
29955 src/netbeans.c, src/normal.c, src/ops.c, src/option.c,
29956 src/os_unix.c, src/os_win32.c, src/popupmenu.c, src/search.c,
29957 src/tag.c, src/screen.c, src/term.c, src/terminal.c,
29958 src/textformat.c, src/window.c
29959
29960 Patch 8.2.4912
29961 Problem: Using execute() to define a lambda doesn't work. (Ernie Rael)
29962 Solution: Put the getline function in evalarg. (closes #10375)
29963 Files: src/eval.c, src/evalfunc.c, src/proto/evalfunc.pro,
29964 src/testdir/test_vim9_func.vim
29965
29966 Patch 8.2.4913
29967 Problem: Popup_hide() does not always have effect.
29968 Solution: Add the POPF_HIDDEN_FORCE flag. (closes #10376)
29969 Files: src/popupwin.c, src/vim.h, src/testdir/test_popupwin.vim,
29970 src/testdir/dumps/Test_popup_prop_not_visible_01a.dump,
29971 src/testdir/dumps/Test_popup_prop_not_visible_01b.dump
29972
29973 Patch 8.2.4914
29974 Problem: String interpolation in :def function may fail.
29975 Solution: Do not terminate the expression. (closes #10377)
29976 Files: src/vim9compile.c, src/testdir/test_vim9_expr.vim
29977
29978 Patch 8.2.4915
29979 Problem: Sometimes the cursor is in the wrong position.
29980 Solution: When the cursor moved to another line, recompute w_botline.
29981 (closes #9736)
29982 Files: src/move.c
29983
29984 Patch 8.2.4916 (after 8.2.4915)
29985 Problem: Mouse in Insert mode test fails.
29986 Solution: Fix the test and check relevant positions.
29987 Files: src/testdir/test_edit.vim
29988
29989 Patch 8.2.4917
29990 Problem: Fuzzy expansion of option names is not right.
29991 Solution: Pass the fuzzy flag down the call chain. (Christian Brabandt,
29992 closes #10380, closes #10318)
29993 Files: src/cmdexpand.c, src/option.c, src/proto/option.pro,
29994 src/testdir/test_options.vim
29995
29996 Patch 8.2.4918
29997 Problem: Conceal character from matchadd() displayed too many times.
29998 Solution: Check the syntax flag. (closes #10381, closes #7268)
29999 Files: src/drawline.c, src/testdir/test_matchadd_conceal.vim
30000
30001 Patch 8.2.4919
30002 Problem: Can add invalid bytes with :spellgood.
30003 Solution: Check for a valid word string.
30004 Files: src/mbyte.c, src/spellfile.c, src/errors.h,
30005 src/testdir/test_spell_utf8.vim
30006
30007 Patch 8.2.4920 (after 8.2.4902)
30008 Problem: MS-Windows GUI: unused variables.
30009 Solution: Delete the variables. (John Marriott)
30010 Files: src/gui_w32.c
30011
30012 Patch 8.2.4921
30013 Problem: Spell test fails because of new illegal byte check.
30014 Solution: Remove the test.
30015 Files: src/testdir/test_spell.vim
30016
30017 Patch 8.2.4922 (after 8.2.4916)
30018 Problem: Mouse test fails on MS-Windows.
30019 Solution: Set 'mousemodel' to "extend".
30020 Files: src/testdir/test_edit.vim
30021
30022 Patch 8.2.4923
30023 Problem: Test checks for terminal feature unnecessarily.
30024 Solution: Remove CheckRunVimInTerminal. (closes #10383)
30025 Files: src/testdir/test_matchadd_conceal.vim
30026
30027 Patch 8.2.4924
30028 Problem: maparg() may return a string that cannot be reused.
30029 Solution: use msg_outtrans_special() instead of str2special().
30030 (closes #10384)
30031 Files: src/message.c, src/option.c, src/testdir/test_map_functions.vim,
30032 src/testdir/test_mapping.vim, src/testdir/test_options.vim
30033
30034 Patch 8.2.4925
30035 Problem: Trailing backslash may cause reading past end of line.
30036 Solution: Check for NUL after backslash.
30037 Files: src/textobject.c, src/testdir/test_textobjects.vim
30038
30039 Patch 8.2.4926
30040 Problem: #ifdef for crypt feature around too many lines.
30041 Solution: Move code outside of #ifdef. (closes #10388)
30042 Files: src/option.c
30043
30044 Patch 8.2.4927
30045 Problem: Return type of remove() incorrect when using three arguments.
30046 Solution: Use first argument type when there are three arguments.
30047 (closes #10387)
30048 Files: src/evalfunc.c, src/testdir/test_vim9_builtin.vim
30049
30050 Patch 8.2.4928
30051 Problem: Various white space and cosmetic mistakes.
30052 Solution: Change spaces to tabs, improve comments.
30053 Files: src/bufwrite.c, src/channel.c, src/cindent.c, src/crypt.c,
30054 src/debugger.c, src/digraph.c, src/edit.c, src/evalwindow.c,
30055 src/ex_cmds.c, src/ex_docmd.c, src/ex_getln.c, src/fileio.c,
30056 src/filepath.c, src/gui.c, src/highlight.c, src/indent.c,
30057 src/insexpand.c, src/job.c, src/keymap.h, src/macros.h,
30058 src/menu.c, src/misc1.c, src/misc2.c, src/mouse.c, src/move.c,
30059 src/normal.c, src/ops.c, src/option.c, src/option.h, src/search.c,
30060 src/session.c, src/spellsuggest.c, src/structs.h, src/tag.c,
30061 src/term.c, src/terminal.c, src/textformat.c, src/typval.c,
30062 src/ui.c, src/userfunc.c, src/vim.h, src/vim9.h,
30063 src/vim9compile.c, src/vim9execute.c, src/window.c,
30064 src/testdir/test_cursorline.vim, src/os_unix.c, src/if_lua.c,
30065 src/if_py_both.h, src/os_amiga.c, src/os_win32.c, src/os_mswin.c,
30066 src/os_vms.c, src/os_vms_conf.h
30067
30068 Patch 8.2.4929
30069 Problem: Off-by-one error in in statusline item.
30070 Solution: Subtrace one less. (closes #10394, closes #5599)
30071 Files: src/buffer.c, src/testdir/test_statusline.vim,
30072 src/testdir/dumps/Test_statusline_hl.dump
30073
30074 Patch 8.2.4930
30075 Problem: Interpolated string expression requires escaping.
30076 Solution: Do not require escaping in the expression.
30077 Files: runtime/doc/eval.txt, src/typval.c, src/proto/typval.pro,
30078 src/dict.c, src/eval.c, src/evalvars.c, src/proto/evalvars.pro,
30079 src/vim9compile.c, src/proto/vim9compile.pro, src/vim9expr.c,
30080 src/vim9instr.c, src/alloc.c, src/proto/alloc.pro,
30081 src/testdir/test_expr.vim, src/testdir/test_let.vim
30082
30083 Patch 8.2.4931
30084 Problem: Crash with sequence of Perl commands.
30085 Solution: Move PUTBACK to another line. (closes #10386)
30086 Files: src/if_perl.xs
30087
30088 Patch 8.2.4932
30089 Problem: Not easy to filter the output of maplist().
30090 Solution: Add mode_bits to the dictionary. (Ernie Rael, closes #10356)
30091 Files: runtime/doc/builtin.txt, src/map.c,
30092 src/testdir/test_map_functions.vim,
30093 src/testdir/test_vim9_builtin.vim
30094
30095 Patch 8.2.4933
30096 Problem: A few more capitalization mistakes in error messages.
30097 Solution: Adjust capitalization. (Doug Kearns)
30098 Files: src/errors.h
30099
30100 Patch 8.2.4934
30101 Problem: String interpolation fails when not evaluating.
30102 Solution: Skip the expression when not evaluating. (closes #10398)
30103 Files: src/typval.c, src/evalvars.c, src/proto/evalvars.pro,
30104 src/testdir/test_vim9_expr.vim
30105
30106 Patch 8.2.4935
30107 Problem: With 'foldmethod' "indent" some lines are not included in the
30108 fold. (Oleg Koshovetc)
30109 Solution: Fix it. (Brandon Simmons, closes #10399, closes #3214)
30110 Files: src/fold.c, src/testdir/test_fold.vim
30111
30112 Patch 8.2.4936
30113 Problem: MS-Windows: mouse coordinates for scroll event are wrong.
30114 Solution: Convert coordinates to the text area coordinates. (closes #10400)
30115 Files: src/gui_w32.c
30116
30117 Patch 8.2.4937 (after 8.2.4931)
30118 Problem: No test for what 8.2.4931 fixes.
30119 Solution: Add a test that triggers a valgrind error.
30120 Files: src/testdir/test_perl.vim
30121
30122 Patch 8.2.4938
30123 Problem: Crash when matching buffer with invalid pattern.
30124 Solution: Check for NULL regprog.
30125 Files: src/buffer.c, src/testdir/test_buffer.vim
30126
30127 Patch 8.2.4939
30128 Problem: matchfuzzypos() with "matchseq" does not have all positions.
30129 Solution: Also add a position for white space. (closes #10404)
30130 Files: runtime/doc/builtin.txt, src/search.c,
30131 src/testdir/test_matchfuzzy.vim
30132
30133 Patch 8.2.4940
30134 Problem: Some code is never used.
30135 Solution: Remove dead code. Add a few more test cases.
30136 Files: src/vim9expr.c, src/proto/vim9expr.pro, src/vim9compile.c,
30137 src/testdir/test_vim9_builtin.vim, src/testdir/test_vim9_expr.vim
30138
30139 Patch 8.2.4941
30140 Problem: '[ and '] marks may be wrong after undo.
30141 Solution: Adjust the '[ and '] marks if needed. (closes #10407, closes #1281)
30142 Files: src/undo.c, src/testdir/test_undo.vim
30143
30144 Patch 8.2.4942
30145 Problem: Error when setting 'filetype' in help file again.
30146 Solution: Deal with text property type already existing. (closes #10409)
30147 Files: runtime/import/dist/vimhelp.vim
30148
30149 Patch 8.2.4943
30150 Problem: Changing 'switchbuf' may have no effect.
30151 Solution: Handle 'switchbuf' in didset_string_options(). (Sean Dewar,
30152 closes #10406)
30153 Files: src/optionstr.c, src/testdir/test_options.vim
30154
30155 Patch 8.2.4944
30156 Problem: Text properties are wrong after "cc". (Axel Forsman)
30157 Solution: Pass the deleted byte count to inserted_bytes(). (closes #10412,
30158 closes #7737, closes #5763)
30159 Files: src/change.c, src/testdir/test_textprop.vim
30160
30161 Patch 8.2.4945
30162 Problem: Inconsistent use of white space.
30163 Solution: Use Tabs and Spaces consistently.
30164 Files: src/os_amiga.c, src/if_py_both.h, src/os_win32.c, src/os_mswin.c,
30165 src/os_vms.c, src/os_vms_conf.h
30166
30167 Patch 8.2.4946
30168 Problem: Vim9: some code not covered by tests.
30169 Solution: Add a few more test cases. Remove dead code.
30170 Files: src/vim9expr.c, src/testdir/test_vim9_expr.vim,
30171 src/testdir/test_vim9_builtin.vim
30172
30173 Patch 8.2.4947
30174 Problem: Text properties not adjusted when accepting spell suggestion.
30175 Solution: Adjust text properties when text changes. (closes #10414)
30176 Files: src/spell.c, src/spellsuggest.c, src/testdir/test_textprop.vim
30177
30178 Patch 8.2.4948
30179 Problem: Cannot use Perl heredoc in nested :def function. (Virginia
30180 Senioria)
30181 Solution: Only concatenate heredoc lines when not in a nested function.
30182 (closes #10415)
30183 Files: src/userfunc.c, src/testdir/test_vim9_func.vim
30184
30185 Patch 8.2.4949
30186 Problem: Vim9: some code not covered by tests.
30187 Solution: Add a few more test cases. Fix double error message.
30188 Files: src/vim9expr.c, src/testdir/test_vim9_expr.vim
30189
30190 Patch 8.2.4950
30191 Problem: Text properties position wrong after shifting text.
30192 Solution: Adjust the text properties when shifting a block of text.
30193 (closes #10418)
30194 Files: src/ops.c, src/testdir/test_textprop.vim
30195
30196 Patch 8.2.4951
30197 Problem: Smart indenting done when not enabled.
30198 Solution: Check option values before setting can_si. (closes #10420)
30199 Files: src/indent.c, src/proto/indent.pro, src/change.c, src/edit.c,
30200 src/ops.c, src/testdir/test_smartindent.vim
30201
30202 Patch 8.2.4952
30203 Problem: GUI test will fail if color scheme changes.
30204 Solution: Reduce the test for now.
30205 Files: src/testdir/test_gui.vim
30206
30207 Patch 8.2.4953
30208 Problem: With 'smartindent' inserting '}' after completion goes wrong.
30209 Solution: Check the cursor is in indent. (closes #10420)
30210 Files: src/indent.c, src/testdir/test_smartindent.vim
30211
30212 Patch 8.2.4954
30213 Problem: Inserting line breaks text property spanning more then one line.
30214 Solution: Check TP_FLAG_CONT_PREV and TP_FLAG_CONT_NEXT. (closes #10423)
30215 Files: src/textprop.c, src/testdir/test_textprop.vim
30216
30217 Patch 8.2.4955
30218 Problem: Text property in wrong position after auto-indent.
30219 Solution: Adjust text property columns. (closes #10422, closes #7719)
30220 Files: src/change.c, src/testdir/test_textprop.vim
30221
30222 Patch 8.2.4956
30223 Problem: Reading past end of line with "gf" in Visual block mode.
30224 Solution: Do not include the NUL in the length.
30225 Files: src/normal.c, src/testdir/test_gf.vim
30226
30227 Patch 8.2.4957
30228 Problem: Text properties in a wrong position after a block change.
30229 Solution: Adjust the properties columns. (closes #10427)
30230 Files: src/ops.c, src/testdir/test_textprop.vim
30231
30232 Patch 8.2.4958
30233 Problem: A couple conditions are always true.
30234 Solution: Remove the conditions. (Goc Dundar, closes #10428)
30235 Files: src/evalfunc.c, src/quickfix.c
30236
30237 Patch 8.2.4959
30238 Problem: Using NULL regexp program.
30239 Solution: Check for regexp program becoming NULL in more places.
30240 Files: src/buffer.c, src/testdir/test_buffer.vim
30241
30242 Patch 8.2.4960
30243 Problem: Text properties that cross line boundary are not correctly updated
30244 for a deleted line.
30245 Solution: Correct computing location of text property entry. (Paul Ollis,
30246 closes #10431, closes #10430)
30247 Files: src/memline.c, src/testdir/test_textprop.vim
30248
30249 Patch 8.2.4961
30250 Problem: Build error with a certain combination of features.
30251 Solution: Adjust #if. (John Marriott)
30252 Files: src/memline.c
30253
30254 Patch 8.2.4962
30255 Problem: Files show up in git status.
30256 Solution: Adjust the list of ignored files. Clean up more test files.
30257 (Shane xb Qian, closes #9929)
30258 Files: .gitignore, src/testdir/Makefile
30259
30260 Patch 8.2.4963
30261 Problem: Expanding path with "/**" may overrun end of buffer.
30262 Solution: Use vim_snprintf().
30263 Files: src/filepath.c
30264
30265 Patch 8.2.4964
30266 Problem: MS-Windows GUI: mouse event test is flaky.
30267 Solution: Add a short delay after generating a mouse event.
30268 Files: src/testdir/test_gui.vim
30269
30270 Patch 8.2.4965
30271 Problem: GUI: testing mouse move event depends on screen cell size.
30272 Solution: Multiply the row and column with the screen cell size.
30273 Files: runtime/doc/testing.txt, src/testing.c, src/testdir/test_gui.vim
30274
30275 Patch 8.2.4966
30276 Problem: MS-Windows GUI: mouse event test gets extra event.
30277 Solution: Ignore one move event.
30278 Files: src/testdir/test_gui.vim
30279
30280 Patch 8.2.4967 (after 8.2.4966)
30281 Problem: MS-Windows GUI: mouse event test sometimes fails.
30282 Solution: Ignore one move event only if there is an extra event.
30283 Files: src/testdir/test_gui.vim
30284
30285 Patch 8.2.4968
30286 Problem: Reading past end of the line when C-indenting.
30287 Solution: Check for NUL.
30288 Files: src/cindent.c, src/testdir/test_cindent.vim
30289
30290 Patch 8.2.4969
30291 Problem: Changing text in Visual mode may cause invalid memory access.
30292 Solution: Check the Visual position after making a change.
30293 Files: src/change.c, src/edit.c, src/misc2.c, src/proto/misc2.pro,
30294 src/testdir/test_visual.vim
30295
30296 Patch 8.2.4970
30297 Problem: "eval 123" gives an error, "eval 'abc'" does not.
30298 Solution: Also give an error when evaluating only a string. (closes #10434)
30299 Files: src/ex_eval.c, src/testdir/test_vim9_cmd.vim
30300
30301 Patch 8.2.4971
30302 Problem: Vim9: interpolated string seen as range.
30303 Solution: Recognize an interpolated string at the start of a command line.
30304 (closes #10434)
30305 Files: src/ex_docmd.c, src/testdir/test_vim9_expr.vim
30306
30307 Patch 8.2.4972
30308 Problem: Vim9: compilation fails when using dict member when skipping.
30309 Solution: Do not generate ISN_USEDICT when skipping. (closes #10433)
30310 Files: src/vim9expr.c, src/testdir/test_vim9_expr.vim
30311
30312 Patch 8.2.4973
30313 Problem: Vim9: type error for list unpack mentions argument.
30314 Solution: Mention variable. (close #10435)
30315 Files: src/vim9.h, src/vim9execute.c, src/vim9instr.c,
30316 src/proto/vim9instr.pro, src/vim9compile.c,
30317 src/testdir/test_vim9_script.vim,
30318 src/testdir/test_vim9_disassemble.vim
30319
30320 Patch 8.2.4974
30321 Problem: ":so" command may read after end of buffer.
30322 Solution: Compute length of text properly.
30323 Files: src/scriptfile.c, src/testdir/test_source.vim
30324
30325 Patch 8.2.4975
30326 Problem: Recursive command line loop may cause a crash.
30327 Solution: Limit recursion of getcmdline().
30328 Files: src/ex_getln.c, src/testdir/test_cmdline.vim
30329
30330 Patch 8.2.4976
30331 Problem: Coverity complains about not restoring a saved value.
30332 Solution: Restore value before handling error.
30333 Files: src/vim9execute.c
30334
30335 Patch 8.2.4977
30336 Problem: Memory access error when substitute expression changes window.
30337 Solution: Disallow changing window in substitute expression.
30338 Files: src/ex_cmds.c, src/testdir/test_substitute.vim
30339
30340 Patch 8.2.4978
30341 Problem: No error if engine selection atom is not at the start.
30342 Solution: Give an error. (Christian Brabandt, closes #10439)
30343 Files: runtime/doc/pattern.txt, src/errors.h, src/regexp_bt.c,
30344 src/regexp_nfa.c, src/testdir/test_regexp_latin.vim
30345
30346 Patch 8.2.4979
30347 Problem: Accessing freed memory when line is flushed.
30348 Solution: Make a copy of the pattern to search for.
30349 Files: src/window.c, src/testdir/test_tagjump.vim
30350
30351 Patch 8.2.4980
30352 Problem: When 'shortmess' contains 'A' loading a session may still warn for
30353 an existing swap file. (Melker Ă–sterberg)
30354 Solution: Keep the 'A' flag to 'shortmess' in the session file.
30355 (closes #10443)
30356 Files: src/session.c, src/testdir/test_mksession.vim
30357
30358 Patch 8.2.4981
30359 Problem: It is not possible to manipulate autocommands.
30360 Solution: Add functions to add, get and set autocommands. (Yegappan
30361 Lakshmanan, closes #10291)
30362 Files: runtime/doc/autocmd.txt, runtime/doc/builtin.txt,
30363 runtime/doc/usr_41.txt, src/autocmd.c, src/evalfunc.c,
30364 src/proto/autocmd.pro, src/testdir/test_autocmd.vim,
30365 src/testdir/test_vim9_builtin.vim
30366
30367 Patch 8.2.4982
30368 Problem: Colors in terminal window are not 100% correct.
30369 Solution: Use g:terminal_ansi_colors as documented. (closes #10429,
30370 closes #7227 closes #10347)
30371 Files: src/job.c, src/option.c, src/proto/term.pro,
30372 src/terminal.c, src/proto/terminal.pro, src/term.c,
30373 src/testdir/test_functions.vim, src/testdir/test_terminal.vim
30374
30375 Patch 8.2.4983 (after 8.2.4982)
30376 Problem: Colors test fails in the GUI.
30377 Solution: Reset g:terminal_ansi_colors.
30378 Files: src/testdir/test_functions.vim
30379
30380 Patch 8.2.4984
30381 Problem: Dragging statusline fails for window with winbar.
30382 Solution: Fix off-by-one error. (closes #10448)
30383 Files: src/mouse.c, src/testdir/test_winbar.vim
30384
30385 Patch 8.2.4985
30386 Problem: PVS warns for possible array underrun.
30387 Solution: Add a check for a positive value. (Goc Dundar, closes #10451)
30388 Files: src/spell.c
30389
30390 Patch 8.2.4986
30391 Problem: Some github actions are outdated.
30392 Solution: Update CodeQl to v2, update checkout to v3. (closes #10450)
30393 Files: .github/workflows/ci.yml, .github/workflows/codeql-analysis.yml,
30394 .github/workflows/coverity.yml
30395
30396 Patch 8.2.4987
30397 Problem: After deletion a small fold may be closable.
30398 Solution: Check for a reverse range. (Brandon Simmons, closes #10457)
30399 Files: src/fold.c, src/testdir/test_fold.vim
30400
30401 Patch 8.2.4988
30402 Problem: Textprop in wrong position when replacing multi-byte chars.
30403 Solution: Adjust textprop position. (closes #10461)
30404 Files: src/change.c, src/testdir/test_textprop.vim
30405
30406 Patch 8.2.4989
30407 Problem: Cannot specify a function name for :defcompile.
30408 Solution: Implement a function name argument for :defcompile.
30409 Files: runtime/doc/vim9.txt, src/userfunc.c, src/proto/userfunc.pro,
30410 src/vim9execute.c, src/ex_cmds.h, src/testdir/test_vim9_cmd.vim,
30411 src/testdir/test_vim9_disassemble.vim
30412
30413 Patch 8.2.4990 (after 8.2.4989)
30414 Problem: Memory leak when :defcompile fails.
30415 Solution: Free fname when returning early.
30416 Files: src/userfunc.c
30417
30418 Patch 8.2.4991
30419 Problem: No test for what patch 8.1.0535 fixes.
30420 Solution: Add a test. (closes #10462)
30421 Files: src/testdir/test_fold.vim
30422
30423 Patch 8.2.4992 (after 8.2.4989)
30424 Problem: Compiler warning for possibly uninitialized variable. (Tony
30425 Mechelynck)
30426 Solution: Initialize variable in the caller instead of in the function.
30427 Files: src/userfunc.c, src/vim9execute.c
30428
30429 Patch 8.2.4993
30430 Problem: smart/C/lisp indenting is optional, which makes the code more
30431 complex, while it only reduces the executable size a bit.
30432 Solution: Graduate FEAT_CINDENT, FEAT_SMARTINDENT and FEAT_LISP.
30433 Files: runtime/doc/builtin.txt, runtime/doc/indent.txt,
30434 runtime/doc/options.txt, runtime/doc/various.txt, src/feature.h,
30435 src/buffer.c, src/change.c, src/cindent.c, src/charset.c,
30436 src/edit.c, src/evalfunc.c, src/indent.c, src/insexpand.c,
30437 src/main.c, src/mouse.c, src/ops.c, src/option.c, src/optionstr.c,
30438 src/register.c, src/search.c, src/textformat.c, src/version.c,
30439 src/option.h, src/optiondefs.h, src/structs.h, src/globals.h,
30440 src/testdir/test_edit.vim
30441
30442 Patch 8.2.4994
30443 Problem: Tests are using legacy functions.
30444 Solution: Convert a few tests to use :def functions.
30445 Files: src/testdir/test_cindent.vim
30446
30447 Patch 8.2.4995 (after 8.2.4992)
30448 Problem: Still a compiler warning for possibly uninitialized variable.
30449 (Tony Mechelynck)
30450 Solution: Initialize variables.
30451 Files: src/vim9execute.c
30452
30453 Patch 8.2.4996 (after 8.2.4969)
30454 Problem: setbufline() may change Visual selection. (Qiming Zhao)
30455 Solution: Disable Visual mode when using another buffer. (closes #10466)
30456 Files: src/evalbuffer.c, src/testdir/test_bufline.vim
30457
30458 Patch 8.2.4997
30459 Problem: Python: changing hidden buffer can cause the display to be messed
30460 up.
30461 Solution: Do not mark changed lines when using another buffer. (Paul Ollis,
30462 closes #10437, closes #7972)
30463 Files: src/if_py_both.h, src/testdir/test_python3.vim
30464
30465 Patch 8.2.4998
30466 Problem: Vim9: crash when using multiple funcref().
30467 Solution: Check if varargs type is NULL. (closes #10467)
30468 Files: src/vim9type.c, src/testdir/test_vim9_func.vim
30469
30470 Patch 8.2.4999
30471 Problem: Filetype test table is not properly sorted.
30472 Solution: Sort by filetype. (Doug Kearns)
30473 Files: src/testdir/test_filetype.vim
30474
30475 Patch 8.2.5000
30476 Problem: No patch for documentation updates.
30477 Solution: Update documentation files.
30478 Files: runtime/doc/arabic.txt, runtime/doc/autocmd.txt,
30479 runtime/doc/builtin.txt, runtime/doc/change.txt,
30480 runtime/doc/channel.txt, runtime/doc/cmdline.txt,
30481 runtime/doc/diff.txt, runtime/doc/digraph.txt,
30482 runtime/doc/editing.txt, runtime/doc/eval.txt,
30483 runtime/doc/filetype.txt, runtime/doc/fold.txt,
30484 runtime/doc/ft_ada.txt, runtime/doc/ft_ps1.txt,
30485 runtime/doc/ft_raku.txt, runtime/doc/ft_rust.txt,
30486 runtime/doc/ft_sql.txt, runtime/doc/gui.txt,
30487 runtime/doc/gui_w32.txt, runtime/doc/helphelp.txt,
30488 runtime/doc/help.txt, runtime/doc/if_cscop.txt,
30489 runtime/doc/if_lua.txt, runtime/doc/if_perl.txt,
30490 runtime/doc/if_pyth.txt, runtime/doc/if_tcl.txt,
30491 runtime/doc/indent.txt, runtime/doc/index.txt,
30492 runtime/doc/insert.txt, runtime/doc/intro.txt,
30493 runtime/doc/map.txt, runtime/doc/mbyte.txt,
30494 runtime/doc/message.txt, runtime/doc/motion.txt,
30495 runtime/doc/netbeans.txt, runtime/doc/options.txt,
30496 runtime/doc/os_dos.txt, runtime/doc/os_vms.txt,
30497 runtime/doc/os_win32.txt, runtime/doc/pattern.txt,
30498 runtime/doc/pi_netrw.txt, runtime/doc/pi_zip.txt,
30499 runtime/doc/popup.txt, runtime/doc/print.txt,
30500 runtime/doc/quickfix.txt, runtime/doc/quickref.txt,
30501 runtime/doc/remote.txt, runtime/doc/repeat.txt,
30502 runtime/doc/rileft.txt, runtime/doc/scroll.txt,
30503 runtime/doc/sign.txt, runtime/doc/spell.txt,
30504 runtime/doc/sponsor.txt, runtime/doc/starting.txt,
30505 runtime/doc/syntax.txt, runtime/doc/tabpage.txt,
30506 runtime/doc/tagsrch.txt, runtime/doc/terminal.txt,
30507 runtime/doc/term.txt, runtime/doc/testing.txt,
30508 runtime/doc/textprop.txt, runtime/doc/tips.txt,
30509 runtime/doc/todo.txt, runtime/doc/uganda.txt,
30510 runtime/doc/undo.txt, runtime/doc/usr_02.txt,
30511 runtime/doc/usr_04.txt, runtime/doc/usr_05.txt,
30512 runtime/doc/usr_06.txt, runtime/doc/usr_08.txt,
30513 runtime/doc/usr_09.txt, runtime/doc/usr_12.txt,
30514 runtime/doc/usr_20.txt, runtime/doc/usr_29.txt,
30515 runtime/doc/usr_40.txt, runtime/doc/usr_41.txt,
30516 runtime/doc/usr_45.txt, runtime/doc/usr_46.txt,
30517 runtime/doc/usr_50.txt, runtime/doc/usr_51.txt,
30518 runtime/doc/usr_52.txt, runtime/doc/usr_90.txt,
30519 runtime/doc/usr_toc.txt, runtime/doc/various.txt,
30520 runtime/doc/version5.txt, runtime/doc/version6.txt,
30521 runtime/doc/version7.txt, runtime/doc/version8.txt,
30522 runtime/doc/version9.txt, runtime/doc/vi_diff.txt,
30523 runtime/doc/vim9.txt, runtime/doc/visual.txt,
30524 runtime/doc/windows.txt, runtime/doc/tags, runtime/doc/Makefile
30525
30526 Patch 8.2.5001
30527 Problem: Checking translations affects the search pattern history.
30528 Solution: Use "keeppatterns". (Doug Kearns)
30529 Files: src/po/check.vim
30530
30531 Patch 8.2.5002
30532 Problem: deletebufline() may change Visual selection.
30533 Solution: Disable Visual mode when using another buffer. (closes #10469)
30534 Files: src/evalbuffer.c, src/testdir/test_bufline.vim
30535
30536 Patch 8.2.5003
30537 Problem: Cannot do bitwise shifts.
30538 Solution: Add the >> and << operators. (Yegappan Lakshmanan, closes #8457)
30539 Files: runtime/doc/eval.txt, src/errors.h, src/eval.c, src/structs.h,
30540 src/vim.h, src/vim9execute.c, src/vim9expr.c,
30541 src/testdir/test_expr.vim, src/testdir/test_vim9_disassemble.vim,
30542 src/testdir/test_vim9_expr.vim
30543
30544 Patch 8.2.5004
30545 Problem: Right shift on negative number does not work as documented.
30546 Solution: Use a uvarnumber_T type cast.
30547 Files: runtime/doc/eval.txt, src/eval.c, src/vim9expr.c,
30548 src/vim9execute.c, src/charset.c, src/testdir/test_expr.vim
30549
30550 Patch 8.2.5005 (after 8.2.5003)
30551 Problem: Compiler warning for uninitialized variable. (John Marriott)
30552 Solution: Initialize the pointer to NULL.
30553 Files: src/vim9expr.vim
30554
30555 Patch 8.2.5006 (after 8.2.5003)
30556 Problem: Asan warns for undefined behavior.
30557 Solution: Cast the shifted value to unsigned.
30558 Files: src/eval.c, src/vim9expr.c, src/vim9execute.c
30559
30560 Patch 8.2.5007
30561 Problem: Spell suggestion may use uninitialized memory. (Zdenek Dohnal)
30562 Solution: Avoid going over the end of the word.
30563 Files: src/spellsuggest.c, src/testdir/test_spell_utf8.vim
30564
30565 Patch 8.2.5008
30566 Problem: When 'formatoptions' contains "/" wrongly wrapping a long trailing
30567 comment.
30568 Solution: Pass the OPENLINE_FORMAT flag.
30569 Files: src/change.c, src/vim.h, src/textformat.c,
30570 src/testdir/test_textformat.vim
30571
30572 Patch 8.2.5009
30573 Problem: Fold may not be closeable after appending.
30574 Solution: Set the fd_small flag to MAYBE. (Brandon Simmons, closes #10471)
30575 Files: src/fold.c, src/testdir/test_fold.vim
30576
30577 Patch 8.2.5010
30578 Problem: The terminal debugger uses various global variables.
30579 Solution: Add a dictionary to hold the terminal debugger preferences.
30580 Files: runtime/doc/terminal.txt,
30581 runtime/pack/dist/opt/termdebug/plugin/termdebug.vim
30582
30583 Patch 8.2.5011
30584 Problem: Replacing an autocommand requires several lines.
30585 Solution: Add the "replace" flag to autocmd_add(). (Yegappan Lakshmanan,
30586 closes #10473)
30587 Files: runtime/doc/autocmd.txt, runtime/doc/builtin.txt, src/autocmd.c,
30588 src/testdir/test_autocmd.vim
30589
30590 Patch 8.2.5012
30591 Problem: Cannot select one character inside ().
30592 Solution: Do not try to extend the area if it is empty. (closes #10472,
30593 closes #6616)
30594 Files: src/textobject.c, src/testdir/test_textobjects.vim
30595
30596 Patch 8.2.5013
30597 Problem: After text formatting the cursor may be in an invalid position.
30598 Solution: Correct the cursor position after formatting.
30599 Files: src/textformat.c, src/testdir/test_textformat.vim
30600
30601 Patch 8.2.5014
30602 Problem: Byte offsets are wrong when using text properties.
30603 Solution: Make sure text properties do not affect the byte counts.
30604 (Paul Ollis, closes #10474)
30605 Files: src/memline.c, src/textprop.c, src/testdir/test_textprop.vim
30606
30607 Patch 8.2.5015
30608 Problem: Hoon and Moonscript files are not recognized.
30609 Solution: Add filetype patterns. (Goc Dundar, closes #10478)
30610 Files: runtime/filetype.vim, src/testdir/test_filetype.vim
30611
30612 Patch 8.2.5016
30613 Problem: Access before start of text with a put command.
30614 Solution: Check the length is more than zero.
30615 Files: src/register.c, src/testdir/test_put.vim
30616
30617 Patch 8.2.5017
30618 Problem: Gcc 12.1 warns for uninitialized variable.
30619 Solution: Initialize the variable. (closes #10476)
30620 Files: src/evalvars.c
30621
30622 Patch 8.2.5018
30623 Problem: Vim9: some code is not covered by tests.
30624 Solution: Delete dead code.
30625 Files: src/vim9instr.c, src/proto/vim9instr.pro, src/vim9compile.c,
30626 src/vim9expr.c,
30627
30628 Patch 8.2.5019
30629 Problem: Cannot get the first screen column of a character.
30630 Solution: Let virtcol() optionally return a list. (closes #10482,
30631 closes #7964)
30632 Files: runtime/doc/builtin.txt, src/evalfunc.c,
30633 src/testdir/test_functions.vim, src/testdir/test_vim9_builtin.vim
30634
30635 Patch 8.2.5020
30636 Problem: Using 'imstatusfunc' and 'imactivatefunc' breaks 'foldopen'.
30637 Solution: Save and restore the KeyTyped flag. (closes #10479)
30638 Files: src/gui_xim.c, src/testdir/test_iminsert.vim
30639
30640
30641 Patch 8.2.5021
30642 Problem: Build fails with normal features and +terminal. (Dominique Pellé)
30643 Solution: Add #ifdefs. (closes #10484)
30644 Files: src/terminal.c
30645
30646 Patch 8.2.5022
30647 Problem: 'completefunc'/'omnifunc' error does not end completion.
30648 Solution: Check if there was an error or exception. (closes #10486,
30649 closes #4218)
30650 Files: src/insexpand.c, src/testdir/test_ins_complete.vim
30651
30652 Patch 8.2.5023
30653 Problem: Substitute overwrites allocated buffer.
30654 Solution: Disallow undo when in a substitute command.
30655 Files: src/normal.c, src/undo.c, src/testdir/test_substitute.vim
30656
30657 Patch 8.2.5024
30658 Problem: Using freed memory with "]d".
30659 Solution: Copy the pattern before searching.
30660 Files: src/normal.c, src/testdir/test_tagjump.vim
30661
30662 Patch 8.2.5025
30663 Problem: Vim9: a few lines not covered by tests.
30664 Solution: Add a few tests.
30665 Files: src/vim9script.c, src/testdir/test_vim9_assign.vim,
30666 src/testdir/test_vim9_import.vim
30667
30668 Patch 8.2.5026
30669 Problem: Vim9: a few lines not covered by tests.
30670 Solution: Delete dead code. Add a few test cases. make "12->func()" work.
30671 Files: src/vim9type.c, src/ex_docmd.c, src/proto/ex_docmd.pro,
30672 src/vim9compile.c, src/testdir/test_vim9_assign.vim,
30673 src/testdir/test_vim9_func.vim
30674
30675 Patch 8.2.5027
30676 Problem: Error for missing :endif when an exception was thrown. (Dani
30677 Dickstein)
30678 Solution: Do not give an error when aborting. (closes #10490)
30679 Files: src/ex_docmd.c, src/testdir/test_trycatch.vim
30680
30681 Patch 8.2.5028
30682 Problem: Syntax regexp matching can be slow.
30683 Solution: Adjust the counters for checking the timeout to check about once
30684 per msec. (closes #10487, closes #2712)
30685 Files: src/regexp_bt.c, src/regexp_nfa.c
30686
30687 Patch 8.2.5029
30688 Problem: "textlock" is always zero.
30689 Solution: Remove "textlock" and rename "textwinlock" to "textlock".
30690 (closes #10489)
30691 Files: runtime/doc/insert.txt, runtime/doc/tags, src/beval.c,
30692 src/change.c, src/edit.c, src/errors.h, src/eval.c, src/ex_cmds.c,
30693 src/ex_getln.c, src/proto/ex_getln.pro, src/globals.h,
30694 src/indent.c, src/insexpand.c, src/map.c, src/register.c,
30695 src/undo.c, src/window.c, src/testdir/test_edit.vim,
30696 src/testdir/test_ins_complete.vim, src/testdir/test_popup.vim,
30697 src/testdir/test_quickfix.vim
30698
30699 Patch 8.2.5030
30700 Problem: autocmd_add() can only handle one event and pattern.
30701 Solution: Support a list of events and patterns. (Yegappan Lakshmanan,
30702 closes #10483)
30703 Files: runtime/doc/builtin.txt, src/autocmd.c, src/errors.h,
30704 src/testdir/test_autocmd.vim
30705
30706 Patch 8.2.5031
30707 Problem: Cannot easily run the benchmarks.
30708 Solution: Have "make benchmark" in the src directory work.
30709 Files: src/Makefile, src/testdir/Makefile
30710
30711 Patch 8.2.5032
30712 Problem: Python 3 test fails without the GUI.
30713 Solution: Check the balloon_eval feature is available.
30714 Files: src/testdir/test_python3.vim
30715
30716 Patch 8.2.5033 (after 8.2.5030)
30717 Problem: Build error with +eval but without +quickfix. Warning for
30718 uninitialized variable.
30719 Solution: Adjust #ifdefs. (John Marriott)
30720 Files: src/errors.h, src/autocmd.c
30721
30722 Patch 8.2.5034
30723 Problem: There is no way to get the byte index from a virtual column.
30724 Solution: Add virtcol2col(). (Yegappan Lakshmanan, closes #10477,
30725 closes #10098)
30726 Files: runtime/doc/builtin.txt, runtime/doc/usr_41.txt, src/evalfunc.c,
30727 src/move.c, src/proto/move.pro, src/testdir/test_cursor_func.vim
30728
30729 Patch 8.2.5035
30730 Problem: When splitting a window the changelist position moves.
30731 Solution: Set the changelist index a bit later. (closes #10493)
30732 Files: src/window.c, src/testdir/test_changelist.vim,
30733 src/testdir/test_normal.vim
30734
30735 Patch 8.2.5036 (after 8.2.5028)
30736 Problem: Using two counters for timeout check in NFA engine.
30737 Solution: Use only one counter. Tune the counts based on guessing.
30738 Files: src/regexp_nfa.c
30739
30740 Patch 8.2.5037
30741 Problem: Cursor position may be invalid after "0;" range.
30742 Solution: Check the cursor position when it was set by ";" in the range.
30743 Files: src/ex_docmd.c, src/testdir/test_excmd.vim
30744
30745 Patch 8.2.5038
30746 Problem: A finished terminal in a popup window does not show a scrollbar.
30747 Solution: Show the scrollbar if the terminal job is finished. (closes
30748 #10497)
30749 Files: src/popupwin.c, src/testdir/test_popupwin.vim,
30750 src/testdir/dumps/Test_popupwin_poptermscroll_1.dump,
30751 src/testdir/dumps/Test_popupwin_poptermscroll_2.dump,
30752 src/testdir/dumps/Test_popupwin_poptermscroll_3.dump
30753
30754 Patch 8.2.5039
30755 Problem: Confusing error if first argument of popup_create() is wrong.
30756 Solution: Give a more informative error.
30757 Files: src/popupwin.c, src/testdir/test_popupwin.vim, src/errors.h,
30758 src/testdir/dumps/Test_popup_settext_07.dump
30759
30760 Patch 8.2.5040
30761 Problem: Scrollbar thumb in scrolled popup not visible.
30762 Solution: Show at least one thumb character. (fixes 10492)
30763 Files: src/popupwin.c, src/testdir/test_popupwin.vim,
30764 src/testdir/dumps/Test_popupwin_scroll_13.dump
30765
30766 Patch 8.2.5041
30767 Problem: Cannot close a terminal popup with "NONE" job.
30768 Solution: Adjust the conditions for whether a job is running.
30769 (closes #10498)
30770 Files: src/buffer.c, src/terminal.c, src/proto/terminal.pro,
30771 src/undo.c, src/testdir/test_popupwin.vim
30772
30773 Patch 8.2.5042
30774 Problem: Scrollbar thumb in tall scrolled popup not visible.
30775 Solution: Show at least one thumb character. (fixes 10492)
30776 Files: src/popupwin.c, src/testdir/test_popupwin.vim,
30777 src/testdir/dumps/Test_popupwin_scroll_13.dump
30778
30779 Patch 8.2.5043
30780 Problem: Can open a cmdline window from a substitute expression.
30781 Solution: Disallow opening a command line window when text or buffer is
30782 locked.
30783 Files: src/buffer.c, src/ex_getln.c, src/proto/ex_getln.pro,
30784 src/window.c, src/testdir/test_substitute.vim
30785
30786 Patch 8.2.5044 (after 8.2.5043)
30787 Problem: Command line test fails.
30788 Solution: Also beep when cmdline win can't be opened because of locks.
30789 Make the test not beep. Make the test pass on MS-Windows.
30790 Files: src/ex_getln.c, src/testdir/test_substitute.vim
30791
30792 Patch 8.2.5045
30793 Problem: Can escape a terminal popup window when the job is finished.
30794 Solution: Only check for a finished job where it is relevant.
30795 (closes #10253)
30796 Files: src/popupwin.c, src/testdir/test_popupwin.vim,
30797 src/testdir/dumps/Test_popupwin_poptermscroll_1.dump,
30798 src/testdir/dumps/Test_popupwin_poptermscroll_2.dump,
30799 src/testdir/dumps/Test_popupwin_poptermscroll_3.dump,
30800 src/testdir/dumps/Test_popupwin_poptermscroll_4.dump
30801
30802 Patch 8.2.5046
30803 Problem: vim_regsub() can overwrite the destination.
30804 Solution: Pass the destination length, give an error when it doesn't fit.
30805 Files: src/regexp.h, src/regexp.c, src/proto/regexp.pro, src/eval.c,
30806 src/ex_cmds.c
30807
30808 Patch 8.2.5047
30809 Problem: CurSearch highlight is often wrong.
30810 Solution: Remember the last highlighted position and redraw when needed.
30811 Files: src/globals.h, src/match.c, src/drawscreen.c, src/change.c,
30812 src/testdir/test_search.vim,
30813 src/testdir/dumps/Test_hlsearch_cursearch_changed_1.dump
30814
30815 Patch 8.2.5048
30816 Problem: When using XIM the gui test may fail.
30817 Solution: Only use --not-a-term when not using XIM.
30818 Files: src/testdir/test_gui.vim
30819
30820 Patch 8.2.5049
30821 Problem: Insufficient tests for autocommands.
30822 Solution: Add a few more tests. (Yegappan Lakshmanan, closes #10507)
30823 Files: src/autocmd.c, src/testdir/gen_opt_test.vim,
30824 src/testdir/test_autocmd.vim, src/testdir/test_cmdline.vim
30825
30826 Patch 8.2.5050
30827 Problem: Using freed memory when searching for pattern in path.
30828 Solution: Make a copy of the line.
30829 Files: src/search.c, src/testdir/test_tagjump.vim
30830
30831 Patch 8.2.5051
30832 Problem: Check for autocmd_add() event argument is confusing.
30833 Solution: Make the code more straightforward.
30834 Files: src/autocmd.c
30835
30836 Patch 8.2.5052
30837 Problem: CI checkout step title is a bit cryptic.
30838 Solution: Add a better title. (closes #10509)
30839 Files: .github/workflows/ci.yml, .github/workflows/coverity.yml,
30840 .github/workflows/codeql-analysis.yml
30841
30842 Patch 8.2.5053
30843 Problem: Cannot have a comment halfway an expression in an autocmd command
30844 block.
30845 Solution: When skipping over the NL also skip over comments. (closes #10519)
30846 Files: src/eval.c, src/testdir/test_autocmd.vim
30847
30848 Patch 8.2.5054
30849 Problem: No good filetype for conf files similar to dosini.
30850 Solution: Add the confini filetype. (closes #10518)
30851 Files: runtime/filetype.vim, src/testdir/test_filetype.vim
30852
30853 Patch 8.2.5055
30854 Problem: Statusline is not updated when terminal title changes.
30855 Solution: Redraw the status line when the title changes. (issue #10425)
30856 Files: src/terminal.c
30857
30858 Patch 8.2.5056
30859 Problem: The channel log only contains some of the raw terminal output.
30860 Solution: Add the "o" flag to log all terminal output. Use it for "--log".
30861 Files: runtime/doc/channel.txt, runtime/doc/starting.txt, src/main.c,
30862 src/channel.c, src/vim.h, src/term.c, src/edit.c, src/normal.c,
30863 src/optionstr.c
30864
30865 Patch 8.2.5057
30866 Problem: Using gettimeofday() for timeout is very inefficient.
30867 Solution: Set a platform dependent timer. (Paul Ollis, closes #10505)
30868 Files: src/auto/configure, src/config.h.in, src/configure.ac,
30869 src/drawscreen.c, src/errors.h, src/evalfunc.c, src/ex_cmds.c,
30870 src/ex_getln.c, src/match.c, src/os_mac.h, src/os_macosx.m,
30871 src/os_unix.c, src/os_win32.c, src/proto/os_unix.pro,
30872 src/proto/os_win32.pro, src/proto/regexp.pro, src/quickfix.c,
30873 src/regexp.c, src/regexp.h, src/regexp_bt.c, src/regexp_nfa.c,
30874 src/screen.c, src/search.c, src/structs.h, src/syntax.c,
30875 src/testdir/test_hlsearch.vim, src/testdir/test_search.vim,
30876 src/testdir/test_syntax.vim
30877
30878 Patch 8.2.5058
30879 Problem: input() does not handle composing characters properly.
30880 Solution: Use mb_cptr2char_adv() instead of mb_ptr2char_adv().
30881 (closes #10527)
30882 Files: src/getchar.c, src/testdir/test_functions.vim
30883
30884 Patch 8.2.5059
30885 Problem: Autoconf 2.71 produces many obsolete warnings.
30886 Solution: Replace obsolete macros with non-obsolete ones, where the
30887 functionality does not change. (issue #10528)
30888 Files: src/configure.ac, src/auto/configure
30889
30890 Patch 8.2.5060 (after 8.2.5059)
30891 Problem: Running configure fails.
30892 Solution: Remove line break.
30893 Files: src/configure.ac, src/auto/configure
30894
30895 Patch 8.2.5061
30896 Problem: C89 requires signal handlers to return void.
30897 Solution: Drop RETSIGTYPE and hard-code a void return value.
30898 Files: src/configure.ac, src/auto/configure, src/if_cscope.c,
30899 src/os_unix.c, src/pty.c, src/os_mac.h, src/os_vms_conf.h,
30900 src/config.h.in, src/osdef1.h.in
30901
30902 Patch 8.2.5062
30903 Problem: Coverity warns for dead code.
30904 Solution: Remove the dead code.
30905 Files: src/os_unix.c, src/match.c
30906
30907 Patch 8.2.5063
30908 Problem: Error for a command may go over the end of IObuff.
30909 Solution: Truncate the message.
30910 Files: src/ex_docmd.c, src/testdir/test_cmdline.vim
30911
30912 Patch 8.2.5064
30913 Problem: No test for what 8.1.0052 fixes.
30914 Solution: Add a test. (closes #10531)
30915 Files: src/getchar.c, src/testdir/test_mapping.vim
30916
30917 Patch 8.2.5065
30918 Problem: Wrong return type for main() in tee.c.
30919 Solution: Use "int" instead of "void". Remove unused variable.
30920 Files: src/tee/tee.c
30921
30922 Patch 8.2.5066
30923 Problem: Can specify multispace listchars only for whole line.
30924 Solution: Add "leadmultispace". (Christian Brabandt, closes #10496)
30925 Files: runtime/doc/options.txt, src/drawline.c, src/message.c,
30926 src/screen.c, src/structs.h, src/window.c,
30927 src/testdir/test_listchars.vim
30928
30929 Patch 8.2.5067
30930 Problem: Timer_create is not available on every Mac system. (Hisashi T
30931 Fujinaka)
30932 Solution: Adjust #ifdef.
30933 Files: src/os_unix.c
30934
30935 Patch 8.2.5068
30936 Problem: Gcc 12.1 warning when building tee.
30937 Solution: Change type to size_t. (John Marriott)
30938 Files: src/tee/tee.c
30939
30940 Patch 8.2.5069
30941 Problem: Various warnings from clang on MS-Windows.
30942 Solution: Fix the code to avoid the warnings. (Yegappan Lakshmanan,
30943 closes #10538)
30944 Files: src/dosinst.c, src/fileio.c, src/gui_w32.c, src/os_mswin.c,
30945 src/os_win32.c
30946
30947 Patch 8.2.5070
30948 Problem: Unnecessary code.
30949 Solution: Remove code that isn't needed. (closes #10534)
30950 Files: src/message.c, src/screen.c
30951
30952 Patch 8.2.5071
30953 Problem: With some Mac OS version clockid_t is redefined.
30954 Solution: Adjust #ifdefs. (Ozaki Kiichi, closes #10549)
30955 Files: src/os_mac.h
30956
30957 Patch 8.2.5072
30958 Problem: Using uninitialized value and freed memory in spell command.
30959 Solution: Initialize "attr". Check for empty line early.
30960 Files: src/spell.c, src/testdir/test_spell_utf8.vim
30961
30962 Patch 8.2.5073
30963 Problem: Clang on MS-Windows produces warnings.
30964 Solution: Avoid the warnings. (Yegappan Lakshmanan, closes #10546)
30965 Files: src/dosinst.c, src/dosinst.h, src/gui_dwrite.cpp, src/gui_w32.c,
30966 src/iscygpty.c, src/libvterm/src/vterm_internal.h, src/mbyte.c,
30967 src/os_win32.c, src/os_win32.h, src/term.c, src/xdiff/xinclude.h
30968
30969 Patch 8.2.5074
30970 Problem: Spell test fails on MS-Windows.
30971 Solution: Do not change 'encoding'
30972 Files: src/testdir/test_spell_utf8.vim
30973
30974 Patch 8.2.5075
30975 Problem: Clang gives an out of bounds warning.
30976 Solution: adjust conditional expression (John Marriott)
30977 Files: src/ui.c
30978
30979 Patch 8.2.5076
30980 Problem: Unnecessary code.
30981 Solution: Remove code and replace with function call. (closes #10552)
30982 Files: src/drawline.c, src/getchar.c
30983
30984 Patch 8.2.5077
30985 Problem: Various warnings from clang on MS-Windows.
30986 Solution: Avoid the warnings. (Yegappan Lakshmanan, closes #10553)
30987 Files: src/dosinst.c, src/dosinst.h, src/filepath.c, src/gui_w32.c,
30988 src/misc1.c, src/os_win32.c
30989
30990 Patch 8.2.5078
30991 Problem: Substitute test has a one second delay.
30992 Solution: Use ":silent!". Add another test case. (closes #10558)
30993 Files: src/testdir/test_substitute.vim
30994
30995 Patch 8.2.5079
30996 Problem: DirChanged autocommand may use freed memory. (Shane-XB Qian)
30997 Solution: Free the memory later. (closes #10555)
30998 Files: src/ex_docmd.c, src/testdir/test_autocmd.vim
30999
31000 Patch 8.2.5080
31001 Problem: When indenting gets out of hand it is hard to stop.
31002 Solution: When line gets too long set got_int.
31003 Files: src/indent.c
31004
31005 Patch 8.2.5081
31006 Problem: Autocmd test fails on MS-Windows.
31007 Solution: Set shellslash to get forward slashes.
31008 Files: src/testdir/test_autocmd.vim
31009
31010 Patch 8.2.5082 (after 8.2.5080)
31011 Problem: Retab test fails.
31012 Solution: Disable the test for now.
31013 Files: src/testdir/test_retab.vim
31014
31015 Patch 8.2.5083
31016 Problem: Autocmd test still fails on MS-Windows.
31017 Solution: Change backward to forward slashes.
31018 Files: src/testdir/test_autocmd.vim
31019
31020 Patch 8.2.5084
31021 Problem: When the GUI shows a dialog tests get stuck.
31022 Solution: Add the --gui-dialog-file argument.
31023 Files: runtime/doc/starting.txt, src/Make_mvc.mak, src/gui.c, src/main.c,
31024 src/message.c, src/os_mswin.c, src/proto/gui.pro,
31025 src/proto/main.pro, src/structs.h, src/testdir/Make_dos.mak,
31026 src/testdir/Make_ming.mak, src/testdir/Makefile,
31027 src/testdir/runtest.vim, src/testdir/shared.vim
31028
31029 Patch 8.2.5085
31030 Problem: Gcc gives warning for signed/unsigned difference.
31031 Solution: Use a different pointer type. (John Marriott)
31032 Files: src/os_mswin.c
31033
31034 Patch 8.2.5086
31035 Problem: CI runs on Windows 2019.
31036 Solution: Switch to Windows 2022. (closes #10566)
31037 Files: .github/workflows/ci.yml
31038
31039 Patch 8.2.5087
31040 Problem: Cannot build with clang on MS-Windows.
31041 Solution: Add support for building with clang. (Yegappan Lakshmanan,
31042 closes #10557)
31043 Files: src/GvimExt/Make_ming.mak, src/INSTALLpc.txt,
31044 src/Make_cyg_ming.mak
31045
31046 Patch 8.2.5088
31047 Problem: Value of cmod_verbose is a bit complicated to use.
31048 Solution: Use zero for not set, value + 1 when set. (closes #10564)
31049 Files: src/ex_docmd.c, src/ex_getln.c, src/globals.h, src/structs.h
31050
31051 Patch 8.2.5089
31052 Problem: Some functions return a different value on failure.
31053 Solution: Initialize the return value earlier. (Yegappan Lakshmanan,
31054 closes #10568)
31055 Files: src/autocmd.c, src/dict.c, src/evalfunc.c, src/list.c
31056
31057 Patch 8.2.5090
31058 Problem: MS-Windows: vim.def is no longer used.
31059 Solution: Delete vim.def. (Ken Takata, closes #10569)
31060 Files: Filelist, Makefile, src/vim.def
31061
31062 Patch 8.2.5091
31063 Problem: Terminal test fails with some shell commands.
31064 Solution: Disable setting the window title. (closes #10530)
31065 Files: src/testdir/test_terminal.vim
31066
31067 Patch 8.2.5092
31068 Problem: Using "'<,'>" in Ex mode may compare unrelated pointers.
31069 Solution: Set eap->cmd to "+" only later.
31070 Files: src/ex_docmd.c
31071
31072 Patch 8.2.5093
31073 Problem: Error message for unknown command may mention the command twice.
31074 (Malcolm Rowe)
31075 Solution: Add the did_append_cmd flag. (closes #10570)
31076 Files: src/ex_docmd.c
31077
31078 Patch 8.2.5094
31079 Problem: MS-Windows GUI: empty command may cause a dialog.
31080 Solution: Delete the dialog file. Improve the message.
31081 Files: src/testdir/runtest.vim, src/testdir/test_ex_mode.vim
31082
31083 Patch 8.2.5095
31084 Problem: Terminal test still fails with some shell commands.
31085 Solution: Disable setting the window title in the Vim instance running in a
31086 terminal window. (closes #10530)
31087 Files: src/testdir/test_terminal.vim
31088
31089 Patch 8.2.5096 (after 8.2.5095)
31090 Problem: Terminal test still fails with some shell commands.
31091 Solution: Add missing "call". (closes #10530)
31092 Files: src/testdir/test_terminal.vim
31093
31094 Patch 8.2.5097
31095 Problem: Using uninitialized memory when using 'listchars'.
31096 Solution: Use the length returned by mb_char2bytes(). (closes #10576)
31097 Files: src/message.c
31098
31099 Patch 8.2.5098
31100 Problem: Spelldump test sometimes hangs.
31101 Solution: Catch the problem of the spell file not being found to avoid
31102 hanging in the download dialog.
31103 Files: src/testdir/test_spell.vim
31104
31105 Patch 8.2.5099
31106 Problem: Some terminal tests are not retried.
31107 Solution: Mark terminal tests as flaky.
31108 Files: src/testdir/test_terminal.vim
31109
31110 Patch 8.2.5100
31111 Problem: Memory usage tests are not retried.
31112 Solution: Mark memory usage tests as flaky.
31113 Files: src/testdir/test_memory_usage.vim
31114
31115 Patch 8.2.5101
31116 Problem: MS-Windows with MinGW: $CC may be "cc" instead of "gcc".
31117 Solution: Set $CC if it is not matching "clang". (Yegappan Lakshmanan,
31118 closes #10578)
31119 Files: src/INSTALLpc.txt, src/Make_cyg_ming.mak
31120
31121 Patch 8.2.5102
31122 Problem: Interrupt not caught in test.
31123 Solution: Consider an exception thrown in the current try/catch when got_int
31124 is set. Also catch early exit when not using try/catch.
31125 Files: src/indent.c, src/testing.c, src/testdir/test_retab.vim,
31126 src/testdir/runtest.vim
31127
31128 Patch 8.2.5103
31129 Problem: Build fails with small features.
31130 Solution: Add #ifdef. Skip test on MS-Windows.
31131 Files: src/indent.c, src/testdir/test_retab.vim
31132
31133 Patch 8.2.5104 (after 8.2.5103)
31134 Problem: Test hangs on MS-Windows.
31135 Solution: Skip another test on MS-Windows.
31136 Files: src/testdir/test_retab.vim
31137
31138 Patch 8.2.5105 (after 8.2.5104)
31139 Problem: Test still hangs on MS-Windows.
31140 Solution: Skip "nocatch" test the right way.
31141 Files: src/testdir/test_retab.vim
31142
31143 Patch 8.2.5106
31144 Problem: Default cmdwin mappings are re-mappable.
31145 Solution: Make the default mappings not re-mappable. (closes #10580) Use
31146 symbols for the first do_map() argument.
31147 Files: src/vim.h, src/ex_getln.c, src/map.c, src/proto/map.pro,
31148 src/digraph.c, src/netbeans.c
31149
31150 Patch 8.2.5107
31151 Problem: Some callers of rettv_list_alloc() check for not OK. (Christ van
31152 Willegen)
31153 Solution: Use "==" instead of "!=" when checking the return value.
31154 Files: src/evalbuffer.c, src/channel.c, src/cmdexpand.c, src/evalfunc.c,
31155 src/evalwindow.c, src/insexpand.c, src/job.c, src/list.c,
31156 src/map.c, src/menu.c, src/mouse.c, src/move.c, src/sign.c,
31157 src/textprop.c, src/term.c, src/time.c
31158
31159 Patch 8.2.5108
31160 Problem: Retab test disabled because it hangs on MS-Windows.
31161 Solution: Also set got_int at the other place a overlong text is detected.
31162 Files: src/indent.c, src/testdir/test_retab.vim
31163
31164 Patch 8.2.5109
31165 Problem: Mode not updated after CTRL-O CTRL-C in Insert mode.
31166 Solution: Set redraw_mode and use it. (closes #10581)
31167 Files: src/main.c, src/normal.c, src/testdir/test_normal.vim,
31168 src/testdir/dumps/Test_mode_updated_1.dump
31169
31170 Patch 8.2.5110
31171 Problem: Icon filetype not recognized from the first line.
31172 Solution: Add a check for the first line. (Doug Kearns)
31173 Files: runtime/autoload/dist/script.vim, src/testdir/test_filetype.vim
31174
31175 Patch 8.2.5111
31176 Problem: No test for --gui-dialog-file.
31177 Solution: Add a test.
31178 Files: src/testdir/test_gui.vim
31179
31180 Patch 8.2.5112 (after 8.2.5111)
31181 Problem: Gui test hangs on MS-Windows.
31182 Solution: Use "!start" to start Vim.
31183 Files: src/testdir/test_gui.vim
31184
31185 Patch 8.2.5113
31186 Problem: Timer becomes invalid after fork/exec, :gui gives errors. (Gabriel
31187 Dupras)
31188 Solution: Delete the timer befor forking. (closes #10584)
31189 Files: src/os_unix.c, src/proto/os_unix.pro, src/gui.c
31190
31191 Patch 8.2.5114
31192 Problem: Time limit on searchpair() does not work properly.
31193 Solution: Set the time limit once instead of for each regexp. (closes #10562)
31194 Files: src/search.c, src/evalfunc.c, src/testdir/test_search.vim
31195
31196 Patch 8.2.5115
31197 Problem: Search timeout is overrun with some patterns.
31198 Solution: Check for timeout in more places. Make the flag volatile and
31199 atomic. Use assert_inrange() to see what happened.
31200 Files: src/regexp_nfa.c, src/regexp_bt.c, src/regexp.c, src/os_unix.c,
31201 src/proto/os_unix.pro, src/testdir/test_search.vim
31202
31203 Patch 8.2.5116
31204 Problem: "limit" option of matchfuzzy() not always respected.
31205 Solution: Remove "else". (Kazuyuki Miyagi, closes #10586)
31206 Files: runtime/doc/builtin.txt, src/search.c,
31207 src/testdir/test_matchfuzzy.vim
31208
31209 Patch 8.2.5117
31210 Problem: Crash when calling a Lua callback from a :def function. (Bohdan
31211 Makohin)
31212 Solution: Handle FC_CFUNC in call_user_func_check(). (closes #10587)
31213 Files: src/userfunc.c, src/testdir/test_lua.vim
31214
31215 Patch 8.2.5118
31216 Problem: MS-Windows: sending a message to another Vim may hang if that Vim
31217 is halted.
31218 Solution: Add a timeout to serverSendToVim(). (Ken Takata, closes #10585)
31219 Files: runtime/pack/dist/opt/editexisting/plugin/editexisting.vim,
31220 src/os_mswin.c
31221
31222 Patch 8.2.5119
31223 Problem: CI uses cache v2.
31224 Solution: Use cache v3. (closes #10588)
31225 Files: .github/workflows/ci.yml
31226
31227 Patch 8.2.5120
31228 Problem: Searching for quotes may go over the end of the line.
31229 Solution: Check for running into the NUL.
31230 Files: src/textobject.c
31231
31232 Patch 8.2.5121
31233 Problem: Interrupt test sometimes fails.
31234 Solution: Use a different file name.
31235 Files: src/testdir/test_interrupt.vim
31236
31237 Patch 8.2.5122
31238 Problem: Lisp indenting my run over the end of the line.
31239 Solution: Check for NUL earlier.
31240 Files: src/indent.c, src/testdir/test_indent.vim
31241
31242 Patch 8.2.5123
31243 Problem: Using invalid index when looking for spell suggestions.
31244 Solution: Do not decrement the index when it is zero.
31245 Files: src/spellsuggest.c, src/testdir/test_spell.vim
31246
31247 Patch 8.2.5124
31248 Problem: When syntax timeout test fails it does not show the time.
31249 Solution: Use assert_inrange().
31250 Files: src/testdir/test_syntax.vim
31251
31252 Patch 8.2.5125
31253 Problem: MS-Windows: warnings from MinGW compyler.
31254 Solution: Use "volatile". (Yasuhiro Matsumoto, closes #10589) Initialize
31255 variable.
31256 Files: src/os_win32.c, src/proto/os_win32.pro, src/map.c
31257
31258 Patch 8.2.5126
31259 Problem: Substitute may overrun destination buffer.
31260 Solution: Disallow switching buffers in a substitute expression.
31261 Files: src/ex_docmd.c, src/testdir/test_substitute.vim
31262
31263 Patch 8.2.5127
31264 Problem: Using assert_true() does not show value on failure.
31265 Solution: Use assert_inrange(). (closes #10593)
31266 Files: src/testdir/test_channel.vim, src/testdir/test_hlsearch.vim
31267
31268 Patch 8.2.5128
31269 Problem: Syntax highlighting disabled when using synID() in searchpair()
31270 skip expression and it times out. (Jaehwang Jung)
31271 Solution: Add the redrawtime_limit_set flag. (closes #10562)
31272 Files: src/globals.h, src/drawscreen.c, src/syntax.c
31273
31274 Patch 8.2.5129
31275 Problem: Timeout handling is not optimal.
31276 Solution: Avoid setting timeout_flag twice. Adjust the pointer when
31277 stopping the regexp timeout. Adjust variable name.
31278 Files: src/os_unix.c, src/os_win32.c, src/regexp.c
26925 31279
26926 31280
26927 31281
26928 vim:tw=78:ts=8:noet:ft=help:norl: 31282 vim:tw=78:ts=8:noet:ft=help:norl: