Age | Commit message (Collapse) | Author |
|
Problem: Clang warns for dead assignments.
Solution: Adjust the code. (Yegappan Lakshmanan, closes #11048)
|
|
Problem: Error message for list argument could be clearer.
Solution: Include the argument number. (Yegappan Lakshmanan, closes #11027)
|
|
Problem: Typo in function name.
Solution: Rename the function. (closes #10971)
|
|
Problem: Reading past end of line with insert mode completion.
Solution: Check text length.
|
|
Problem: Too many type casts for dict_get functions.
Solution: Change the key argument from "char_u *" to "char *".
|
|
Problem: Accessing uninitialized memory when completing long line.
Solution: Terminate string with NUL.
|
|
Problem: Compiler warning for size_t to int conversion.
Solution: Add type cast. (Mike Williams, closes #10741)
|
|
Problem: Reading past end of completion with duplicate match.
Solution: Check string length
|
|
Problem: Reading past end of completion with a long line and 'infercase'
set.
Solution: Allocate the string if needed.
|
|
Problem: With some completion reading past end of string.
Solution: Check the length of the string.
|
|
Problem: Some callers of rettv_list_alloc() check for not OK. (Christ van
Willegen)
Solution: Use "==" instead of "!=" when checking the return value.
|
|
Problem: "textlock" is always zero.
Solution: Remove "textlock" and rename "textwinlock" to "textlock".
(closes #10489)
|
|
Problem: 'completefunc'/'omnifunc' error does not end completion.
Solution: Check if there was an error or exception. (closes #10486,
closes #4218)
|
|
Problem: smart/C/lisp indenting is optional, which makes the code more
complex, while it only reduces the executable size a bit.
Solution: Graduate FEAT_CINDENT, FEAT_SMARTINDENT and FEAT_LISP.
|
|
Problem: Various white space and cosmetic mistakes.
Solution: Change spaces to tabs, improve comments.
|
|
Problem: The mode #defines are not clearly named.
Solution: Prepend MODE_. Renumber them to put the mapped modes first.
|
|
Problem: The ModeChanged autocmd event is inefficient.
Solution: Avoid allocating memory. (closes #10134) Rename
trigger_modechanged() to may_trigger_modechanged().
|
|
Problem: Vim9: cannot use Vim9 syntax in mapping.
Solution: Add <ScriptCmd> to use the script context for a command.
|
|
Problem: Various code not used when features are disabled.
Solution: Add #ifdefs. (Dominique Pellé, closes #9491)
|
|
Problem: Insert mode completion is insufficiently tested.
Solution: Add more tests. Fix uncovered memory leak. (Yegappan Lakshmanan,
closes #9489)
|
|
Problem: Error messages are spread out.
Solution: Move more error messages to errors.h.
|
|
Problem: Error messages are spread out.
Solution: Move more error messages to errors.h.
|
|
Problem: Insert complete code uses global variables.
Solution: Make variables local to the file and use accessor functions.
(Yegappan Lakshmanan, closes #9470)
|
|
Problem: Some insert completion code is not tested.
Solution: Add a few tests. Refactor thesaurus completion. (Yegappan
Lakshmanan, closes #9460)
|
|
Problem: Error messages are spread out.
Solution: Move more errors to errors.h.
|
|
Problem: Error messages are spread out.
Solution: Move more errors to errors.h.
|
|
Problem: Error messages are spread out.
Solution: Move more errors to errors.h.
|
|
Problem: Insert completion code is too complicated.
Solution: More refactoring. Move function arguments into a struct.
(Yegappan Lakshmanan, closes #9437)
|
|
Problem: Insert mode completion functions are too long.
Solution: Split up into multiple functions. (Yegappan Lakshmanan,
closes #9431)
|
|
Problem: Coverity reports a possible memory leak.
Solution: Free the array if allocation fails.
|
|
Problem: Insert mode completion function is too long.
Solution: Refactor into multiple functions. (Yegappan Lakshmanan,
closes #9423)
|
|
Problem: illegal memory access when completing with invalid bytes.
Solution: Avoid going over the end of the completion text.
|
|
Problem: The ins_complete() function is much too long.
Solution: Split it up into multiple functions. (Yegappan Lakshmanan,
closes #9414)
|
|
Problem: Lambda for option that is a function may be garbage collected.
Solution: Set a reference in the funcref. (Yegappan Lakshmanan,
closes #9330)
|
|
Problem: might crash when callback is not valid.
Solution: Check for valid callback. (Yegappan Lakshmanan, closes #9293)
|
|
Problem: Cannot use a lambda for 'completefunc' and 'omnifunc'.
Solution: Implement lambda support. (Yegappan Lakshmanan, closes #9257)
|
|
Problem: Cannot use Vim9 lambda for 'tagfunc'.
Solution: Make it work, add more tests. (Yegappan Lakshmanan, closes #9250)
|
|
Problem: Internal error when ModeChanged is triggered when v:event is
already in use.
Solution: Save and restore v:event if needed.
|
|
Problem: ModeChanged is not triggered on every mode change.
Solution: Also trigger on minor mode changes. (Maguns Gross, closes #8999)
|
|
Problem: 'thesaurus' and 'thesaurusfunc' do not have the same scope.
Solution: Make 'thesaurusfunc' global-local.
|
|
Problem: Option variable name does not match option name. (Christ van
Willigen)
Solution: Rename the variable.
|
|
Problem: Cannot define a function for thesaurus completion.
Solution: Add 'thesaurusfunc'. (Yegappan Lakshmanan, closes #8987,
closes 8950)
|
|
Problem: Cannot detect insert scroll mode.
Solution: Add "scroll" to complete_info(). (closes #8943)
|
|
Problem: Cannot stop insert mode completion without side effects.
Solution: Add CTRL-X CTRL-Z. (closes #8821)
|
|
Problem: Finding completions may cause an endless loop.
Solution: Use a better way to check coming back where the search started.
(Andy Gozas, closes #8672, closes #8671)
|
|
Problem: Vim9: runtime and compile time type checks are not the same.
Solution: Add more runtime type checks for builtin functions. (Yegappan
Lakshmanan, closes #8646)
|
|
Problem: Vim9: argument types are not checked at compile time.
Solution: Add several more type checks, also at runtime. (Yegappan
Lakshmanan, closes #8587)
|
|
Problem: Adding a lot of completions can still be a bit slow.
Solution: Add the check for CP_FAST. (Ben Jackson)
|
|
Problem: Adding a lot of completions can be a bit slow.
Solution: Use fast_breakcheck() instead of ui_breakcheck() when adding a
list of completions. (Ben Jackson, closes #8061)
|
|
Problem: Can still switch windows for 'completefunc'.
Solution: Also disallow switching windows for other completions.
|