| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
| |
Problem: Evaluating "expr" options has more overhead than needed.
Solution: Use call_simple_func() for 'foldtext', 'includeexpr', 'printexpr',
"expr" of 'spellsuggest', 'diffexpr', 'patchexpr', 'balloonexpr',
'formatexpr', 'indentexpr' and 'charconvert'.
|
|
|
|
|
| |
Problem: May not be able to use a pattern ad the debug prompt.
Solution: Temporarily disable the timeout. (closes #11164)
|
|
|
|
|
| |
Problem: Cannot use a :def varargs function with substitute().
Solution: Use has_varargs(). (closes #11146)
|
|
|
|
|
| |
Problem: Varargs does not work for replacement function of substitute().
Solution: Check the varargs flag of the function. (closes #11142)
|
|
|
|
|
| |
Problem: A nested timout stops the previous timeout.
Solution: Ignore any nested timeout.
|
|
|
|
|
| |
Problem: Illegal memory access when pattern starts with illegal byte.
Solution: Do not match a character with an illegal byte.
|
|
|
|
|
| |
Problem: Cannot show virtual text.
Solution: Initial changes for virtual text support, using text properties.
|
|
|
|
|
| |
Problem: Using freed memory with recursive substitute.
Solution: Always make a copy for reg_prev_sub.
|
|
|
|
|
| |
Problem: Still mentioning version8, some cosmetic issues.
Solution: Prefer mentioning version9, cosmetic improvements.
|
|
|
|
|
| |
Problem: Memory leak when substitute expression nests.
Solution: Use an array of expression results.
|
|
|
|
|
| |
Problem: Using "volatile int" in a signal handler might be wrong.
Solution: Use "volatile sig_atomic_t".
|
|
|
|
|
|
| |
Problem: Timeout handling is not optimal.
Solution: Avoid setting timeout_flag twice. Adjust the pointer when
stopping the regexp timeout. Adjust variable name.
|
|
|
|
|
|
| |
Problem: Search timeout is overrun with some patterns.
Solution: Check for timeout in more places. Make the flag volatile and
atomic. Use assert_inrange() to see what happened.
|
|
|
|
|
| |
Problem: Using gettimeofday() for timeout is very inefficient.
Solution: Set a platform dependent timer. (Paul Ollis, closes #10505)
|
|
|
|
|
| |
Problem: vim_regsub() can overwrite the destination.
Solution: Pass the destination length, give an error when it doesn't fit.
|
|
|
|
|
| |
Problem: Vim9: expression in :substitute is not compiled.
Solution: Use an INSTR instruction if possible. (closes #10334)
|
|
|
|
|
| |
Problem: Missing changes in one file.
Solution: Also change the struct initializers.
|
|
|
|
|
|
|
| |
Problem: "vimgrep /\%v/ *" may cause a crash.
Solution: When compiling the pattern with the old engine fails, restore the
regprog of the new engine instead of leaving it NULL.
(closes #10079)
|
|
|
|
|
| |
Problem: Missing parenthesis may cause unexpected problems.
Solution: Add more parenthesis is macros. (closes #9788)
|
|
|
|
|
| |
Problem: The EBCDIC support is outdated.
Solution: Remove the EBCDIC support.
|
|
|
|
|
| |
Problem: Some search tests fail.
Solution: Use a better way to reject searching for the Visual area.
|
|
|
|
|
|
| |
Problem: Accessing invalid memory when a regular expression checks the
Visual area while matching in a string.
Solution: Do not try matching the Visual area in a string.
|
|
|
|
|
| |
Problem: Error messages are spread out.
Solution: Move the last error messages to errors.h.
|
|
|
|
|
| |
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: 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: Error messages are spread out.
Solution: Move more error messages to errors.h.
|
|
|
|
|
| |
Problem: Using freed memory with /\%V.
Solution: Get the line again after getvvcol().
|
|
|
|
|
| |
Problem: The funcexe_T struct members are not named consistently.
Solution: Prefix "fe_" to all the members.
|
|
|
|
|
| |
Problem: Error messages are everywhere.
Solution: Move more error messages to errors.h and adjust the names.
|
|
|
|
|
| |
Problem: The +title feature adds a lot of #ifdef but little code.
Solution: Graduate the +title feature.
|
|
|
|
|
| |
Problem: Using freed memory with regexp using a mark.
Solution: Get the line again after getting the mark position.
|
|
|
|
|
| |
Problem: Error messages are spread out.
Solution: Move a few more error messages to errors.h.
|
|
|
|
|
| |
Problem: Error messages are spread out.
Solution: Move error messages to errors.h and give them a clear name.
|
|
|
|
|
| |
Problem: Computing array length is done in various ways.
Solution: Use ARRAY_LENGTH everywhere. (Ken Takata, closes #8305)
|
|
|
|
|
| |
Problem: Pattern "\%V" does not match all of block selection. (Rick Howe)
Solution: Use the value of vi_curswant. (closes #8285)
|
|
|
|
|
|
| |
Problem: Vim9: cannot use \=expr in :substitute.
Solution: Compile the expression into instructions and execute them when
invoked.
|
|
|
|
|
|
| |
Problem: Incsearch does not detect empty pattern properly.
Solution: Return magic state when skipping over a pattern. (Christian
Brabandt, closes #7612, closes #6420)
|
|
|
|
|
|
| |
Problem: Falling back to old regexp engine can some patterns.
Solution: Do not fall back once [[:lower:]] or [[:upper:]] is used.
(Christian Brabandt, closes #7572)
|
|
|
|
|
| |
Problem: Some error messages are internal but do not use iemsg().
Solution: Use iemsg(). (Dominique Pellé, closes #6894)
|
|
|
|
|
| |
Problem: Compiler warning for use of fptr_T.
Solution: Make the type less strict.
|
|
|
|
|
| |
Problem: Crash when using submatch(0, 1) in substitute().
Solution: Increment reference count. (closes #6887)
|
|
|
|
|
|
| |
Problem: Vim9: leaking memory when using continuation line.
Solution: Keep a pointer to the continuation line in evalarg_T. Centralize
checking for a next command.
|
|
|
|
|
| |
Problem: Unnecessary type casts for vim_strnsave().
Solution: Remove the type casts.
|
|
|
|
|
| |
Problem: Vim9: no check for space before #comment.
Solution: Add space checks.
|
|
|
|
|
| |
Problem: Clearing a struct is verbose.
Solution: Define and use CLEAR_FIELD() and CLEAR_POINTER().
|
|
|
|
|
| |
Problem: Vim9: some code is not tested.
Solution: Add more tests. Fix uncovered problems.
|
|
|
|
|
|
| |
Problem: Several lines of code are duplicated.
Solution: Move duplicated code to a function. (Yegappan Lakshmanan,
closes #5330)
|
|
|
|
|
| |
Problem: test_clear_search_pat() is unused.
Solution: Remove the function. (Yegappan Lakshmanan, closes #5624)
|