summaryrefslogtreecommitdiff
path: root/src/regexp_nfa.c
Commit message (Collapse)AuthorAgeFilesLines
* patch 8.2.3855: illegal memory access when displaying a blobv8.2.3855Yegappan Lakshmanan2021-12-191-3/+3
| | | | | Problem: Illegal memory access when displaying a blob. Solution: Append a NUL at the end. (Yegappan Lakshmanan, closes #9372)
* patch 8.2.3825: various comments could be improvedv8.2.3825Bram Moolenaar2021-12-161-1/+1
| | | | | Problem: Various comments could be improved. Solution: Improve the comments.
* patch 8.2.3749: error messages are everywherev8.2.3749Bram Moolenaar2021-12-051-4/+4
| | | | | Problem: Error messages are everywhere. Solution: Move more error messages to errors.h and adjust the names.
* patch 8.2.3612: using freed memory with regexp using a markv8.2.3612Bram Moolenaar2021-11-171-0/+8
| | | | | Problem: Using freed memory with regexp using a mark. Solution: Get the line again after getting the mark position.
* patch 8.2.3409: reading beyond end of line with invalid utf-8 characterv8.2.3409Bram Moolenaar2021-09-071-1/+2
| | | | | Problem: Reading beyond end of line with invalid utf-8 character. Solution: Check for NUL when advancing.
* patch 8.2.3197: error messages are spread outv8.2.3197Bram Moolenaar2021-07-211-3/+4
| | | | | Problem: Error messages are spread out. Solution: Move a few more error messages to errors.h.
* patch 8.2.3190: error messages are spread outv8.2.3190Bram Moolenaar2021-07-201-2/+2
| | | | | Problem: Error messages are spread out. Solution: Move error messages to errors.h and give them a clear name.
* patch 8.2.3125: variables are set but not usedv8.2.3125=?UTF-8?q?Dundar=20G=C3=B6c?=2021-07-081-5/+5
| | | | | | Problem: Variables are set but not used. Solution: Move the declarations to the block where they are used. (closes #8527)
* patch 8.2.3110: a pattern that matches the cursor position is complicatedv8.2.3110Bram Moolenaar2021-07-051-1/+29
| | | | | | Problem: A pattern that matches the cursor position is bit complicated. Solution: Use a dot to indicate the cursor line and column. (Christian Brabandt, closes #8497, closes #8179)
* patch 8.2.2885: searching for \%'> does not match linewise end of linev8.2.2885Bram Moolenaar2021-05-241-11/+19
| | | | | Problem: searching for \%'> does not match linewise end of line. (Tim Chase) Solution: Match end of line if column is MAXCOL. (closes #8238)
* patch 8.2.2829: some comments are not correct or clearv8.2.2829Bram Moolenaar2021-05-031-1/+1
| | | | | Problem: Some comments are not correct or clear. Solution: Adjust the comments. Add test for cursor position.
* patch 8.2.2716: the equivalent class regexp is missing some charactersv8.2.2716Bram Moolenaar2021-04-051-243/+399
| | | | | | Problem: The equivalent class regexp is missing some characters. Solution: Update the list of equivalent characters. (Dominique Pellé, closes #8029)
* patch 8.2.2278: falling back to old regexp engine can some patternsv8.2.2278Bram Moolenaar2021-01-021-2/+17
| | | | | | 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)
* patch 8.2.2181: valgrind warnings for using uninitialized valuev8.2.2181Bram Moolenaar2020-12-211-12/+15
| | | | | Problem: Valgrind warnings for using uninitialized value. Solution: Do not use "start" or "end" unless there is a match.
* patch 8.2.2177: pattern "^" does not match if first character is combiningv8.2.2177Bram Moolenaar2020-12-211-3/+5
| | | | | | Problem: Pattern "^" does not match if the first character in the line is combining. (Rene Kita) Solution: Do accept a match at the start of the line. (closes #6963)
* patch 8.2.2171: valgrind warning for using uninitialized valuev8.2.2171Bram Moolenaar2020-12-201-1/+1
| | | | | Problem: Valgrind warning for using uninitialized value. Solution: Do not use "startp" or "endp" unless there is a match.
* patch 8.2.2121: internal error when using \ze before \zs in a patternv8.2.2121Bram Moolenaar2020-12-091-0/+17
| | | | | Problem: Internal error when using \ze before \zs in a pattern. Solution: Check the end is never before the start. (closes #7442)
* patch 8.2.1633: some error messages are internal but do not use iemsg()v8.2.1633Bram Moolenaar2020-09-071-1/+1
| | | | | Problem: Some error messages are internal but do not use iemsg(). Solution: Use iemsg(). (Dominique Pellé, closes #6894)
* patch 8.2.0967: unnecessary type casts for vim_strnsave()v8.2.0967Bram Moolenaar2020-06-121-2/+1
| | | | | Problem: Unnecessary type casts for vim_strnsave(). Solution: Remove the type casts.
* patch 8.2.0938: NFA regexp uses tolower ()to compare ignore-casev8.2.0938Bram Moolenaar2020-06-091-7/+7
| | | | | Problem: NFA regexp uses tolower() to compare ignore-case. (Thayne McCombs) Solution: Use utf_fold() when possible. (ref. neovim #12456)
* patch 8.2.0892: ubsan warns for undefined behaviorv8.2.0892Bram Moolenaar2020-06-031-4/+13
| | | | | | Problem: Ubsan warns for undefined behavior. Solution: Use unsigned instead of signed variable. (Dominique Pelle, closes #6193)
* patch 8.2.0559: clearing a struct is verbosev8.2.0559Bram Moolenaar2020-04-121-2/+2
| | | | | Problem: Clearing a struct is verbose. Solution: Define and use CLEAR_FIELD() and CLEAR_POINTER().
* patch 8.2.0260: several lines of code are duplicatedv8.2.0260Bram Moolenaar2020-02-151-11/+1
| | | | | | Problem: Several lines of code are duplicated. Solution: Move duplicated code to a function. (Yegappan Lakshmanan, closes #5330)
* patch 8.2.0033: crash when make_extmatch() runs out of memoryv8.2.0033Bram Moolenaar2019-12-221-0/+2
| | | | | Problem: Crash when make_extmatch() runs out of memory. Solution: Check for NULL. (Dominique Pelle, closs #5392)
* patch 8.1.2394: using old C style commentsv8.1.2394Bram Moolenaar2019-12-051-723/+720
| | | | | Problem: Using old C style comments. Solution: Use // comments where appropriate.
* patch 8.1.2243: typos in commentsv8.1.2243Bram Moolenaar2019-11-021-1/+1
| | | | | | Problem: Typos in comments. Solution: Fix the typos. (Dominique Pelle, closes #5160) Also adjust formatting a bit.
* patch 8.1.1414: alloc() returning "char_u *" causes a lot of type castsv8.1.1414Bram Moolenaar2019-05-281-8/+8
| | | | | | 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.
* patch 8.1.1393: unnecessary type castsv8.1.1393Bram Moolenaar2019-05-251-1/+1
| | | | | Problem: Unnecessary type casts. Solution: Remove type casts from alloc() and lalloc() calls. (Mike Williams)
* patch 8.1.1386: unessesary type casts for lalloc()v8.1.1386Bram Moolenaar2019-05-241-7/+7
| | | | | Problem: Unessesary type casts for lalloc(). Solution: Remove type casts. Change lalloc(size, TRUE) to alloc(size).
* patch 8.1.1249: compiler warning for uninitialized variablev8.1.1249Bram Moolenaar2019-05-031-2/+4
| | | | | Problem: Compiler warning for uninitialized variable. Solution: Initialize it. (Christian Brabandt)
* patch 8.1.1086: too many curly bracesv8.1.1086Bram Moolenaar2019-03-301-6/+1
| | | | | | Problem: Too many curly braces. Solution: Remove curly braces where they are not needed. (Hirohito Higashi, closes #3982)
* patch 8.1.0973: pattern with syntax error gives threee error messagesv8.1.0973Bram Moolenaar2019-02-221-5/+0
| | | | | | | 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.
* patch 8.1.0968: crash when using search pattern \%Ufffffc23v8.1.0968Bram Moolenaar2019-02-211-1/+1
| | | | | Problem: Crash when using search pattern \%Ufffffc23. Solution: Limit character to INT_MAX. (closes #4009)
* patch 8.1.0958: compiling weird regexp pattern is very slowv8.1.0958Bram Moolenaar2019-02-201-1/+4
| | | | | | Problem: Compiling weird regexp pattern is very slow. Solution: When reallocating post list increase size by 50%. (Kuang-che Wu, closes #4012) Make assert_inrange() accept float values.
* patch 8.1.0945: internal error when using pattern with NL in the rangev8.1.0945Bram Moolenaar2019-02-171-2/+3
| | | | | | Problem: Internal error when using pattern with NL in the range. Solution: Use an actual newline for the range. (closes #3989) Also fix error message. (Dominique Pelle)
* patch 8.1.0919: compiler warningsv8.1.0919Bram Moolenaar2019-02-141-1/+1
| | | | | Problem: Compiler warnings. Solution: Add type casts. (Mike Williams)
* patch 8.1.0913: CI crashes when running out of memoryv8.1.0913Bram Moolenaar2019-02-131-4/+17
| | | | | Problem: CI crashes when running out of memory. Solution: Apply 'maxmempattern' also to new regexp engine.
* patch 8.1.0910: crash with tricky search patternv8.1.0910Bram Moolenaar2019-02-131-8/+16
| | | | | Problem: Crash with tricky search pattern. (Kuang-che Wu) Solution: Check for runnning out of memory. (closes #3950)
* patch 8.1.0908: can't handle large value for %{nr}v in regexpv8.1.0908Bram Moolenaar2019-02-131-3/+6
| | | | | Problem: Can't handle large value for %{nr}v in regexp. (Kuang-che Wu) Solution: Give an error if the value is too large. (closes #3948)
* patch 8.1.0907: CI tests on AppVeyor are failingv8.1.0907Bram Moolenaar2019-02-131-1/+1
| | | | | Problem: CI tests on AppVeyor are failing. Solution: Reduce the recursiveness limit for regexp.
* patch 8.1.0905: complicated regexp causes a crashv8.1.0905Bram Moolenaar2019-02-121-18/+65
| | | | | Problem: Complicated regexp causes a crash. (Kuang-che Wu) Solution: Limit the recursiveness of addstate(). (closes #3941)
* patch 8.1.0862: no verbose version of character classesv8.1.0862Bram Moolenaar2019-01-311-1/+28
| | | | | | Problem: No verbose version of character classes. Solution: Add [:ident:], [:keyword:] and [:fname:]. (Ozaki Kiichi, closes #1373)
* patch 8.1.0809: too many #ifdefsv8.1.0809Bram Moolenaar2019-01-241-71/+8
| | | | | Problem: Too many #ifdefs. Solution: Graduate FEAT_MBYTE, part 3.
* patch 8.1.0753: printf format not checked for semsg()v8.1.0753Bram Moolenaar2019-01-151-1/+1
| | | | | | Problem: printf format not checked for semsg(). Solution: Add GNUC attribute and fix reported problems. (Dominique Pelle, closes #3805)
* patch 8.1.0743: giving error messages is not flexiblev8.1.0743Bram Moolenaar2019-01-131-19/+19
| | | | | | | | 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.
* patch 8.1.0641: no check for out-of-memory when converting regexpv8.1.0641Bram Moolenaar2018-12-261-1/+3
| | | | | Problem: No check for out-of-memory when converting regexp. Solution: Bail out when lalloc() returns NULL. (John Marriott)
* patch 8.1.0192: executing regexp recursively fails with a crashv8.1.0192Bram Moolenaar2018-07-171-218/+211
| | | | | Problem: Executing regexp recursively fails with a crash. Solution: Move global variables into "rex".
* patch 8.1.0170: invalid memory use with complicated patternv8.1.0170Bram Moolenaar2018-07-081-62/+11
| | | | | | Problem: Invalid memory use with complicated pattern. (Andy Massimino) Solution: Reallocate the list of listids when needed. (closes #3175) Remove unnecessary function prototypes.
* patch 8.1.0104: can't build without the +eval featurev8.1.0104Bram Moolenaar2018-06-231-1/+5
| | | | | Problem: Can't build without the +eval feature. Solution: Add #ifdef.
* patch 8.1.0099: exclamation mark in error message not neededv8.1.0099Bram Moolenaar2018-06-231-2/+2
| | | | | Problem: Exclamation mark in error message not needed. Solution: Remove the exclamation mark.