summaryrefslogtreecommitdiff
path: root/src/regexp.c
Commit message (Collapse)AuthorAgeFilesLines
* patch 8.2.4273: the EBCDIC support is outdatedv8.2.4273Bram Moolenaar2022-01-311-45/+1
| | | | | Problem: The EBCDIC support is outdated. Solution: Remove the EBCDIC support.
* patch 8.2.4262: some search tests failv8.2.4262Bram Moolenaar2022-01-301-1/+1
| | | | | Problem: Some search tests fail. Solution: Use a better way to reject searching for the Visual area.
* patch 8.2.4261: accessing invalid memory in a regular expressionv8.2.4261Bram Moolenaar2022-01-301-2/+2
| | | | | | 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.
* patch 8.2.4012: error messages are spread outv8.2.4012Bram Moolenaar2022-01-051-1/+1
| | | | | Problem: Error messages are spread out. Solution: Move the last error messages to errors.h.
* patch 8.2.4010: error messages are spread outv8.2.4010Bram Moolenaar2022-01-051-1/+1
| | | | | Problem: Error messages are spread out. Solution: Move more error messages to errors.h.
* patch 8.2.4008: error messages are spread outv8.2.4008Bram Moolenaar2022-01-051-7/+2
| | | | | Problem: Error messages are spread out. Solution: Move more error messages to errors.h.
* patch 8.2.4005: error messages are spread outv8.2.4005Bram Moolenaar2022-01-041-1/+1
| | | | | Problem: Error messages are spread out. Solution: Move more error messages to errors.h.
* patch 8.2.3987: error messages are spread outv8.2.3987Bram Moolenaar2022-01-021-1/+1
| | | | | Problem: Error messages are spread out. Solution: Move more error messages to errors.h.
* patch 8.2.3985: error messages are spread outv8.2.3985Bram Moolenaar2022-01-021-1/+1
| | | | | Problem: Error messages are spread out. Solution: Move more error messages to errors.h.
* patch 8.2.3949: using freed memory with /\%Vv8.2.3949Bram Moolenaar2021-12-301-2/+7
| | | | | Problem: Using freed memory with /\%V. Solution: Get the line again after getvvcol().
* patch 8.2.3796: the funcexe_T struct members are not named consistentlyv8.2.3796Bram Moolenaar2021-12-131-3/+3
| | | | | Problem: The funcexe_T struct members are not named consistently. Solution: Prefix "fe_" to all the members.
* patch 8.2.3749: error messages are everywherev8.2.3749Bram Moolenaar2021-12-051-6/+0
| | | | | Problem: Error messages are everywhere. Solution: Move more error messages to errors.h and adjust the names.
* patch 8.2.3699: the +title feature adds a lot of #ifdef but little codev8.2.3699Bram Moolenaar2021-11-291-2/+1
| | | | | Problem: The +title feature adds a lot of #ifdef but little code. Solution: Graduate the +title feature.
* patch 8.2.3612: using freed memory with regexp using a markv8.2.3612Bram Moolenaar2021-11-171-1/+1
| | | | | Problem: Using freed memory with regexp using a mark. Solution: Get the line again after getting the mark position.
* patch 8.2.3197: error messages are spread outv8.2.3197Bram Moolenaar2021-07-211-3/+0
| | | | | 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-3/+3
| | | | | Problem: Error messages are spread out. Solution: Move error messages to errors.h and give them a clear name.
* patch 8.2.2922: computing array length is done in various waysv8.2.2922K.Takata2021-06-021-1/+1
| | | | | Problem: Computing array length is done in various ways. Solution: Use ARRAY_LENGTH everywhere. (Ken Takata, closes #8305)
* patch 8.2.2911: pattern "\%V" does not match all of block selectionv8.2.2911Bram Moolenaar2021-05-301-1/+4
| | | | | Problem: Pattern "\%V" does not match all of block selection. (Rick Howe) Solution: Use the value of vi_curswant. (closes #8285)
* patch 8.2.2784: Vim9: cannot use \=expr in :substitutev8.2.2784Bram Moolenaar2021-04-191-0/+3
| | | | | | Problem: Vim9: cannot use \=expr in :substitute. Solution: Compile the expression into instructions and execute them when invoked.
* patch 8.2.2295: incsearch does not detect empty pattern properlyv8.2.2295Bram Moolenaar2021-01-041-8/+8
| | | | | | Problem: Incsearch does not detect empty pattern properly. Solution: Return magic state when skipping over a pattern. (Christian Brabandt, closes #7612, closes #6420)
* patch 8.2.2278: falling back to old regexp engine can some patternsv8.2.2278Bram Moolenaar2021-01-021-1/+8
| | | | | | 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.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.1625: compiler warning for use of fptr_Tv8.2.1625Bram Moolenaar2020-09-061-2/+2
| | | | | Problem: Compiler warning for use of fptr_T. Solution: Make the type less strict.
* patch 8.2.1621: crash when using submatch(0, 1) in substitute()v8.2.1621Bram Moolenaar2020-09-061-0/+1
| | | | | Problem: Crash when using submatch(0, 1) in substitute(). Solution: Increment reference count. (closes #6887)
* patch 8.2.1049: Vim9: leaking memory when using continuation linev8.2.1049Bram Moolenaar2020-06-241-1/+1
| | | | | | 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.
* patch 8.2.0967: unnecessary type casts for vim_strnsave()v8.2.0967Bram Moolenaar2020-06-121-2/+2
| | | | | Problem: Unnecessary type casts for vim_strnsave(). Solution: Remove the type casts.
* patch 8.2.0612: Vim9: no check for space before #commentv8.2.0612Bram Moolenaar2020-04-201-3/+23
| | | | | Problem: Vim9: no check for space before #comment. Solution: Add space checks.
* patch 8.2.0559: clearing a struct is verbosev8.2.0559Bram Moolenaar2020-04-121-1/+1
| | | | | Problem: Clearing a struct is verbose. Solution: Define and use CLEAR_FIELD() and CLEAR_POINTER().
* patch 8.2.0502: Vim9: some code is not testedv8.2.0502Bram Moolenaar2020-04-021-2/+18
| | | | | Problem: Vim9: some code is not tested. Solution: Add more tests. Fix uncovered problems.
* patch 8.2.0260: several lines of code are duplicatedv8.2.0260Bram Moolenaar2020-02-151-0/+22
| | | | | | Problem: Several lines of code are duplicated. Solution: Move duplicated code to a function. (Yegappan Lakshmanan, closes #5330)
* patch 8.2.0250: test_clear_search_pat() is unusedv8.2.0250Bram Moolenaar2020-02-121-9/+0
| | | | | Problem: test_clear_search_pat() is unused. Solution: Remove the function. (Yegappan Lakshmanan, closes #5624)
* patch 8.2.0212: missing search/substitute pattern hardly testedv8.2.0212Bram Moolenaar2020-02-051-0/+9
| | | | | | Problem: Missing search/substitute pattern hardly tested. Solution: Add test_clear_search_pat() and tests. (Yegappan Lakshmanan, closes #5579)
* patch 8.2.0035: saving and restoring called_emsg is clumsyv8.2.0035Bram Moolenaar2019-12-231-5/+4
| | | | | Problem: Saving and restoring called_emsg is clumsy. Solution: Count the number of error messages.
* patch 8.1.2394: using old C style commentsv8.1.2394Bram Moolenaar2019-12-051-252/+252
| | | | | Problem: Using old C style comments. Solution: Use // comments where appropriate.
* patch 8.1.2282: crash when passing many arguments through a partialv8.1.2282Bram Moolenaar2019-11-101-4/+10
| | | | | | Problem: Crash when passing many arguments through a partial. (Andy Massimino) Solution: Check the number of arguments. (closes #5186)
* patch 8.1.2280: crash when passing partial to substitute()v8.1.2280Bram Moolenaar2019-11-091-11/+12
| | | | | Problem: Crash when passing partial to substitute(). Solution: Take extra arguments into account. (closes #5186)
* patch 8.1.2005: the regexp.c file is too bigv8.1.2005Bram Moolenaar2019-09-071-5446/+30
| | | | | | Problem: The regexp.c file is too big. Solution: Move the backtracking engine to a separate file. (Yegappan Lakshmanan, closes #4905)
* patch 8.1.1979: code for handling file names is spread outv8.1.1979Bram Moolenaar2019-09-041-5/+2
| | | | | Problem: Code for handling file names is spread out. Solution: Move code to new filepath.c file. Graduate FEAT_MODIFY_FNAME.
* patch 8.1.1891: functions used in one file are globalv8.1.1891Bram Moolenaar2019-08-201-2/+2
| | | | | Problem: Functions used in one file are global. Solution: Add "static". (Yegappan Lakshmanan, closes #4840)
* patch 8.1.1827: allocating more memory than needed for extended structsv8.1.1827Bram Moolenaar2019-08-081-1/+1
| | | | | | Problem: Allocating more memory than needed for extended structs. Solution: Use offsetof() instead of sizeof(). (Dominique Pelle, closes #4786)
* patch 8.1.1800: function call functions have too many argumentsv8.1.1800Bram Moolenaar2019-08-031-7/+7
| | | | | Problem: Function call functions have too many arguments. Solution: Pass values in a funcexe_T struct.
* patch 8.1.1720: crash with very long %[] patternv8.1.1720Bram Moolenaar2019-07-201-0/+6
| | | | | Problem: Crash with very long %[] pattern. (Reza Mirzazade farkhani) Solution: Check for reg_toolong. (closes #4703)
* patch 8.1.1414: alloc() returning "char_u *" causes a lot of type castsv8.1.1414Bram Moolenaar2019-05-281-2/+2
| | | | | | 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.1386: unessesary type casts for lalloc()v8.1.1386Bram Moolenaar2019-05-241-3/+3
| | | | | Problem: Unessesary type casts for lalloc(). Solution: Remove type casts. Change lalloc(size, TRUE) to alloc(size).
* patch 8.1.1384: using "int" for alloc() often results in compiler warningsv8.1.1384Bram Moolenaar2019-05-241-1/+1
| | | | | | 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.
* patch 8.1.1319: computing function length name in many placesv8.1.1319Bram Moolenaar2019-05-111-2/+2
| | | | | Problem: Computing function length name in many places. Solution: compute name length in call_func().
* patch 8.1.1202: always get regexp debugging logs when building with -DDEBUGv8.1.1202Bram Moolenaar2019-04-251-5/+5
| | | | | Problem: Always get regexp debugging logs when building with -DDEBUG. Solution: By default do not create regexp debugging logs. (Ken Takata)
* patch 8.1.1032: warnings from clang static analyzerv8.1.1032Bram Moolenaar2019-03-211-1/+1
| | | | | Problem: Warnings from clang static analyzer. (Yegappan Lakshmanan) Solution: Fix relevant warnings.
* patch 8.1.1025: checking NULL pointer after additionv8.1.1025Bram Moolenaar2019-03-201-2/+3
| | | | | Problem: Checking NULL pointer after addition. (Coverity) Solution: First check for NULL, then add the column.
* patch 8.1.0989: various small code uglinessv8.1.0989Bram Moolenaar2019-03-021-1/+1
| | | | | | Problem: Various small code ugliness. Solution: Remove pointless NULL checks. Fix function calls. Fix typos. (Dominique Pelle, closes #4060)