diff options
| author | zeertzjq <zeertzjq@outlook.com> | 2026-04-20 16:14:11 +0800 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2026-04-20 08:14:11 +0000 |
| commit | 2e8f285f6c1be6a55a9aae2fab64421f24bd7df0 (patch) | |
| tree | a97d560798e5254381e1430a23de8c101761acb5 /test/functional/vimscript/executable_spec.lua | |
| parent | 61daad3bbaa30c916ee96dba4747fba3556878e1 (diff) | |
vim-patch:partial:9.2.0368: too many strlen() calls when adding strings to dicts (#39237)
Problem: too many strlen() calls when adding strings to dicts
Solution: Refactor code to use string_T, use dict_add_string_len()
instead of dict_add_string() (John Marriott)
Additionally:
- In textprop.c, in function prop_fill_dict() use a string_T to store
local variable text_align.
- In popupwin.c, use a string_T to store struct member pp_name in struct
poppos_entry_T.
- In mark.c, refactor function add_mark() to pass in the length of
argument mname.
- In insexpand.c:
->Use a string_T to store the elements of static array
ctrl_x_mode_names.
->Refactor function trigger_complete_done_event():
->->change type of argument char_u *word to string_T *word.
->->make one access of array ctrl_x_mode_names instead of two.
->Refactor function ins_compl_mode() to accept a string_T to return the
resulting string.
- In fileio.c:
->Refactor function getftypewfd() to accept a string_T to return the
resulting string.
->In function create_readdirex_item() use a string_T to store local
variable q.
- In cmdexpand.c, store global cmdline_orig as a string_T.
- In autocmd.c, in function f_autocmd_get() use a string_T to store local
variables event_name and group_name. Measure their lengths once when
they are assigned so they are not remeasured on each call to
dict_add_string() in the subsequent for loop.
- In channel.c, in function channel_part_info() drop local variable status
and use s instead. Make s a string_T.
closes: vim/vim#19999
https://github.com/vim/vim/commit/c13232699db413e735f30b5649c78a7f38a9a069
Co-authored-by: John Marriott <basilisk@internode.on.net>
Diffstat (limited to 'test/functional/vimscript/executable_spec.lua')
0 files changed, 0 insertions, 0 deletions
