aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/regexp_nfa.c
Commit message (Collapse)AuthorAge
...
* 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
|
* Add automatic generation of headersZyX2014-06-02
| | | | | | | | | | | | | | | | | - The 'stripdecls.py' script replaces declarations in all headers by includes to generated headers. `ag '#\s*if(?!ndef NEOVIM_).*((?!#\s*endif).*\n)*#ifdef INCLUDE_GENERATED'` was used for this. - Add and integrate gendeclarations.lua into the build system to generate the required includes. - Add -Wno-unused-function - Made a bunch of old-style definitions ANSI This adds a requirement: all type and structure definitions must be present before INCLUDE_GENERATED_DECLARATIONS-protected include. Warning: mch_expandpath (path.h.generated.h) was moved manually. So far it is the only exception.
* Replace alloc() with xmalloc() and remove immediate OOM checksFelipe Oliveira Carvalho2014-05-19
|
* Introduce nvim namespace: Fix project-local includes.Eliseo Martínez2014-05-15
| | | | Prepend 'nvim/' in all project-local (non-system) includes.
* Introduce nvim namespace: Move files.Eliseo Martínez2014-05-15
Move files from src/ to src/nvim/. - src/nvim/ becomes the new root dir for nvim executable sources. - src/libnvim/ is planned to become root dir of the neovim library.