aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/regexp_nfa.c
Commit message (Collapse)AuthorAge
* vim-patch:8.1.0958: compiling weird regexp pattern is very slowJan Edmund Lazo2021-03-29
| | | | | | | | | | Problem: Compiling weird regexp pattern is very slow. Solution: When reallocating post list increase size by 50%. (Kuang-che Wu, closes vim/vim#4012) Make assert_inrange() accept float values. https://github.com/vim/vim/commit/38f08e76acf7d21bb34cf8f79f0f82eb63cdc987 Omit changes to typval_compare() because patch v8.0.1505 was not ported.
* vim-patch:8.2.0928: many type casts are used for vim_strnsave()Jan Edmund Lazo2020-12-27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: Many type casts are used for vim_strnsave(). Solution: Make the length argument size_t instead of int. (Ken Takata, closes vim/vim#5633) Remove some type casts. https://github.com/vim/vim/commit/df44a27b53586fccfc6a3aedc89061fdd9a515ff N/A patches for version.c: vim-patch:8.2.0315: build failure on HP-UX system Problem: Build failure on HP-UX system. Solution: Use LONG_LONG_MIN instead of LLONG_MIN. Add type casts for switch statement. (John Marriott) https://github.com/vim/vim/commit/c593bec4120f122e8a9129ec461968f1bd214435 vim-patch:8.2.1052: build failure with older compilers Problem: Build failure with older compilers. Solution: Move declaration to start of block. https://github.com/vim/vim/commit/7acde51832f383f9a6d2e740cd0420b433ea841a vim-patch:8.2.2229: build failure without the +eval feature Problem: build failure without the +eval feature. Solution: Add #ifdef. https://github.com/vim/vim/commit/39cb2dab18e85fc60f116a4543e433616872b690 vim-patch:8.2.2232: compiler error for falling through into next case Problem: Compiler error for falling through into next case. Solution: Move FALLTHROUGH below the #endif https://github.com/vim/vim/commit/9618a25b9c054f0ee4e267d2db96b6e7c113ed7a
* vim-patch:8.2.2181: valgrind warnings for using uninitialized valueJan Edmund Lazo2020-12-21
| | | | | | Problem: Valgrind warnings for using uninitialized value. Solution: Do not use "start" or "end" unless there is a match. https://github.com/vim/vim/commit/a3d10a508c404a32485adc86284725e0bdc5b602
* vim-patch:8.2.2177: pattern "^" does not match if first character is combiningJan Edmund Lazo2020-12-21
| | | | | | | Problem: Pattern "^" does not match if the first character in the line is combining. (Rene Kita) Solution: Do accept a match at the start of the line. (closes vim/vim#6963) https://github.com/vim/vim/commit/ef2dff52de52c17fe1bd7c06cbb32d8955901f5a
* vim-patch:8.2.2171: valgrind warning for using uninitialized valueJan Edmund Lazo2020-12-20
| | | | | | Problem: Valgrind warning for using uninitialized value. Solution: Do not use "startp" or "endp" unless there is a match. https://github.com/vim/vim/commit/61e07b2394e12f757160cac421ec5c45dc4c074d
* vim-patch:8.2.2121: internal error when using \ze before \zs in a patternSean Dewar2020-12-09
| | | | | | Problem: Internal error when using \ze before \zs in a pattern. Solution: Check the end is never before the start. (closes vim/vim#7442) https://github.com/vim/vim/commit/a7a691cc142439e266f4ceb1f208bb952b57aa71
* vim-patch:8.1.0809: too many #ifdefsJan Edmund Lazo2020-11-12
| | | | | | Problem: Too many #ifdefs. Solution: Graduate FEAT_MBYTE, part 3. https://github.com/vim/vim/commit/a12a161b8ce09d024ed71c2134149fa323f8ee8e
* vim-patch:8.2.1633: some error messages are internal but do not use iemsg()Jan Edmund Lazo2020-09-07
| | | | | | | | | | | | | | | | | | | | Problem: Some error messages are internal but do not use iemsg(). Solution: Use iemsg(). (Dominique Pellé, closes vim/vim#6894) https://github.com/vim/vim/commit/e83cca291112ea66f49079975e102ee36a47a24e N/A patches for version.c: vim-patch:8.2.1625: compiler warning for use of fptr_T Problem: Compiler warning for use of fptr_T. Solution: Make the type less strict. https://github.com/vim/vim/commit/30d6413782c8206899cee109f521895a03c76441 vim-patch:8.2.1630: terminal test fails Problem: Terminal test fails. Solution: Correct argument to term_start(). Correct error number. https://github.com/vim/vim/commit/c98cdb3bc970f04f93b4c394b4ec94c2eb5546c3
* vim-patch:8.1.0862: no verbose version of character classesJan Edmund Lazo2020-08-02
| | | | | | | Problem: No verbose version of character classes. Solution: Add [:ident:], [:keyword:] and [:fname:]. (Ozaki Kiichi, closes vim/vim#1373) https://github.com/vim/vim/commit/221cd9f4dd866503777b2fffa721c1403716ad63
* 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
* vim-patch:8.2.0938: NFA regexp uses tolower ()to compare ignore-caseJan Edmund Lazo2020-06-18
| | | | | | Problem: NFA regexp uses tolower() to compare ignore-case. (Thayne McCombs) Solution: Use utf_fold() when possible. (ref. neovim vim/vim#12456) https://github.com/vim/vim/commit/59de417b904bbd204e313f015839317b577bd124
* vim-patch:8.2.0892: ubsan warns for undefined behaviorJan Edmund Lazo2020-06-04
| | | | | | | Problem: Ubsan warns for undefined behavior. Solution: Use unsigned instead of signed variable. (Dominique Pelle, closes vim/vim#6193) https://github.com/vim/vim/commit/c5acc0f7fed6b061d994fc5ac660dcc0312750bd
* vim-patch:8.1.2120: some MB_ macros are more complicated than necessaryJan Edmund Lazo2019-10-06
| | | | | | | Problem: Some MB_ macros are more complicated than necessary. (Dominique Pelle) Solution: Simplify the macros. Expand inline. https://github.com/vim/vim/commit/1614a14901558ca091329315d14a7d5e1b53aa47
* Remove excess <stdint.h>Jan Edmund Lazo2019-09-11
|
* regexp: add function attributesJan Edmund Lazo2019-07-25
|
* vim-patch:8.1.0913: CI crashes when running out of memoryJan Edmund Lazo2019-07-25
| | | | | | Problem: CI crashes when running out of memory. Solution: Apply 'maxmempattern' also to new regexp engine. https://github.com/vim/vim/commit/688b3983d8b321e0d32dd51914fa474a0988daf6
* vim-patch:8.1.0910: crash with tricky search patternJan Edmund Lazo2019-07-25
| | | | | | Problem: Crash with tricky search pattern. (Kuang-che Wu) Solution: Check for runnning out of memory. (closes vim/vim#3950) https://github.com/vim/vim/commit/15bbd6ec871a0efdd16256e1fccbaac0fd374cbd
* vim-patch:8.1.0907: CI tests on AppVeyor are failingJan Edmund Lazo2019-07-25
| | | | | | Problem: CI tests on AppVeyor are failing. Solution: Reduce the recursiveness limit for regexp. https://github.com/vim/vim/commit/5382f12c910b7f8e46acdde5488f26a86f9fcac1
* vim-patch:8.1.0905: complicated regexp causes a crashJan Edmund Lazo2019-07-25
| | | | | | Problem: Complicated regexp causes a crash. (Kuang-che Wu) Solution: Limit the recursiveness of addstate(). (closes vim/vim#3941) https://github.com/vim/vim/commit/5567ad48b66dff13670af52a48509059acc34dfe
* regexp: use fixed types to avoid overflowJan Edmund Lazo2019-07-24
|
* Checks for overflow when parsing string to intGabriel2019-07-24
|
* vim-patch:8.1.0908: can't handle large value for %{nr}v in regexpJan Edmund Lazo2019-07-24
| | | | | | Problem: Can't handle large value for %{nr}v in regexp. (Kuang-che Wu) Solution: Give an error if the value is too large. (closes vim/vim#3948) https://github.com/vim/vim/commit/9403a2168db82b7de80f792984084bb3f00e2263
* PVS/V1037: suppress warning #10526Ihor Antonov2019-07-18
| | | | * Case branches are semantically different. * Lint
* vim-patch:8.1.0641: no check for out-of-memory when converting regexpJan Edmund Lazo2019-07-15
| | | | | | Problem: No check for out-of-memory when converting regexp. Solution: Bail out when lalloc() returns NULL. (John Marriott) https://github.com/vim/vim/commit/c57463c9c6ee893285f553e0ac3b2fe5935f16b8
* 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
* vim-patch:8.1.1249: compiler warning for uninitialized variableJan Edmund Lazo2019-05-03
| | | | | | Problem: Compiler warning for uninitialized variable. Solution: Initialize it. (Christian Brabandt) https://github.com/vim/vim/commit/c6b1cc967f859c6e975d001e4304113db7190690
* vim-patch:8.1.0170: invalid memory use with complicated pattern #9724Jan Edmund Lazo2019-03-13
| | | | | | Problem: Invalid memory use with complicated pattern. (Andy Massimino) Solution: Reallocate the list of listids when needed. (closes vim/vim#3175) Remove unnecessary function prototypes. https://github.com/vim/vim/commit/2338c32b53d20dc18540b1a20845bcd8a6371bff
* Merge #9662 'vim-patch:8.0.{0643-0646}'Justin M. Keyes2019-03-08
|\
| * lint: fix coding styleBilly Su2019-03-08
| |
| * 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.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.0968: crash when using search pattern \%Ufffffc23Justin M. Keyes2019-03-01
| | | | | | Problem: Crash when using search pattern \%Ufffffc23. Solution: Limit character to INT_MAX. (closes vim/vim#4009) https://github.com/vim/vim/commit/527a2d86fb375fcc7b34e80fc47f4c7126fc12ba
* lintJan Edmund Lazo2019-02-17
|
* vim-patch:8.1.0945: internal error when using pattern with NL in the rangeJan Edmund Lazo2019-02-17
| | | | | | | Problem: Internal error when using pattern with NL in the range. Solution: Use an actual newline for the range. (closes vim/vim#3989) Also fix error message. (Dominique Pelle) https://github.com/vim/vim/commit/a5483448cba6997517003a22a8029f0de1007d0e
* 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
* src/nvim/eval.cMichaHoffmann2018-10-07
| | | | | | | | | | src/nvim/eval/typval.c src/nvim/fileio.c src/nvim/main.c src/nvim/regexp_nfa.c src/nvim/spellfile.c changed some EMSG[..] Macros to emsgf
* fixed lint errorsMichaHoffmann2018-09-24
|
* add func_attr_printf in :MichaHoffmann2018-09-24
| | | | | | | | | | | | | | | | | | | | | | log.c message.c strings.c fixed some printf warnings in: src/nvim/undo.c src/nvim/eval.c src/nvim/eval/encode.c src/nvim/eval/typval.c src/nvim/ex_getln.c src/nvim/fileio.c src/nvim/lua/executor.c src/nvim/main.c src/nvim/regexp_nfa.c src/nvim/shada.c src/nvim/spellfile.c src/nvim/tui/terminfo.c src/nvim/garray.h
* 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
* 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 has_mbyte from lines near changes in parent commitZviRackover2018-08-16
|
* Remove occurences of mb_head_offZviRackover2018-08-15
|
* lintJan Edmund Lazo2018-08-12
|
* vim-patch:8.0.1397: pattern with \& following nothing gives an errorJan Edmund Lazo2018-08-12
| | | | | | Problem: Pattern with \& following nothing gives an error. Solution: Emit an empty node when needed. https://github.com/vim/vim/commit/890dd05492d88d48eee1dda7f7a1811d027ce7ca
* lintJan Edmund Lazo2018-08-11
|