summaryrefslogtreecommitdiffstats
path: root/src/regexp.c
AgeCommit message (Collapse)Author
2019-08-20patch 8.1.1891: functions used in one file are globalv8.1.1891Bram Moolenaar
Problem: Functions used in one file are global. Solution: Add "static". (Yegappan Lakshmanan, closes #4840)
2019-08-08patch 8.1.1827: allocating more memory than needed for extended structsv8.1.1827Bram Moolenaar
Problem: Allocating more memory than needed for extended structs. Solution: Use offsetof() instead of sizeof(). (Dominique Pelle, closes #4786)
2019-08-03patch 8.1.1800: function call functions have too many argumentsv8.1.1800Bram Moolenaar
Problem: Function call functions have too many arguments. Solution: Pass values in a funcexe_T struct.
2019-07-20patch 8.1.1720: crash with very long %[] patternv8.1.1720Bram Moolenaar
Problem: Crash with very long %[] pattern. (Reza Mirzazade farkhani) Solution: Check for reg_toolong. (closes #4703)
2019-05-28patch 8.1.1414: alloc() returning "char_u *" causes a lot of type castsv8.1.1414Bram Moolenaar
Problem: Alloc() returning "char_u *" causes a lot of type casts. Solution: Have it return "void *". (Mike Williams) Define ALLOC_ONE() to check the simple allocations.
2019-05-24patch 8.1.1386: unessesary type casts for lalloc()v8.1.1386Bram Moolenaar
Problem: Unessesary type casts for lalloc(). Solution: Remove type casts. Change lalloc(size, TRUE) to alloc(size).
2019-05-24patch 8.1.1384: using "int" for alloc() often results in compiler warningsv8.1.1384Bram Moolenaar
Problem: Using "int" for alloc() often results in compiler warnings. Solution: Use "size_t" and remove type casts. Remove alloc_check(), Vim only works with 32 bit ints anyway.
2019-05-11patch 8.1.1319: computing function length name in many placesv8.1.1319Bram Moolenaar
Problem: Computing function length name in many places. Solution: compute name length in call_func().
2019-04-25patch 8.1.1202: always get regexp debugging logs when building with -DDEBUGv8.1.1202Bram Moolenaar
Problem: Always get regexp debugging logs when building with -DDEBUG. Solution: By default do not create regexp debugging logs. (Ken Takata)
2019-03-21patch 8.1.1032: warnings from clang static analyzerv8.1.1032Bram Moolenaar
Problem: Warnings from clang static analyzer. (Yegappan Lakshmanan) Solution: Fix relevant warnings.
2019-03-20patch 8.1.1025: checking NULL pointer after additionv8.1.1025Bram Moolenaar
Problem: Checking NULL pointer after addition. (Coverity) Solution: First check for NULL, then add the column.
2019-03-02patch 8.1.0989: various small code uglinessv8.1.0989Bram Moolenaar
Problem: Various small code ugliness. Solution: Remove pointless NULL checks. Fix function calls. Fix typos. (Dominique Pelle, closes #4060)
2019-02-28patch 8.1.0985: crash with large number in regexpv8.1.0985Bram Moolenaar
Problem: Crash with large number in regexp. (Kuang-che Wu) Solution: Check for long becoming negative int. (closes #)
2019-02-22patch 8.1.0973: pattern with syntax error gives threee error messagesv8.1.0973Bram Moolenaar
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.
2019-02-17patch 8.1.0937: invalid memory access in search patternv8.1.0937Bram Moolenaar
Problem: Invalid memory access in search pattern. (Kuang-che Wu) Solution: Check for incomplete collation element. (Dominique Pelle, closes #3985)
2019-02-16patch 8.1.0935: old regexp engine may use invalid bufferv8.1.0935Bram Moolenaar
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)
2019-02-16patch 8.1.0934: invalid memory access in search patternv8.1.0934Bram Moolenaar
Problem: Invalid memory access in search pattern. (Kuang-che Wu) Solution: Check for incomplete equivalence class. (closes #3970)
2019-02-12patch 8.1.0903: struct uses more bytes than neededv8.1.0903Bram Moolenaar
Problem: Struct uses more bytes than needed. Solution: Reorder members of regitem_S. (Dominique Pelle, closes #3936)
2019-01-31patch 8.1.0862: no verbose version of character classesv8.1.0862Bram Moolenaar
Problem: No verbose version of character classes. Solution: Add [:ident:], [:keyword:] and [:fname:]. (Ozaki Kiichi, closes #1373)
2019-01-24patch 8.1.0809: too many #ifdefsv8.1.0809Bram Moolenaar
Problem: Too many #ifdefs. Solution: Graduate FEAT_MBYTE, part 3.
2019-01-20patch 8.1.0785: depending on the configuration some functions are unusedv8.1.0785Bram Moolenaar
Problem: Depending on the configuration some functions are unused. Solution: Add more #ifdefs, remove unused functions. (Dominique Pelle, closes #3822)
2019-01-19patch 8.1.0779: argument for message functions is inconsistentv8.1.0779Bram Moolenaar
Problem: Argument for message functions is inconsistent. Solution: Make first argument to msg() "char *".
2019-01-14patch 8.1.0748: using sprintf() instead of semsg()v8.1.0748Bram Moolenaar
Problem: Using sprintf() instead of semsg(). Solution: Use semsg(). Fix bug with E888. (Ozaki Kiichi, closes #3801)
2019-01-13patch 8.1.0743: giving error messages is not flexiblev8.1.0743Bram Moolenaar
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.
2019-01-01patch 8.1.0677: look-behind match may use the wrong line numberv8.1.0677Bram Moolenaar
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)
2018-12-29patch 8.1.0661: clipboard regexp might be used recursivelyv8.1.0661Bram Moolenaar
Problem: Clipboard regexp might be used recursively. Solution: Check for recursive use and bail out.
2018-12-21patch 8.1.0615: get_tv function names are not consistentv8.1.0615Bram Moolenaar
Problem: Get_tv function names are not consistent. Solution: Rename to tv_get.
2018-09-30patch 8.1.0443: unnecessary static function prototypesv8.1.0443Bram Moolenaar
Problem: Unnecessary static function prototypes. Solution: Remove unnecessary prototypes.
2018-07-18patch 8.1.0194: possibly use of NULL pointerv8.1.0194Bram Moolenaar
Problem: Possibly use of NULL pointer. (Coverity) Solution: Reset the re_in_use flag earlier.
2018-07-17patch 8.1.0192: executing regexp recursively fails with a crashv8.1.0192Bram Moolenaar
Problem: Executing regexp recursively fails with a crash. Solution: Move global variables into "rex".
2018-06-23patch 8.1.0102: cannot build without syntax highlightingv8.1.0102Bram Moolenaar
Problem: Cannot build without syntax highlighting. Solution: Add #ifdef around using reg_do_extmatch.
2018-06-23patch 8.1.0098: segfault when pattern with \z() is very slowv8.1.0098Bram Moolenaar
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.
2018-02-13patch 8.0.1517: invalid memory acces with pattern using look-behind matchv8.0.1517Bram Moolenaar
Problem: Invalid memory acces with pattern using look-behind match. (Dominique Pelle) Solution: Get a pointer to the right line.
2018-02-10patch 8.0.1496: clearing a pointer takes two linesv8.0.1496Bram Moolenaar
Problem: Clearing a pointer takes two lines. Solution: Add VIM_CLEAR() and replace vim_clear(). (Hirohito Higashi, closes #2629)
2017-11-02patch 8.0.1254: undefined left shift in gethexchrs()v8.0.1254Bram Moolenaar
Problem: Undefined left shift in gethexchrs(). (geeknik) Solution: Use unsigned long. (idea by Christian Brabandt, closes #2255)
2017-10-24patch 8.0.1215: newer gcc warns for implicit fallthroughv8.0.1215Bram Moolenaar
Problem: Newer gcc warns for implicit fallthrough. Solution: Consistently use a FALLTHROUGH comment. (Christian Brabandt)
2017-06-18patch 8.0.0647: syntax highlighting can make cause a freezev8.0.0647Bram Moolenaar
Problem: Syntax highlighting can make cause a freeze. Solution: Apply 'redrawtime' to syntax highlighting, per window.
2017-06-17patch 8.0.0646: the hlsearch test fails on fast systemsv8.0.0646Bram Moolenaar
Problem: The hlsearch test fails on fast systems. Solution: Make the search pattern slower. Fix that the old regexp engine doesn't timeout properly.
2017-06-17patch 8.0.0645: no error for illegal back reference in NFA enginev8.0.0645Bram Moolenaar
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)
2017-06-17patch 8.0.0643: when a pattern search is slow Vim becomes unusablev8.0.0643Bram Moolenaar
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.
2017-06-05patch 8.0.0624: warning for unused variable in tiny buildv8.0.0624Bram Moolenaar
Problem: Warning for unused variable in tiny build. (Tony Mechelynck) Solution: Add an #ifdef.
2017-06-05patch 8.0.0623: error for invalid regexp is not very informativev8.0.0623Bram Moolenaar
Problem: The message "Invalid range" is used for multiple errors. Solution: Add two more specific error messages. (Itchyny, Ken Hamada)
2017-03-29patch 8.0.0520: using a function pointer while the function is knownv8.0.0520Bram Moolenaar
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)
2017-03-29patch 8.0.0519: character classes are not well testedv8.0.0519Bram Moolenaar
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.
2017-03-12patch 8.0.0452: some macros are in lower casev8.0.0452Bram Moolenaar
Problem: Some macros are in lower case. Solution: Make a few more macros upper case.
2017-03-12patch 8.0.0451: some macros are in lower casev8.0.0451Bram Moolenaar
Problem: Some macros are in lower case. Solution: Make a few more macros upper case. Avoid lower case macros use an argument twice.
2017-03-12patch 8.0.0448: some macros are in lower casev8.0.0448Bram Moolenaar
Problem: Some macros are in lower case, which can be confusing. Solution: Make a few lower case macros upper case.
2016-11-10patch 8.0.0074v8.0.0074Bram Moolenaar
Problem: Cannot make Vim fail on an internal error. Solution: Add IEMSG() and IEMSG2(). (Domenique Pelle) Avoid reporting an internal error without mentioning where.
2016-10-02patch 8.0.0020v8.0.0020Bram Moolenaar
Problem: The regexp engines are not reentrant. Solution: Add regexec_T and save/restore the state when needed.
2016-09-11patch 7.4.2363v7.4.2363Bram Moolenaar
Problem: Superfluous function prototypes. Solution: Remove them.