summaryrefslogtreecommitdiff
path: root/src/search.c
Commit message (Collapse)AuthorAgeFilesLines
* patch 8.0.1564: too many #ifdefsv8.0.1564Bram Moolenaar2018-03-041-10/+6
| | | | | | Problem: Too many #ifdefs. Solution: Graduate the +autocmd feature. Takes away 450 #ifdefs and increases code size of tiny Vim by only 40 Kbyte.
* patch 8.0.1496: clearing a pointer takes two linesv8.0.1496Bram Moolenaar2018-02-101-2/+1
| | | | | | Problem: Clearing a pointer takes two lines. Solution: Add VIM_CLEAR() and replace vim_clear(). (Hirohito Higashi, closes #2629)
* patch 8.0.1487: test 14 failsv8.0.1487Bram Moolenaar2018-02-091-1/+1
| | | | | Problem: Test 14 fails. Solution: Fix of-by-one error.
* patch 8.0.1486: accessing invalid memory with "it"v8.0.1486Bram Moolenaar2018-02-091-3/+3
| | | | | | Problem: Accessing invalid memory with "it". (Dominique Pelle) Solution: Avoid going over the end of the line. (Christian Brabandt, closes #2532)
* patch 8.0.1483: searchpair() might return an invalid value on timeoutv8.0.1483Bram Moolenaar2018-02-091-0/+9
| | | | | | Problem: Searchpair() might return an invalid value on timeout. Solution: When the second search times out, do not accept a match from the first search. (Daniel Hahler, closes #2552)
* patch 8.0.1479: insert mode completion state is confusingv8.0.1479Bram Moolenaar2018-02-091-1/+1
| | | | | Problem: Insert mode completion state is confusing. Solution: Move ctrl_x_mode into edit.c. Add CTRL_X_NORMAL for zero.
* patch 8.0.1449: slow redrawing with DirectXv8.0.1449Bram Moolenaar2018-01-311-8/+2
| | | | | | Problem: Slow redrawing with DirectX. Solution: Avoid calling gui_mch_flush() unnecessarily, especially when updating the cursor. (Ken Takata, closes #2560)
* patch 8.0.1304: CTRL-G/CTRL-T don't work with incsearch and empty patternv8.0.1304Bram Moolenaar2017-11-161-0/+6
| | | | | Problem: CTRL-G/CTRL-T don't work with incsearch and empty pattern. Solution: Use the last search pattern. (Christian Brabandt, closes #2292)
* patch 8.0.1291: C indent wrong when * immediately follows commentv8.0.1291Bram Moolenaar2017-11-121-1/+2
| | | | | Problem: C indent wrong when * immediately follows comment. (John Bowler) Solution: Do not see "/*" after "*" as a comment start. (closes #2321)
* patch 8.0.1239: cannot use a lambda for the skip argument to searchpair()v8.0.1239Bram Moolenaar2017-10-301-2/+2
| | | | | | Problem: Cannot use a lambda for the skip argument to searchpair(). Solution: Evaluate a partial, funcref and lambda. (LemonBoy, closes #1454, closes #2265)
* patch 8.0.1238: incremental search only shows one matchv8.0.1238Bram Moolenaar2017-10-291-4/+39
| | | | | | Problem: Incremental search only shows one match. Solution: When 'incsearch' and and 'hlsearch' are both set highlight all matches. (haya14busa, closes #2198)
* patch 8.0.1148: gN doesn't work on last match with 'wrapscan' offv8.0.1148Bram Moolenaar2017-09-261-9/+14
| | | | | Problem: "gN" doesn't work on last match with 'wrapscan' off. (fcpg) Solution: Adjust for searching backward. (Christian Brabandt)
* patch 8.0.1136: W_WIDTH() is always the samev8.0.1136Bram Moolenaar2017-09-221-1/+1
| | | | | Problem: W_WIDTH() is always the same. Solution: Expand the macro.
* patch 8.0.1118: FEAT_WINDOWS adds a lot of #ifdefsv8.0.1118Bram Moolenaar2017-09-161-7/+5
| | | | | | Problem: FEAT_WINDOWS adds a lot of #ifdefs while it is nearly always enabled and only adds 7% to the binary size of the tiny build. Solution: Graduate FEAT_WINDOWS.
* patch 8.0.0762: ml_get error with :psearch in buffer without a namev8.0.0762Bram Moolenaar2017-07-231-1/+2
| | | | | | | Problem: ml_get error with :psearch in buffer without a name. (Dominique Pelle) Solution: Use the buffer number instead of the file name. Check the cursor position.
* patch 8.0.0643: when a pattern search is slow Vim becomes unusablev8.0.0643Bram Moolenaar2017-06-171-16/+29
| | | | | | | | 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.
* patch 8.0.0627: "gn" selects only one character with 'nowrapscan'v8.0.0627Bram Moolenaar2017-06-051-7/+10
| | | | | | Problem: When 'wrapscan' is off "gn" does not select the whole pattern when it's the last one in the text. (KeyboardFire) Solution: Check if the search fails. (Christian Brabandt, closes #1683)
* patch 8.0.0622: selecting quoted text fails with 'selection' "exclusive"v8.0.0622Bram Moolenaar2017-06-051-2/+13
| | | | | | | Problem: Using a text object to select quoted text fails when 'selection' is set to "exclusive". (Guraga) Solution: Swap cursor and visual start position. (Christian Brabandt, closes #1687)
* patch 8.0.0621: :stag does not respect 'switchbuf'v8.0.0621Bram Moolenaar2017-06-051-6/+8
| | | | | | | Problem: The ":stag" command does not respect 'switchbuf'. Solution: Check 'switchbuf' for tag commands that may open a new window. (Ingo Karkat, closes #1681) Define macros for the return values of getfile().
* patch 8.0.0523: dv} deletes part of a multi-byte character.v8.0.0523Bram Moolenaar2017-03-291-1/+9
| | | | | Problem: dv} deletes part of a multi-byte character. (Urtica Dioica) Solution: Include the whole character.
* patch 8.0.0466: still macros that should be all-capsv8.0.0466Bram Moolenaar2017-03-161-4/+4
| | | | | Problem: There are still a few macros that should be all-caps. Solution: Make a few more macros all-caps.
* patch 8.0.0452: some macros are in lower casev8.0.0452Bram Moolenaar2017-03-121-12/+12
| | | | | Problem: Some macros are in lower case. Solution: Make a few more macros upper case.
* patch 8.0.0451: some macros are in lower casev8.0.0451Bram Moolenaar2017-03-121-4/+4
| | | | | | Problem: Some macros are in lower case. Solution: Make a few more macros upper case. Avoid lower case macros use an argument twice.
* patch 8.0.0448: some macros are in lower casev8.0.0448Bram Moolenaar2017-03-121-37/+42
| | | | | Problem: Some macros are in lower case, which can be confusing. Solution: Make a few lower case macros upper case.
* patch 8.0.0446: the ";" command does not work after some charactersv8.0.0446Bram Moolenaar2017-03-121-1/+5
| | | | | | | Problem: The ";" command does not work after characters with a lower byte that is NUL. Solution: Properly check for not having a previous character. (Hirohito Higashi)
* patch 8.0.0398: illegal memory access with "t"v8.0.0398Bram Moolenaar2017-03-011-5/+2
| | | | | Problem: Illegal memory access with "t". Solution: Use strncmp() instead of memcmp(). (Dominique Pelle, closes #1528)
* patch 8.0.0339: illegal memory access with vi'v8.0.0339Bram Moolenaar2017-02-181-0/+4
| | | | | | Problem: Illegal memory access with vi' Solution: For quoted text objects bail out if the Visual area spans more than one line.
* patch 8.0.0330: illegal memory access after "vapo"v8.0.0330Bram Moolenaar2017-02-171-1/+5
| | | | | Problem: Illegal memory access after "vapo". (Dominique Pelle) Solution: Fix the cursor column.
* patch 8.0.0109v8.0.0109Bram Moolenaar2016-12-011-1/+2
| | | | | | Problem: Still checking if memcmp() exists while every system should have it now. Solution: Remove vim_memcmp(). (James McCoy, closes #1295)
* patch 8.0.0035v8.0.0035Bram Moolenaar2016-10-151-1/+1
| | | | | | Problem: Order of matches for 'omnifunc' is messed up. (Danny Su) Solution: Do not set compl_curr_match when called from complete_check(). (closes #1168)
* patch 7.4.2356v7.4.2356Bram Moolenaar2016-09-091-3/+2
| | | | | | Problem: Reading past end of line when using previous substitute pattern. (Dominique Pelle) Solution: Don't set "pat" only set "searchstr".
* patch 7.4.2303v7.4.2303Bram Moolenaar2016-09-011-0/+1
| | | | | Problem: When using "is" the mode isn't always updated. Solution: Redraw the command line. (Christian Brabandt)
* patch 7.4.2293v7.4.2293Bram Moolenaar2016-08-291-1/+1
| | | | | Problem: Modelines in source code are inconsistant. Solution: Use the same line in most files. Add 'noet'. (Naruhiko Nishino)
* patch 7.4.2230v7.4.2230Bram Moolenaar2016-08-201-2/+11
| | | | | | Problem: There is no equivalent of 'smartcase' for a tag search. Solution: Add value "followscs" and "smart" to 'tagcase'. (Christian Brabandt, closes #712) Turn tagcase test into new style.
* patch 7.4.2100v7.4.2100Bram Moolenaar2016-07-241-7/+20
| | | | | | | | Problem: "cgn" and "dgn" do not work correctly with a single character match and the replacement includes the searched pattern. (John Beckett) Solution: If the match is found in the wrong column try in the next column. Turn the test into new style. (Christian Brabandt)
* patch 7.4.1762v7.4.1762Bram Moolenaar2016-04-211-2/+1
| | | | | Problem: Coverity: useless assignments. Solution: Remove them.
* patch 7.4.1214v7.4.1214Bram Moolenaar2016-01-301-214/+169
| | | | | | Problem: Using old style function declarations. Solution: Change to new style function declarations. (script by Hirohito Higashi)
* patch 7.4.1199v7.4.1199Bram Moolenaar2016-01-291-19/+19
| | | | | Problem: Still using __ARGS. Solution: Remove __ARGS in several files. (script by Hirohito Higashi)
* patch 7.4.984v7.4.984Bram Moolenaar2015-12-281-3/+8
| | | | | | Problem: searchpos() always starts searching in the first column, which is not what some people expect. (Brett Stahlman) Solution: Add the 'z' flag: start at the specified column.
* patch 7.4.847v7.4.847Bram Moolenaar2015-09-011-1/+1
| | | | | Problem: "vi)d" may leave a character behind. Solution: Skip over multi-byte character. (Christian Brabandt)
* patch 7.4.839v7.4.839Bram Moolenaar2015-08-261-1/+1
| | | | | Problem: Compiler warning on 64-bit system. Solution: Add cast to int. (Mike Williams)
* patch 7.4.826v7.4.826Bram Moolenaar2015-08-131-2/+2
| | | | | Problem: Compiler warnings and errors. Solution: Make it build properly without the multi-byte feature.
* patch 7.4.813v7.4.813Bram Moolenaar2015-08-111-21/+76
| | | | | Problem: It is not possible to save and restore character search state. Solution: Add getcharsearch() and setcharsearch(). (James McCoy)
* patch 7.4.803v7.4.803Bram Moolenaar2015-07-281-9/+82
| | | | | Problem: C indent does not support C11 raw strings. (Mark Lodato) Solution: Do not change indent inside the raw string.
* patch 7.4.793v7.4.793Bram Moolenaar2015-07-211-1/+1
| | | | | Problem: Can't specify when not to ring the bell. Solution: Add the 'belloff' option. (Christian Brabandt)
* patch 7.4.771v7.4.771Bram Moolenaar2015-07-101-12/+27
| | | | | | Problem: Search does not handle multi-byte character at the start position correctly. Solution: Take byte size of character into account. (Yukihiro Nakadaira)
* updated for version 7.4.662v7.4.662Bram Moolenaar2015-03-131-2/+3
| | | | | | Problem: When 'M' is in the 'cpo' option then selecting a text object in parenthesis does not work correctly. Solution: Keep 'M' in 'cpo' when finding a match. (Hirohito Higashi)
* updated for version 7.4.655v7.4.655Bram Moolenaar2015-03-051-4/+12
| | | | | | | Problem: Text deleted by "dit" depends on indent of closing tag. (Jan Parthey) Solution: Do not adjust oap->end in do_pending_operator(). (Christian Brabandt)
* updated for version 7.4.551v7.4.551Bram Moolenaar2014-12-131-6/+21
| | | | | Problem: "ygn" may yank too much. (Fritzophrenic) Issue 295. Solution: Check the width of the next match. (Christian Brabandt)
* updated for version 7.4.547v7.4.547Bram Moolenaar2014-12-131-1/+1
| | | | | | | Problem: Using "vit" does not select a multi-byte character at the end correctly. Solution: Advance the cursor over the multi-byte character. (Christian Brabandt)