aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/regexp.c
Commit message (Collapse)AuthorAge
...
| * 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
* vim-patch:8.0.0519: character classes not well tested (#8460)KunMing Xie2018-06-01
| | | | | | | | | 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 vim/vim#1560) Update the documentation. https://github.com/vim/vim/commit/0c078fc7db2902d4ccba04506db082ddbef45a8c
* *: Provide list length when allocating listsZyX2018-01-14
|
* regexp: Fix linter errorsZyX2017-12-23
|
* Merge branch 'master' into hide-container-implZyX2017-12-16
|\
| * lintJames McCoy2017-12-15
| |
| * vim-patch:8.0.0074Michael Schupikov2017-12-15
| | | | | | | | | | | | | | | | | | | | Problem: Cannot make Vim fail on an internal error. Solution: Add IEMSG() and IEMSG2(). (Domenique Pelle) Avoid reporting an internal error without mentioning where. https://github.com/vim/vim/commit/95f096030ed1a8afea028f2ea295d6f6a70f466f Signed-off-by: Michael Schupikov <michael@schupikov.de>
* | *: Finish hiding list implementationZyX2017-12-11
| |
* | *: Hide list implementation in other files as wellZyX2017-12-10
|/
* Move definition of cstrchr above the functions which call itJames McCoy2017-09-23
| | | | | | | | | | Functions with FUNC_ATTR_ALWAYS_INLINE need to be defined before they are called to work around bugs with some compiler versions. When the body is after the use of the function, compilation will fail with /home/niko/build/neovim/src/nvim/regexp.c: In function 'regmatch': /home/niko/build/neovim/build/src/nvim/auto/regexp.c.generated.h:77: sorry, unimplemented: inlining failed in call to 'cstrchr': function body not available /home/niko/build/neovim/src/nvim/regexp.c:4193: sorry, unimplemented: called from here
* vim-patch:8.0.0020Jurica Bradaric2017-07-29
| | | | | | | Problem: The regexp engines are not reentrant. Solution: Add regexec_T and save/restore the state when needed. https://github.com/vim/vim/commit/6100d02aab7c8294b581cb299250eea164b50e9d
* regexp: Silence V595: potential null dereferenceZyX2017-07-04
| | | | The code uses 2-iteration loop antipattern: retval is NULL on first iteration, not NULL on second, yet this is still a false positive.
* Merge #6460 from ZyX-I/1476-changesJustin M. Keyes2017-05-08
|\ | | | | Refactor functions which find character in a string
| * Merge branch 'master' into 1476-changesZyX2017-04-10
| |\
| * | regexp: Update comment in cstrchr()ZyX2017-04-08
| | |
| * | regexp: Do not use locale-dependent functions in cstrchrZyX2017-04-07
| | |
| * | regexp: Refactor cstrchrZyX2017-04-07
| | | | | | | | | | | | Ref #1476
| * | strings: Remove vim_strbyteZyX2017-04-07
| | | | | | | | | | | | Ref #1476
* | | *: Add comment to all C filesZyX2017-04-19
| | |
* | | regexp: Silence octal constant warningZyX2017-04-16
| | |
* | | regexp: Remove another has_mbyte/…-checking stuffZyX2017-04-16
| | |