| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
| |
Problem: Computing function length name in many places.
Solution: compute name length in call_func().
|
|
|
|
|
| |
Problem: Always get regexp debugging logs when building with -DDEBUG.
Solution: By default do not create regexp debugging logs. (Ken Takata)
|
|
|
|
|
| |
Problem: Warnings from clang static analyzer. (Yegappan Lakshmanan)
Solution: Fix relevant warnings.
|
|
|
|
|
| |
Problem: Checking NULL pointer after addition. (Coverity)
Solution: First check for NULL, then add the column.
|
|
|
|
|
|
| |
Problem: Various small code ugliness.
Solution: Remove pointless NULL checks. Fix function calls. Fix typos.
(Dominique Pelle, closes #4060)
|
|
|
|
|
| |
Problem: Crash with large number in regexp. (Kuang-che Wu)
Solution: Check for long becoming negative int. (closes #)
|
|
|
|
|
|
|
| |
Problem: Pattern with syntax error gives threee error messages. (Kuang-che
Wu)
Solution: Remove outdated internal error. Don't fall back to other engine
after an error.
|
|
|
|
|
|
| |
Problem: Invalid memory access in search pattern. (Kuang-che Wu)
Solution: Check for incomplete collation element. (Dominique Pelle,
closes #3985)
|
|
|
|
|
|
| |
Problem: Old regexp engine may use invalid buffer for 'iskeyword' or
uninitialized buffer pointer. (Kuang-che Wu)
Solution: Set rex.reg_buf when compiling the pattern. (closes #3972)
|
|
|
|
|
| |
Problem: Invalid memory access in search pattern. (Kuang-che Wu)
Solution: Check for incomplete equivalence class. (closes #3970)
|
|
|
|
|
| |
Problem: Struct uses more bytes than needed.
Solution: Reorder members of regitem_S. (Dominique Pelle, closes #3936)
|
|
|
|
|
|
| |
Problem: No verbose version of character classes.
Solution: Add [:ident:], [:keyword:] and [:fname:]. (Ozaki Kiichi,
closes #1373)
|
|
|
|
|
| |
Problem: Too many #ifdefs.
Solution: Graduate FEAT_MBYTE, part 3.
|
|
|
|
|
|
| |
Problem: Depending on the configuration some functions are unused.
Solution: Add more #ifdefs, remove unused functions. (Dominique Pelle,
closes #3822)
|
|
|
|
|
| |
Problem: Argument for message functions is inconsistent.
Solution: Make first argument to msg() "char *".
|
|
|
|
|
| |
Problem: Using sprintf() instead of semsg().
Solution: Use semsg(). Fix bug with E888. (Ozaki Kiichi, closes #3801)
|
|
|
|
|
|
|
|
| |
Problem: Giving error messages is not flexible.
Solution: Add semsg(). Change argument from "char_u *" to "char *", also
for msg() and get rid of most MSG macros. (Ozaki Kiichi, closes
#3302) Also make emsg() accept a "char *" argument. Get rid of
an enormous number of type casts.
|
|
|
|
|
|
| |
Problem: Look-behind match may use the wrong line number. (Dominique Pelle)
Solution: Use the line number in regsave instead of the one in behind_pos,
we may be looking at the previous line. (closes #3749)
|
|
|
|
|
| |
Problem: Clipboard regexp might be used recursively.
Solution: Check for recursive use and bail out.
|
|
|
|
|
| |
Problem: Get_tv function names are not consistent.
Solution: Rename to tv_get.
|
|
|
|
|
| |
Problem: Unnecessary static function prototypes.
Solution: Remove unnecessary prototypes.
|
|
|
|
|
| |
Problem: Possibly use of NULL pointer. (Coverity)
Solution: Reset the re_in_use flag earlier.
|
|
|
|
|
| |
Problem: Executing regexp recursively fails with a crash.
Solution: Move global variables into "rex".
|
|
|
|
|
| |
Problem: Cannot build without syntax highlighting.
Solution: Add #ifdef around using reg_do_extmatch.
|
|
|
|
|
|
| |
Problem: Segfault when pattern with \z() is very slow.
Solution: Check for NULL regprog. Add "nfa_fail" to test_override() to be
able to test this. Fix that 'searchhl' resets called_emsg.
|
|
|
|
|
|
| |
Problem: Invalid memory acces with pattern using look-behind match.
(Dominique Pelle)
Solution: Get a pointer to the right line.
|
|
|
|
|
|
| |
Problem: Clearing a pointer takes two lines.
Solution: Add VIM_CLEAR() and replace vim_clear(). (Hirohito Higashi,
closes #2629)
|
|
|
|
|
| |
Problem: Undefined left shift in gethexchrs(). (geeknik)
Solution: Use unsigned long. (idea by Christian Brabandt, closes #2255)
|
|
|
|
|
| |
Problem: Newer gcc warns for implicit fallthrough.
Solution: Consistently use a FALLTHROUGH comment. (Christian Brabandt)
|
|
|
|
|
| |
Problem: Syntax highlighting can make cause a freeze.
Solution: Apply 'redrawtime' to syntax highlighting, per window.
|
|
|
|
|
|
| |
Problem: The hlsearch test fails on fast systems.
Solution: Make the search pattern slower. Fix that the old regexp engine
doesn't timeout properly.
|
|
|
|
|
|
| |
Problem: The new regexp engine does not give an error for using a back
reference where it is not allowed. (Dominique Pelle)
Solution: Check the back reference like the old engine. (closes #1774)
|
|
|
|
|
|
|
|
| |
Problem: When 'hlsearch' is set and matching with the last search pattern
is very slow, Vim becomes unusable. Cannot quit search by
pressing CTRL-C.
Solution: When the search times out set a flag and don't try again. Check
for timeout and CTRL-C in NFA loop that adds states.
|
|
|
|
|
| |
Problem: Warning for unused variable in tiny build. (Tony Mechelynck)
Solution: Add an #ifdef.
|
|
|
|
|
| |
Problem: The message "Invalid range" is used for multiple errors.
Solution: Add two more specific error messages. (Itchyny, Ken Hamada)
|
|
|
|
|
|
|
| |
Problem: Using a function pointer instead of the actual function, which we
know.
Solution: Change mb_ functions to utf_ functions when already checked for
Unicode. (Dominique Pelle, closes #1582)
|
|
|
|
|
|
|
|
|
| |
Problem: Character classes are not well tested. They can differ between
platforms.
Solution: Add tests. In the documentation make clear which classes depend
on what library function. Only use :cntrl: and :graph: for ASCII.
(Kazunobu Kuriyama, Dominique Pelle, closes #1560)
Update the documentation.
|
|
|
|
|
| |
Problem: Some macros are in lower case.
Solution: Make a few more macros upper case.
|
|
|
|
|
|
| |
Problem: Some macros are in lower case.
Solution: Make a few more macros upper case. Avoid lower case macros use an
argument twice.
|
|
|
|
|
| |
Problem: Some macros are in lower case, which can be confusing.
Solution: Make a few lower case macros upper case.
|
|
|
|
|
|
| |
Problem: Cannot make Vim fail on an internal error.
Solution: Add IEMSG() and IEMSG2(). (Domenique Pelle) Avoid reporting an
internal error without mentioning where.
|
|
|
|
|
| |
Problem: The regexp engines are not reentrant.
Solution: Add regexec_T and save/restore the state when needed.
|
|
|
|
|
| |
Problem: Superfluous function prototypes.
Solution: Remove them.
|
|
|
|
|
| |
Problem: Modelines in source code are inconsistant.
Solution: Use the same line in most files. Add 'noet'. (Naruhiko Nishino)
|
|
|
|
|
|
|
| |
Problem: Using function() with a name will find another function when it is
redefined.
Solution: Add funcref(). Refer to lambda using a partial. Fix several
reference counting issues.
|
|
|
|
|
|
| |
Problem: Using submatch() in a lambda passed to substitute() is verbose.
Solution: Use a static list and pass it as an optional argument to the
function. Fix memory leak.
|
|
|
|
|
| |
Problem: substitute() does not support a Funcref argument.
Solution: Support a Funcref like it supports a string starting with "\=".
|
|
|
|
|
|
| |
Problem: Some character classes may differ between systems. On OS/X the
regexp test fails.
Solution: Make this less dependent on the system. (idea by Kazunobu Kuriyama)
|
|
|
|
|
|
| |
Problem: The old regexp engine doesn't handle character classes correctly.
(Manuel Ortega)
Solution: Use regmbc() instead of regc(). Add a test.
|
|
|
|
|
|
|
|
| |
Problem: Leaking memory when there is a cycle involving a job and a
partial.
Solution: Add a copyID to job and channel. Set references in items referred
by them. Go through all jobs and channels to find unreferenced
items. Also, decrement reference counts when garbage collecting.
|