aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/regexp_nfa.c
Commit message (Collapse)AuthorAge
...
* | mbyte: replace vim_tolower with mb_tolower handling locale correctlyBjörn Linse2017-04-10
|/
* eval: Split eval.c into smaller filesZyX2017-03-29
|
* vim-patch:7.4.2355Justin M. Keyes2017-03-22
| | | | | | | | Problem: Regexp fails to match when using "\>\)\?". (Ramel) Solution: When a state is already in the list, but addstate_here() is used and the existing state comes later, add the new state anyway. https://github.com/vim/vim/commit/16b3578f355282846f2600ce77fb344950f0b9ce
* vim-patch:7.4.1793Michael Ennen2016-12-31
| | | | | | | | Problem: Some character classes may differ between systems. On OS/X the regexp test fails. Solution: Make this less dependent on the system. (idea by Kazunobu Kuriyama) https://github.com/vim/vim/commit/e8aee7dcf9b12becff86e8ce1783a86801c5f9f6
* vim-patch:7.4.1708James McCoy2016-12-06
| | | | | | | | | | | Problem: New regexp engine does not work properly with EBCDIC. Solution: Define equivalence class characters. (Owen Leibman) https://github.com/vim/vim/commit/2a6fa564a3b5061c14ff63b8b0f12801df0b0ac2 Although nvim doesn't support EBCDIC systems, this keeps us inline with upstream code so its easier to merge future patches in this area and improves the readability of the code.
* vim-patch:7.4.1967Michael Ennen2016-11-02
| | | | | | | | | | Problem: Falling back from NFA to old regexp engine does not work properly. (fritzophrenic) Solution: Do not restore nfa_match. (Christian Brabandt, closes vim/vim#867) https://github.com/vim/vim/commit/6747fabc7348bf5f41ccfe851e2be3e900ec8ee0 Helped-by: jamessan
* refactor: eliminate misc2.cJustin M. Keyes2016-09-13
| | | | | | | | | | move `call_shell` to misc1.c Move some fns to state.c Move some fns to option.c Move some fns to memline.c Move `vim_chdir*` fns to file_search.c Move some fns to new module, bytes.c Move some fns to fileio.c
* lint: Close resource leak (#5288)Patrick Jackson2016-09-03
|
* vim-patch:7.4.1305 #5094Michael Ennen2016-08-01
| | | | | | | | | | Problem: "\%1l^#.*" does not match on a line starting with "#". Solution: Do not clear the start-of-line flag. (Christian Brabandt) https://github.com/vim/vim/commit/7c29f387819b5817b003d2ba73e2b5cf3cb3d0dd Helped-by: jamessan Helped-by: mhinz
* *: Also fix the adjacent errorsZyX2016-06-11
|
* *: Fix errors from new linter checksZyX2016-06-11
|
* *: Fix new linter errorsZyX2016-05-01
| | | | Originally there were 128 new errors, so I thought this is a good idea to fix all of them. Of course, this commit also fixes many suppressed errors.
* regexp_nfa.c: Fix various linter errorsJames McCoy2016-04-25
|
* vim-patch:7.4.613James McCoy2016-04-25
| | | | | | | Problem: The NFA engine does not implement the 'redrawtime' time limit. Solution: Implement the time limit. https://github.com/vim/vim/commit/70781ee4035b5fd5e3cbb3fe4c7646e19119f0a8
* vim-patch:7.4.937watiko2016-02-17
| | | | | | | | Problem: Segfault reading unitialized memory. Solution: Do not read match \z0, it does not exist. (Marius Gedminas, closes vim/vim#497) https://github.com/vim/vim/commit/5ad075c0735d3d8b97708d17c22de8facb15f997
* vim-patch:7.4.887watiko2016-02-15
| | | | | | | | | | | | | Problem: Using uninitialized memory for regexp with back reference. (Dominique Pelle) Solution: Initialize end_lnum. https://github.com/vim/vim/commit/c2b717ebd6719e722dcb5f10e4c74033a53ff7c7 --- see: "[bug] use of uninitialized memory in regexp_nfa.c with invalid back reference" https://groups.google.com/d/msg/vim_dev/JWmrT5-NnPQ/U_TgaRW8AwAJ
* regexp_nfa.c: Speed up find_match_text()oni-link2016-01-24
| | | | | | | | | | | | | An extra test in commit 0a116c828debc6192a6bfb6bceb8cf020e867db0 was introduced, to check for end of string with a call to strlen(). This was necessary, because an incorrect length for invalid byte sequences was used to step through the string. This slowed down find_match_text() compared to vim's version. To speed up things, the extra check was removed and a sequence length of 1 for invalid byte sequences is used. Fixes issue #3486
* vim-patch:7.4.715 #4003Michael Ennen2016-01-13
| | | | | | | | Problem: Invalid memory access when there are illegal bytes. Solution: Get the length from the text, not from the character. (Dominique Pelle) https://github.com/vim/vim/commit/2186ffa2c7d8a9e2cb09316a7ac9e4ade3957c2f
* vim-patch:7.4.623Shougo Matsushita2015-12-01
| | | | | | | Problem: Crash with pattern: \(\)\{80000} (Dominique Pelle) Solution: When the max limit is large fall back to the old engine. https://github.com/vim/vim/commit/a1d2c58985584116d20fa5e132137d8ff1a535f7
* vim-patch:7.4.651 #3644Shougo Matsushita2015-11-10
| | | | | | | | Problem: Can't match "%>80v" properly for multi-byte characters. Solution: Multiply the character number by the maximum number of bytes in a character. (Yasuhiro Matsumoto) https://github.com/vim/vim/commit/4f36dc3bf7118a3fa5ccdae1a37963860dc71e6c
* regexp: Fix invalid multibyte reads at end of stringsThiago de Arruda2015-09-18
| | | | Close #3150
* vim-patch:7.4.776 #3062Marco Hinz2015-08-09
| | | | | | | | Problem: Equivalence class for 'd' does not work correctly. Solution: Fix 0x1e0f and 0x1d0b. (Dominique Pelle) Original patch: https://code.google.com/p/vim/source/detail?r=94b17958585153641ad1e813fa144cad57c7170f
* vim-patch:7.4.600 #3081cztchoice2015-07-31
| | | | | | | Problem: Memory wasted in struct because of aligning. Solution: Split pos in lnum and col. (Dominique Pelle) https://github.com/vim/vim/commit/v7-4-600
* Remove POSIX 'cpoptions': '\'Michael Reed2015-07-19
|
* vim-patch:7.4.593 #2657David Bürgin2015-06-13
| | | | | | | | | | Problem: Crash when searching for "x\{0,90000}". (Dominique Pelle) Solution: Bail out from the NFA engine when the max limit is much higher than the min limit. https://github.com/vim/vim/commit/v7-4-593 See https://groups.google.com/d/msg/vim_dev/c7owwoseba8/ZETgSNZ6p10J
* vim-patch:7.4.582 #2653David Bürgin2015-05-26
| | | | | | | | | | | | | | | | Problem: Can't match "%>80v" properly. (Axel Bender) Solution: Correctly handle ">". (Christian Brabandt) https://github.com/vim/vim/commit/v7-4-582 See https://groups.google.com/d/msg/vim_dev/n-02i4FnOcw/P3Yyx1OLeXgJ Slightly adapted due to the long_u refactoring in 2ceb1c74d591a07183ee02baf6ff1e205c87c6b8. Reviewed-by: Florian Walch <florian@fwalch.com> Fixes #2726
* Passing by: regexp_nfa.c: Convert add_here variable to boolDavid Bürgin2015-05-13
|
* vim-patch:7.4.577David Bürgin2015-05-13
| | | | | | | | | | | | | | Problem: Matching with a virtual column has a lot of overhead on very long lines. (Issue 310) Solution: Bail out early if there can't be a match. (Christian Brabandt) Also check for CTRL-C at every position. https://github.com/vim/vim/commit/v7-4-577 See also https://code.google.com/p/vim/issues/detail?id=310 Slightly adapted due to the long_u refactoring in 2ceb1c74d591a07183ee02baf6ff1e205c87c6b8.
* Replace vim_isxdigit() with to ascii_isxdigit() defined in ascii.hFelipe Oliveira Carvalho2015-04-24
|
* Replace VIM_ISDIGIT() and vim_isdigit() with ascii_isdigit() defined in ascii.hFelipe Oliveira Carvalho2015-04-24
|
* Replace vim_iswhite with ascii_iswhite() defined in ascii.hFelipe Oliveira Carvalho2015-04-24
|
* memory: Add `free` wrapper and refactor project to use itThiago de Arruda2015-04-13
| | | | | | We already use wrappers for allocation, the new `xfree` function is the equivalent for deallocation and provides a way to fully replace the malloc implementation used by Neovim.
* vim-patch:7.4.497 #2295David Bürgin2015-04-05
| | | | | | | | | | | | | Problem: With some regexp patterns the NFA engine uses many states and becomes very slow. To the user it looks like Vim freezes. Solution: When the number of states reaches a limit fall back to the old engine. (Christian Brabandt) https://github.com/vim/vim/releases/tag/v7-4-497 Helped-by: David Bürgin <676c7473@gmail.com> Helped-by: Justin M. Keyes <justinkz@gmail.com> Helped-by: Scott Prager <splinterofchaos@gmail.com>
* Remove always-true expressionsAnton Ovchinnikov2015-03-16
|
* illumos requires the use of limits.h for things like INT_MAX #2049Mike Zeller2015-02-26
|
* coverity/13773: Resource leak: RI.Eliseo Martínez2015-02-11
| | | | | | | Problem : Resource leak @ 3324. Diagnostic : Real issue. Rationale : Stack is not being freed on error cases. Resolution : Free stack before invoking EMSG_RET_NULL.
* Remove long_u: regexp: Refactor long_u.Eliseo Martínez2015-01-19
|
* vim-patch:7.4.527Florian Walch2014-12-24
| | | | | | | Problem: Still confusing regexp failure and NFA_TOO_EXPENSIVE. Solution: NFA changes equivalent of 7.4.526. https://code.google.com/p/vim/source/detail?r=v7-4-527
* vim-patch:7.4.474Florian Walch2014-12-23
| | | | | | | Problem: AIX compiler can't handle // comment. Issue 265. Solution: Remove that line. https://code.google.com/p/vim/source/detail?r=v7-4-474
* Fix warnings: regexp_nfa.c: nfa_regatom(): Dead assignment: HI.Eliseo Martínez2014-11-15
| | | | | | | | | | Problem : Dead assignment @ 1554. Diagnostic : Harmless issue. Rationale : `result` is used when analyzing if a bracketed expresion `[<whatever>]` can be condensed into a character class. Not used for anything else anywhere. So, it's safe to remove. Resolution : Remove dead assingment and move declaration of `result` to the scope where it's used.
* vim-patch:7.4.437Scott Prager2014-11-13
| | | | | | | Problem: New and old regexp engine are not consistent. Solution: Also give an error for "\ze*" for the old regexp engine. https://code.google.com/p/vim/source/detail?r=v7-4-437
* vim-patch:7.4.421Scott Prager2014-11-13
| | | | | | | Problem: Crash when searching for "\ze*". (Urtica Dioica) Solution: Disallow a multi after \ze and \zs. https://code.google.com/p/vim/source/detail?r=v7-4-421
* vim-patch:7.4.293Damián Silvani2014-08-14
| | | | | | | | Problem: It is not possible to ignore composing characters at a specific point in a pattern. Solution: Add the %C item. https://code.google.com/p/vim/source/detail?r=10fc95f48546f438648b8357062e93c9c2c0a377
* Use strict function prototypes #945Pavel Platto2014-07-14
| | | | | | | | | | | | | | | | | | | `-Wstrict-prototypes` warn if a function is declared or defined without specifying the argument types. This warning disallow function prototypes with empty parameter list. In C, a function declared with an empty parameter list accepts an arbitrary number of arguments when being called. This is for historic reasons; originally, C functions didn't have prototypes, as C evolved from B, a typeless language. When prototypes were added, the original typeless declarations were left in the language for backwards compatibility. Instead we should provide `void` in argument list to state that function doesn't have arguments. Also this warning disallow declaring type of the parameters after the parentheses because Neovim header generator produce no declarations for old-stlyle prototypes: it expects to find `{` after prototype.
* move <inttypes.h> include out of vim.hBrandon Coleman2014-07-09
|
* move ascii.h include out of vim.hBrandon Coleman2014-07-09
|
* remove stdbool.h include from vim.h and globals.hBrandon Coleman2014-07-09
|
* vim-patch:7.4.290 #753oni-link2014-06-06
| | | | | | | | | Problem: A non-greedy match followed by a branch is too greedy. (Ingo Karkat) Solution: Add NFA_MATCH when it is already in the state list if the position differs. https://code.google.com/p/vim/source/detail?r=b871734bf54ea185dbd2cc759d86dbfbe21cde26
* vim-patch:7.4.289 #752oni-link2014-06-05
| | | | | | | | | Problem: Pattern with repeated backreference does not match with new regexp engine. (Urtica Dioica) Solution: Also check the end of a submatch when deciding to put a state in the state list. https://code.google.com/p/vim/source/detail?r=99374096a76b96d1128f5e6aa1fa92b4ba70fee9
* Remove remaining declarations with new script: finddeclarations.plZyX2014-06-02
|