aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/regexp.c
Commit message (Collapse)AuthorAge
...
* vim-patch:8.1.0194: possibly use of NULL pointerJan Edmund Lazo2020-08-02
| | | | | | Problem: Possibly use of NULL pointer. (Coverity) Solution: Reset the re_in_use flag earlier. https://github.com/vim/vim/commit/414998023fbff15cce20ef01a54d0366370ad8b6
* vim-patch:8.1.0192: executing regexp recursively fails with a crashJan Edmund Lazo2020-08-02
| | | | | | Problem: Executing regexp recursively fails with a crash. Solution: Move global variables into "rex". https://github.com/vim/vim/commit/0270f38e1ae484c31a80c813a08691c47a207f1a
* Merge #11851 'eval.c: factor out eval/userfunc.c'Justin M. Keyes2020-04-26
|\ | | | | | | vim-patch:7.4.2058
| * rename: user_funcs -> userfuncJakub Łuczyński2020-02-13
| | | | | | | | Lets stick with vim for now
| * fix: includesJakub Łuczyński2020-02-13
| |
* | vim-patch:8.1.2282: crash when passing many arguments through a partialJan Edmund Lazo2020-04-13
| | | | | | | | | | | | | | Problem: Crash when passing many arguments through a partial. (Andy Massimino) Solution: Check the number of arguments. (closes vim/vim#5186) https://github.com/vim/vim/commit/4c054e9fb23027b55a09ee647a3a2c91936aeb1b
* | vim-patch:8.1.2280: crash when passing partial to substitute()Jan Edmund Lazo2020-04-13
|/ | | | | | Problem: Crash when passing partial to substitute(). Solution: Take extra arguments into account. (closes vim/vim#5186) https://github.com/vim/vim/commit/b0745b221d284e381f1bd4b591cd68ea54b6a51d
* vim-patch:8.2.0033: make_extmatch() OOM #11602Jan Edmund Lazo2019-12-24
| | | | | Problem: Crash when make_extmatch() runs out of memory. Solution: Check for NULL. (Dominique Pelle, closs vim/vim#5392) https://github.com/vim/vim/commit/7c77b3496710f1be3232cfdc7f6812347fbd914a
* lintJustin M. Keyes2019-09-13
|
* getdigits: introduce `strict`, `def` parametersJustin M. Keyes2019-09-13
| | | | | | | | | | | | Problem: During a refactor long ago, we changed the `getdigits_*` familiy of functions to abort on overflow. But this is often wrong, because many of these codepaths are handling user input. Solution: Decide at each call-site whether to use "strict" mode. fix #5555
* regexp: assert nonnull pointer for regnext()Jan Edmund Lazo2019-09-10
|
* PVS/V560: condition is always true #10624Ihor Antonov2019-07-28
| | | | | | | | * before changed line status variable is set to RA_FAIL in 2 places line 3816 and 3826, both lead to short-circuit of the loop, making comparing it to RA_FAIL useless close #10624
* vim-patch:8.1.0903: struct uses more bytes than neededJan Edmund Lazo2019-07-24
| | | | | | Problem: Struct uses more bytes than needed. Solution: Reorder members of regitem_S. (Dominique Pelle, closes vim/vim#3936) https://github.com/vim/vim/commit/beb7574d6b0eea1cae70aa2913a690da56de5307
* vim-patch:8.1.1720: crash with very long %[] patternJan Edmund Lazo2019-07-20
| | | | | | Problem: Crash with very long %[] pattern. (Reza Mirzazade farkhani) Solution: Check for reg_toolong. (closes vim/vim#4703) https://github.com/vim/vim/commit/2a5b52758bb327b89d22660cc28c157ec29782e5
* vim-patch:8.0.1496: VIM_CLEAR()Justin M. Keyes2019-05-25
| | | | | | | | Problem: Clearing a pointer takes two lines. Solution: Add VIM_CLEAR() and replace vim_clear(). (Hirohito Higashi, closes #2629) vim-patch:8.0.1481
* lintJan Edmund Lazo2019-04-23
|
* vim-patch:8.0.0647: syntax highlighting can make cause a freezeJan Edmund Lazo2019-04-23
| | | | | | Problem: Syntax highlighting can make cause a freeze. Solution: Apply 'redrawtime' to syntax highlighting, per window. https://github.com/vim/vim/commit/06f1ed2f78c5c03af95054fc3a8665df39dec362
* vim-patch:8.1.1025: checking NULL pointer after additionJan Edmund Lazo2019-03-21
| | | | | | Problem: Checking NULL pointer after addition. (Coverity) Solution: First check for NULL, then add the column. https://github.com/vim/vim/commit/64c8ed366de995a01ca1a072a6943ede0d7bb932
* Merge #9662 'vim-patch:8.0.{0643-0646}'Justin M. Keyes2019-03-08
|\
| * lint: fix coding styleBilly Su2019-03-08
| |
| * vim-patch:8.0.0646: the hlsearch test fails on fast systemsBilly Su2019-03-08
| | | | | | | | | | | | | | Problem: The hlsearch test fails on fast systems. Solution: Make the search pattern slower. Fix that the old regexp engine doesn't timeout properly. https://github.com/vim/vim/commit/0946326580e6f034fe2c88d041407ea0fde980ab
| * vim-patch:8.0.0645: no error for illegal back reference in NFA engineBilly Su2019-03-07
| | | | | | | | | | | | | | 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 vim/vim#1774) https://github.com/vim/vim/commit/1ef9bbe215e13a273e74fccaddd8fc5a42c76b6e
| * vim-patch:8.0.0643: when a pattern search is slow Vim becomes unusableBilly Su2019-03-07
|/ | | | | | | | | 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. https://github.com/vim/vim/commit/fbd0b0af6800f6ff89857863d6a07ea03f09ff6c
* vim-patch:8.1.0935: old regexp engine may use invalid buffer #9692Jan Edmund Lazo2019-03-07
| | | | | | 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 vim/vim#3972) https://github.com/vim/vim/commit/8bfd9469cef536f171e6666f9d9217192e09d161
* vim-patch:8.1.0973: pattern with syntax error gives threee error messagesJustin M. Keyes2019-03-01
| | | | | | | | 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. https://github.com/vim/vim/commit/cd62512c5595fa1f7a7f2c6ec1a90ea6bde3ad50
* vim-patch:8.1.0985: crash with large number in regexpJustin M. Keyes2019-02-28
| | | | | | Problem: Crash with large number in regexp. (Kuang-che Wu) Solution: Check for long becoming negative int. (closes #) https://github.com/vim/vim/commit/ab350f89f9646e07aefe16a32ba3ddb847496b4a
* vim-patch:8.1.0937: invalid memory access in search patternJan Edmund Lazo2019-02-17
| | | | | | | Problem: Invalid memory access in search pattern. (Kuang-che Wu) Solution: Check for incomplete collation element. (Dominique Pelle, closes vim/vim#3985) https://github.com/vim/vim/commit/f1b57ab2ab18032d19f64bff7d22f3adb3fe93f7
* vim-patch:8.1.0934: invalid memory access in search patternJan Edmund Lazo2019-02-17
| | | | | | Problem: Invalid memory access in search pattern. (Kuang-che Wu) Solution: Check for incomplete equivalence class. (closes vim/vim#3970) https://github.com/vim/vim/commit/985079c514e9ab85598b7bca019c77d3e42526f5
* PVS/V560: expression is always trueJustin M. Keyes2019-01-18
| | | | This macro serves as a sanity-check / documentation.
* vim-patch:8.1.0677: look-behind match may use the wrong line numberJan Edmund Lazo2019-01-05
| | | | | | | 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 vim/vim#3749) https://github.com/vim/vim/commit/866f3558141aa68862aa2fedbb7747bf2365e838
* vim-patch:8.1.0098: segfault when pattern with \z() is very slow (#9283)Justin M. Keyes2018-11-29
| | | | | | | | 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. https://github.com/vim/vim/commit/bcf9442307075bac40d44328c8bf7ea21857b138 closes #8788
* lintJan Edmund Lazo2018-09-21
|
* replace fallthrough comment with macroJan Edmund Lazo2018-09-21
| | | | Follow-up of vim-patch:8.0.1215
* vim-patch:8.0.1215: newer gcc warns for implicit fallthroughJan Edmund Lazo2018-09-20
| | | | | | Problem: Newer gcc warns for implicit fallthrough. Solution: Consistently use a FALLTHROUGH comment. (Christian Brabandt) https://github.com/vim/vim/commit/2f40d129bf45cd35976e4120336ae6d504f5a5dd
* lint: clean-up after parent commitsZviRackover2018-09-09
|
* Remove has_mbytes local to lines changed in parent commitZviRackover2018-09-09
|
* Refactor: Remove occurences of mb_char2bytesZviRackover2018-09-09
|
* lint: cleanup after parent commitsZviRackover2018-08-16
|
* Remove occurences of mb_head_offZviRackover2018-08-15
|
* regexp: drop has_mbyte check in regmatch()Jan Edmund Lazo2018-08-11
| | | | has_mbyte is always true in nvim.
* vim-patch:8.0.1517: invalid memory acces with pattern using look-behind matchJan Edmund Lazo2018-08-11
| | | | | | | Problem: Invalid memory acces with pattern using look-behind match. (Dominique Pelle) Solution: Get a pointer to the right line. https://github.com/vim/vim/commit/bc197195b097707d08fd44a476dbc374366504cb
* vim-patch:8.0.1254: undefined left shift in gethexchrs()Jan Edmund Lazo2018-08-11
| | | | | | Problem: Undefined left shift in gethexchrs(). (geeknik) Solution: Use unsigned long. (idea by Christian Brabandt, closes vim/vim#2255) https://github.com/vim/vim/commit/4c22a91d20cce4f28dd2852a13129b5a4cc691da
* style: fixing minor issues noted in code review.ZviRackover2018-08-06
|
* Remove some occrrences of enc_utf8 and has_mbyteZviRackover2018-08-06
| | | | | Removing uses and related dead code in the locallity of changes of the two parent commits.
* lint: clean-up after parent commitZviRackover2018-08-06
|
* Remove all occurences of the mb_ptr2char macroZviRackover2018-08-06
| | | | | | | First step towards implemening issue #7401. The same can be done for all deprecated mb_ functions in follow-up patches.
* vim-patch:8.0.0451: some macros are in lower caseJan Edmund Lazo2018-06-12
| | | | | | | Problem: Some macros are in lower case. Solution: Make a few more macros upper case. Avoid lower case macros use an argument twice. https://github.com/vim/vim/commit/91acfffc1e6c0d8c2abfb186a0e79a5bf19c3f3f
* vim-patch:8.0.0520: using a function pointer while the function is known (#8513)KunMing Xie2018-06-10
| | | | | | | 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 vim/vim#1582) https://github.com/vim/vim/commit/ace95989ed81929a84e205b26d0972cb9d6b4b19
* lintJan Edmund Lazo2018-06-04
|
* vim-patch:8.0.0623: error for invalid regexp is not very informativeJan Edmund Lazo2018-06-04
| | | | | | Problem: The message "Invalid range" is used for multiple errors. Solution: Add two more specific error messages. (Itchyny, Ken Hamada) https://github.com/vim/vim/commit/966e58e413ffa88af8d748e697aa2999571fcd7b