Bram Moolenaar
a3d10a508c
patch 8.2.2181: valgrind warnings for using uninitialized value
...
Problem: Valgrind warnings for using uninitialized value.
Solution: Do not use "start" or "end" unless there is a match.
2020-12-21 18:24:00 +01:00
Bram Moolenaar
ef2dff52de
patch 8.2.2177: pattern "^" does not match if first character is combining
...
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 #6963 )
2020-12-21 14:54:32 +01:00
Bram Moolenaar
61e07b2394
patch 8.2.2171: valgrind warning for using uninitialized value
...
Problem: Valgrind warning for using uninitialized value.
Solution: Do not use "startp" or "endp" unless there is a match.
2020-12-20 17:59:53 +01:00
Bram Moolenaar
a7a691cc14
patch 8.2.2121: internal error when using \ze before \zs in a pattern
...
Problem: Internal error when using \ze before \zs in a pattern.
Solution: Check the end is never before the start. (closes #7442 )
2020-12-09 16:36:04 +01:00
Bram Moolenaar
e83cca2911
patch 8.2.1633: some error messages are internal but do not use iemsg()
...
Problem: Some error messages are internal but do not use iemsg().
Solution: Use iemsg(). (Dominique Pellé, closes #6894 )
2020-09-07 18:53:21 +02:00
Bram Moolenaar
71ccd03ee8
patch 8.2.0967: unnecessary type casts for vim_strnsave()
...
Problem: Unnecessary type casts for vim_strnsave().
Solution: Remove the type casts.
2020-06-12 22:59:11 +02:00
Bram Moolenaar
59de417b90
patch 8.2.0938: NFA regexp uses tolower ()to compare ignore-case
...
Problem: NFA regexp uses tolower() to compare ignore-case. (Thayne McCombs)
Solution: Use utf_fold() when possible. (ref. neovim #12456 )
2020-06-09 19:34:54 +02:00
Bram Moolenaar
c5acc0f7fe
patch 8.2.0892: ubsan warns for undefined behavior
...
Problem: Ubsan warns for undefined behavior.
Solution: Use unsigned instead of signed variable. (Dominique Pelle,
closes #6193 )
2020-06-03 18:55:38 +02:00
Bram Moolenaar
a80faa8930
patch 8.2.0559: clearing a struct is verbose
...
Problem: Clearing a struct is verbose.
Solution: Define and use CLEAR_FIELD() and CLEAR_POINTER().
2020-04-12 19:37:17 +02:00
Bram Moolenaar
f4140488c7
patch 8.2.0260: several lines of code are duplicated
...
Problem: Several lines of code are duplicated.
Solution: Move duplicated code to a function. (Yegappan Lakshmanan,
closes #5330 )
2020-02-15 23:06:45 +01:00
Bram Moolenaar
7c77b34967
patch 8.2.0033: crash when make_extmatch() runs out of memory
...
Problem: Crash when make_extmatch() runs out of memory.
Solution: Check for NULL. (Dominique Pelle, closs #5392 )
2019-12-22 19:40:40 +01:00
Bram Moolenaar
63d9e730f7
patch 8.1.2394: using old C style comments
...
Problem: Using old C style comments.
Solution: Use // comments where appropriate.
2019-12-05 21:10:38 +01:00
Bram Moolenaar
32aa10203b
patch 8.1.2243: typos in comments
...
Problem: Typos in comments.
Solution: Fix the typos. (Dominique Pelle, closes #5160 ) Also adjust
formatting a bit.
2019-11-02 22:54:41 +01:00
Bram Moolenaar
c799fe206e
patch 8.1.1414: alloc() returning "char_u *" causes a lot of type casts
...
Problem: Alloc() returning "char_u *" causes a lot of type casts.
Solution: Have it return "void *". (Mike Williams) Define ALLOC_ONE() to
check the simple allocations.
2019-05-28 23:08:19 +02:00
Bram Moolenaar
51e14387f1
patch 8.1.1393: unnecessary type casts
...
Problem: Unnecessary type casts.
Solution: Remove type casts from alloc() and lalloc() calls. (Mike Williams)
2019-05-25 20:21:28 +02:00
Bram Moolenaar
18a4ba29ae
patch 8.1.1386: unessesary type casts for lalloc()
...
Problem: Unessesary type casts for lalloc().
Solution: Remove type casts. Change lalloc(size, TRUE) to alloc(size).
2019-05-24 19:39:03 +02:00
Bram Moolenaar
c6b1cc967f
patch 8.1.1249: compiler warning for uninitialized variable
...
Problem: Compiler warning for uninitialized variable.
Solution: Initialize it. (Christian Brabandt)
2019-05-03 11:21:05 +02:00
Bram Moolenaar
abab0b0fdd
patch 8.1.1086: too many curly braces
...
Problem: Too many curly braces.
Solution: Remove curly braces where they are not needed. (Hirohito Higashi,
closes #3982 )
2019-03-30 18:47:01 +01:00
Bram Moolenaar
cd62512c55
patch 8.1.0973: pattern with syntax error gives threee error messages
...
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.
2019-02-22 17:29:43 +01:00
Bram Moolenaar
527a2d86fb
patch 8.1.0968: crash when using search pattern \%Ufffffc23
...
Problem: Crash when using search pattern \%Ufffffc23.
Solution: Limit character to INT_MAX. (closes #4009 )
2019-02-21 22:28:51 +01:00
Bram Moolenaar
38f08e76ac
patch 8.1.0958: compiling weird regexp pattern is very slow
...
Problem: Compiling weird regexp pattern is very slow.
Solution: When reallocating post list increase size by 50%. (Kuang-che Wu,
closes #4012 ) Make assert_inrange() accept float values.
2019-02-20 22:04:32 +01:00
Bram Moolenaar
a5483448cb
patch 8.1.0945: internal error when using pattern with NL in the range
...
Problem: Internal error when using pattern with NL in the range.
Solution: Use an actual newline for the range. (closes #3989 ) Also fix
error message. (Dominique Pelle)
2019-02-17 20:17:02 +01:00
Bram Moolenaar
0f77d6afd5
patch 8.1.0919: compiler warnings
...
Problem: Compiler warnings.
Solution: Add type casts. (Mike Williams)
2019-02-14 20:55:09 +01:00
Bram Moolenaar
688b3983d8
patch 8.1.0913: CI crashes when running out of memory
...
Problem: CI crashes when running out of memory.
Solution: Apply 'maxmempattern' also to new regexp engine.
2019-02-13 21:47:36 +01:00
Bram Moolenaar
15bbd6ec87
patch 8.1.0910: crash with tricky search pattern
...
Problem: Crash with tricky search pattern. (Kuang-che Wu)
Solution: Check for runnning out of memory. (closes #3950 )
2019-02-13 20:31:50 +01:00
Bram Moolenaar
9403a2168d
patch 8.1.0908: can't handle large value for %{nr}v in regexp
...
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 #3948 )
2019-02-13 18:35:06 +01:00
Bram Moolenaar
5382f12c91
patch 8.1.0907: CI tests on AppVeyor are failing
...
Problem: CI tests on AppVeyor are failing.
Solution: Reduce the recursiveness limit for regexp.
2019-02-13 01:18:38 +01:00
Bram Moolenaar
5567ad48b6
patch 8.1.0905: complicated regexp causes a crash
...
Problem: Complicated regexp causes a crash. (Kuang-che Wu)
Solution: Limit the recursiveness of addstate(). (closes #3941 )
2019-02-12 23:05:46 +01:00
Bram Moolenaar
221cd9f4dd
patch 8.1.0862: no verbose version of character classes
...
Problem: No verbose version of character classes.
Solution: Add [:ident:], [:keyword:] and [:fname:]. (Ozaki Kiichi,
closes #1373 )
2019-01-31 15:34:40 +01:00
Bram Moolenaar
a12a161b8c
patch 8.1.0809: too many #ifdefs
...
Problem: Too many #ifdefs.
Solution: Graduate FEAT_MBYTE, part 3.
2019-01-24 16:39:02 +01:00
Bram Moolenaar
b5443cc46d
patch 8.1.0753: printf format not checked for semsg()
...
Problem: printf format not checked for semsg().
Solution: Add GNUC attribute and fix reported problems. (Dominique Pelle,
closes #3805 )
2019-01-15 20:19:40 +01:00
Bram Moolenaar
f9e3e09fdc
patch 8.1.0743: giving error messages is not flexible
...
Problem: Giving error messages is not flexible.
Solution: Add semsg(). Change argument from "char_u *" to "char *", also
for msg() and get rid of most MSG macros. (Ozaki Kiichi, closes
#3302 ) Also make emsg() accept a "char *" argument. Get rid of
an enormous number of type casts.
2019-01-13 23:38:42 +01:00
Bram Moolenaar
c57463c9c6
patch 8.1.0641: no check for out-of-memory when converting regexp
...
Problem: No check for out-of-memory when converting regexp.
Solution: Bail out when lalloc() returns NULL. (John Marriott)
2018-12-26 22:04:41 +01:00
Bram Moolenaar
0270f38e1a
patch 8.1.0192: executing regexp recursively fails with a crash
...
Problem: Executing regexp recursively fails with a crash.
Solution: Move global variables into "rex".
2018-07-17 05:43:58 +02:00
Bram Moolenaar
2338c32b53
patch 8.1.0170: invalid memory use with complicated pattern
...
Problem: Invalid memory use with complicated pattern. (Andy Massimino)
Solution: Reallocate the list of listids when needed. (closes #3175 )
Remove unnecessary function prototypes.
2018-07-08 19:07:19 +02:00
Bram Moolenaar
5ec7414a1c
patch 8.1.0104: can't build without the +eval feature
...
Problem: Can't build without the +eval feature.
Solution: Add #ifdef.
2018-06-23 17:14:41 +02:00
Bram Moolenaar
3c867daaf0
patch 8.1.0099: exclamation mark in error message not needed
...
Problem: Exclamation mark in error message not needed.
Solution: Remove the exclamation mark.
2018-06-23 14:34:28 +02:00
Bram Moolenaar
bcf9442307
patch 8.1.0098: segfault when pattern with \z() is very slow
...
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.
2018-06-23 14:21:42 +02:00
Bram Moolenaar
5efa0102de
patch 8.1.0097: superfluous space before exclamation mark
...
Problem: Superfluous space before exclamation mark.
Solution: Remove the space. Don't translate debug message.
2018-06-22 21:42:30 +02:00
Bram Moolenaar
9b0c5c23bd
patch 8.1.0090: "..." used inconsistently in a message
...
Problem: "..." used inconsistently in a message.
Solution: Define the message with " ..." once. (hint by Ken Takata)
2018-06-20 20:37:36 +02:00
Bram Moolenaar
c166927a32
patch 8.1.0078: "..." used inconsistently in messages
...
Problem: "..." used inconsistently in messages.
Solution: Drop the space before " ...".
2018-06-19 14:23:53 +02:00
Bram Moolenaar
d23a823669
patch 8.0.1496: clearing a pointer takes two lines
...
Problem: Clearing a pointer takes two lines.
Solution: Add VIM_CLEAR() and replace vim_clear(). (Hirohito Higashi,
closes #2629 )
2018-02-10 18:45:26 +01:00
Bram Moolenaar
dff72ba445
patch 8.0.1478: unnecessary condition
...
Problem: Unnecessary condition for "len" being zero.
Solution: Remove the condition. (Dominique Pelle)
2018-02-08 22:45:17 +01:00
Bram Moolenaar
2c7b906afb
patch 8.0.1470: integer overflow when using regexp pattern
...
Problem: Integer overflow when using regexp pattern. (geeknik)
Solution: Use a long instead of int. (Christian Brabandt, closes #2251 )
2018-02-04 18:22:46 +01:00
Bram Moolenaar
890dd05492
patch 8.0.1397: pattern with \& following nothing gives an error
...
Problem: Pattern with \& following nothing gives an error.
Solution: Emit an empty node when needed.
2017-12-16 19:59:37 +01:00
Bram Moolenaar
4c22a91d20
patch 8.0.1254: undefined left shift in gethexchrs()
...
Problem: Undefined left shift in gethexchrs(). (geeknik)
Solution: Use unsigned long. (idea by Christian Brabandt, closes #2255 )
2017-11-02 22:29:38 +01:00
Bram Moolenaar
2f40d129bf
patch 8.0.1215: newer gcc warns for implicit fallthrough
...
Problem: Newer gcc warns for implicit fallthrough.
Solution: Consistently use a FALLTHROUGH comment. (Christian Brabandt)
2017-10-24 21:49:36 +02:00
Bram Moolenaar
983b3a5bc4
patch 8.0.0828: Coverity: may dereference NULL pointer
...
Problem: Coverity: may dereference NULL pointer.
Solution: Bail out if calloc_state() returns NULL.
2017-08-01 15:14:26 +02:00
Bram Moolenaar
1ef9bbe215
patch 8.0.0645: no error for illegal back reference in NFA engine
...
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 #1774 )
2017-06-17 20:08:20 +02:00
Bram Moolenaar
fbd0b0af68
patch 8.0.0643: when a pattern search is slow Vim becomes unusable
...
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.
2017-06-17 18:44:21 +02:00