Problem: Too many #ifdefs.
Solution: Graduate the +autocmd feature. Takes away 450 #ifdefs and
increases code size of tiny Vim by only 40 Kbyte.
f2bd8ef2b4
Problem: Crash when running out of memory in :setfiletype completion.
Solution: Do not allocate memory. (Dominique Pelle, closesvim/vim#5438)
f0f8055102
Problem: Error when appending "tagfile" to 'wildoptions'.
Solution: use flags P_ONECOMMA and P_NODUP. (Dmitri Vereshchagin,
closesvim/vim#6105)
2e61e2d083
Problem: Not enough test coverage for match functions.
Solution: Add a few more test cases. (Dominique Pelle, closesvim/vim#5394)
Add error number.
49d68bf5e4
Problem: screenpos() returns wrong values when 'number' is set. (Ben
Jackson)
Solution: Compare the column with the window width. (closesvim/vim#5133)
38ba4dce4a
Problem: Display error when using 'number' and 'breakindent'.
Solution: Adjust extra spaces in the first row. (Ken Takata, closesvim/vim#6089,
closesvim/vim#5986)
e882f7a73c
* fixed hang issue with --headless and -r option specified
Calling the do_more_prompt function in headless mode will freeze neovim because it is eventally in the input-accepting state (the same as waiting for --more--).
* fixed "Press ENTER or type command to continue" to be suppressed
If in headless mode, we need to exit at this point. If we continue, we will enter the normal mode and the message "Press ENTER or type command to continue" will be displayed and we will be in the input waiting state.
* fixed functional ex_cmds tests
* Revert "fixed "Press ENTER or type command to continue" to be suppressed"
This reverts commit a02dc40e3b.
* Revert "fixed functional ex_cmds tests"
This reverts commit 3bdb8da20a.
* fixed conditional again
* added test for fixed hang issue with --headless (#11386)
* add lua function to highlight yanked region
* extract namespace, better naming, default values
* add default for event argument
* free timer
* factor out mark to position calculation
* d'oh
* make sure timer stops before callback (cf. luv example)
* factor out timer, more documentation
* fixup
* validate function argument for schedule
* fix block selection past eol
* correct handling of multibyte characters
* move arguments around, some cleanup
* move utility functions to vim.lua
* use anonymous namespaces, avoid local api
* rename function
* add test for schedule_fn
* fix indent
* turn hl-yank into proper (hightlight) module
* factor out position-to-region function
mark extraction now part of highlight.on_yank
* rename schedule_fn to defer_fn
* add test for vim.region
* todo: handle double-width characters
* remove debug printout
* do not shadow arguments
* defer also callable table
* whitespace change
* move highlight to vim/highlight.lua
* add documentation
* add @return documentation
* test: add check before vim.defer fires
* doc: fixup
Problem: Cannot delete a match from another window. (Paul Jolly)
Solution: Add window ID argument to matchdelete(), clearmatches(),
getmatches() and setmatches(). (Andy Massimino, closesvim/vim#4178)
aff749145e
Problem: 'showbreak' does not work for a very long line. (John Little)
Solution: Check whether 'briopt' contains "sbr". (Ken Takata, closesvim/vim#5523,
closesvim/vim#5684)
1aa76b8fd0
Problem: Using closure may consume a lot of memory.
Solution: unreference items that are no longer needed. Add a test. (Ozaki
Kiichi, closesvim/vim#3961)
209b8e3e3b
Besides the special-case in get_scrolloff_value(), it makes sense for
'scrolloff' and 'sidescrolloff' to reflect the correct values (for
plugins, scripts, …).
ref 53d607af9c53accfd634435908fb79061f1212b9
ref #11915
ref #12230
:echo expand('%', v:false, v:true)
==423== 28 bytes in 1 blocks are definitely lost in loss record 124 of 420
==423== at 0x4C2FB0F: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==423== by 0x2AD09C: try_malloc (memory.c:71)
==423== by 0x2AD0B8: xmalloc (memory.c:105)
==423== by 0x2AE05D: xmallocz (memory.c:182)
==423== by 0x1F7CF4: vim_strnsave (strings.c:68)
==423== by 0x318813: eval_vars (ex_docmd.c:8885)
==423== by 0x34F5FC: f_expand (funcs.c:2058)
==423== by 0x36D023: call_func (eval.c:6419)
==423== by 0x370C28: get_func_tv.lto_priv.707 (eval.c:6150)
==423== by 0x372748: eval7 (eval.c:4326)
==423== by 0x37291A: eval6 (eval.c:4036)
==423== by 0x372BF6: eval5 (eval.c:3884)