summaryrefslogtreecommitdiff
path: root/src/search.c
Commit message (Collapse)AuthorAgeFilesLines
* patch 9.0.1270: crash when using search stat in narrow screenv9.0.1270zeertzjq2023-01-311-1/+5
| | | | | Problem: Crash when using search stat in narrow screen. Solution: Check length of message. (closes #11921)
* patch 9.0.1237: code is indented more than necessaryv9.0.1237Yegappan Lakshmanan2023-01-231-150/+157
| | | | | | Problem: Code is indented more than necessary. Solution: Use an early return where it makes sense. (Yegappan Lakshmanan, closes #11858)
* patch 9.0.1234: the code style has to be checked manuallyv9.0.1234Bram Moolenaar2023-01-221-2/+2
| | | | | | Problem: The code style has to be checked manually. Solution: Add basic code style checks in a test. Fix or avoid uncovered problems.
* patch 9.0.1092: search error message doesn't show used patternv9.0.1092Rob Pilling2022-12-231-3/+7
| | | | | | Problem: Search error message doesn't show used pattern. Solution: Pass the actually used pattern to where the error message is given. (Rob Pilling, closes #11742)
* patch 9.0.0953: part of making search more efficient is missingv9.0.0953Bram Moolenaar2022-11-261-3/+3
| | | | | Problem: Part of making search more efficient is missing. Solution: Add the change in searchit().
* patch 9.0.0950: the pattern "\_s\zs" matches at EOLv9.0.0950Bram Moolenaar2022-11-251-1/+5
| | | | | | Problem: The pattern "\_s\zs" matches at EOL. Solution: Make the pattern "\_s\zs" match at the start of the next line. (closes #11617)
* patch 9.0.0338: return value of list_append_list() not always checkedv9.0.0338Bram Moolenaar2022-08-311-2/+10
| | | | | Problem: Return value of list_append_list() not always checked. Solution: Check return value and handle failure.
* patch 9.0.0335: checks for Dictionary argument often give a vague errorv9.0.0335Yegappan Lakshmanan2022-08-301-12/+6
| | | | | Problem: Checks for Dictionary argument often give a vague error message. Solution: Give a useful error message. (Yegappan Lakshmanan, closes #11009)
* patch 9.0.0206: redraw flags are not named specificallyv9.0.0206Bram Moolenaar2022-08-141-6/+6
| | | | | Problem: Redraw flags are not named specifically. Solution: Prefix "UPD_" to the flags, for UPDate_screen().
* patch 9.0.0063: too many type casts for dict_get functionsv9.0.0063Bram Moolenaar2022-07-231-2/+3
| | | | | Problem: Too many type casts for dict_get functions. Solution: Change the key argument from "char_u *" to "char *".
* patch 9.0.0044: typos in comments, wrapping linesv9.0.0044Bram Moolenaar2022-07-061-1/+0
| | | | | Problem: Typos in comments, wrapping lines. Solution: Adjust comments. Wrap lines.
* patch 8.2.5116: "limit" option of matchfuzzy() not always respectedv8.2.5116Kazuyuki Miyagi2022-06-171-1/+2
| | | | | Problem: "limit" option of matchfuzzy() not always respected. Solution: Remove "else". (Kazuyuki Miyagi, closes #10586)
* patch 8.2.5114: time limit on searchpair() does not work properlyv8.2.5114Bram Moolenaar2022-06-161-7/+8
| | | | | Problem: Time limit on searchpair() does not work properly. Solution: Set the time limit once instead of for each regexp. (closes #10562)
* patch 8.2.5057: using gettimeofday() for timeout is very inefficientv8.2.5057Paul Ollis2022-06-051-55/+27
| | | | | Problem: Using gettimeofday() for timeout is very inefficient. Solution: Set a platform dependent timer. (Paul Ollis, closes #10505)
* patch 8.2.5050: using freed memory when searching for pattern in pathv8.2.5050Bram Moolenaar2022-06-011-3/+18
| | | | | Problem: Using freed memory when searching for pattern in path. Solution: Make a copy of the line.
* patch 8.2.4993: smart/C/lisp indenting is optionalv8.2.4993Bram Moolenaar2022-05-211-45/+15
| | | | | | Problem: smart/C/lisp indenting is optional, which makes the code more complex, while it only reduces the executable size a bit. Solution: Graduate FEAT_CINDENT, FEAT_SMARTINDENT and FEAT_LISP.
* patch 8.2.4939: matchfuzzypos() with "matchseq" does not have all positionsv8.2.4939zeertzjq2022-05-111-1/+1
| | | | | Problem: matchfuzzypos() with "matchseq" does not have all positions. Solution: Also add a position for white space. (closes #10404)
* patch 8.2.4928: various white space and cosmetic mistakesv8.2.4928Bram Moolenaar2022-05-091-4/+4
| | | | | Problem: Various white space and cosmetic mistakes. Solution: Change spaces to tabs, improve comments.
* patch 8.2.4911: the mode #defines are not clearly namedv8.2.4911Bram Moolenaar2022-05-071-1/+1
| | | | | Problem: The mode #defines are not clearly named. Solution: Prepend MODE_. Renumber them to put the mapped modes first.
* patch 8.2.4765: function matchfuzzy() sorts too many itemsv8.2.4765Yegappan Lakshmanan2022-04-161-45/+40
| | | | | | Problem: Function matchfuzzy() sorts too many items. Solution: Only put matches in the array. (Yegappan Lakshmanan, closes #10208)
* patch 8.2.4760: using matchfuzzy() on a long list can take a whilev8.2.4760Yasuhiro Matsumoto2022-04-161-5/+27
| | | | | | Problem: Using matchfuzzy() on a long list can take a while. Solution: Add a limit to the number of matches. (Yasuhiro Matsumoto, closes #10189)
* patch 8.2.4732: duplicate code to free fuzzy matchesv8.2.4732Bram Moolenaar2022-04-101-3/+16
| | | | | Problem: Duplicate code to free fuzzy matches. Solution: Bring back fuzmatch_str_free().
* patch 8.2.4727: unused codev8.2.4727Dominique Pelle2022-04-101-30/+18
| | | | | Problem: Unused code. Solution: Remove code and add #ifdefs. (Dominique Pellé, closes #10136)
* patch 8.2.4683: verbose check with dict_find() to see if a key is presentv8.2.4683Yegappan Lakshmanan2022-04-041-1/+1
| | | | | Problem: Verbose check with dict_find() to see if a key is present. Solution: Add dict_has_key(). (Yegappan Lakshmanan, closes #10074)
* patch 8.2.4479: no fuzzy completieon for maps and abbreviationsv8.2.4479Yegappan Lakshmanan2022-02-271-1/+1
| | | | | | Problem: No fuzzy completieon for maps and abbreviations. Solution: Fuzzy complete maps and abbreviations. (Yegappan Lakshmanan, closes #9856)
* patch 8.2.4465: fuzzy completion does not order matches properlyv8.2.4465Yegappan Lakshmanan2022-02-251-1/+1
| | | | | | Problem: Fuzzy completion does not order matches properly. Solution: Do not use regular expression match. (Yegappan Lakshmanan, closes #9843)
* patch 8.2.4463: completion only uses strict matchingv8.2.4463Yegappan Lakshmanan2022-02-241-3/+131
| | | | | | Problem: Completion only uses strict matching. Solution: Add the "fuzzy" item for 'wildoptions'. (Yegappan Lakshmanan, closes #9803)
* patch 8.2.4402: missing parenthesis may cause unexpected problemsv8.2.4402kylo2522022-02-161-5/+5
| | | | | Problem: Missing parenthesis may cause unexpected problems. Solution: Add more parenthesis is macros. (closes #9788)
* patch 8.2.4378: incsearch HL broken when calling searchcount in 'tabLine'v8.2.4378Christian Brabandt2022-02-141-0/+27
| | | | | | | Problem: Incsearch highlight broken when calling searchcount() in 'tabLine' function. (Mirko Palmer) Solution: Save and restore the incsearch state. (Christian Brabandt, closes #9763, closes #9633)
* patch 8.2.4001: insert complete code uses global variablesv8.2.4001Yegappan Lakshmanan2022-01-041-14/+13
| | | | | | Problem: Insert complete code uses global variables. Solution: Make variables local to the file and use accessor functions. (Yegappan Lakshmanan, closes #9470)
* patch 8.2.3985: error messages are spread outv8.2.3985Bram Moolenaar2022-01-021-9/+7
| | | | | Problem: Error messages are spread out. Solution: Move more error messages to errors.h.
* patch 8.2.3972: error messages are spread outv8.2.3972Bram Moolenaar2022-01-011-1/+2
| | | | | Problem: Error messages are spread out. Solution: Move the last errors from globals.h to errors.h.
* patch 8.2.3967: error messages are spread outv8.2.3967Bram Moolenaar2022-01-011-3/+3
| | | | | Problem: Error messages are spread out. Solution: Move more errors to errors.h.
* patch 8.2.3961: error messages are spread outv8.2.3961Bram Moolenaar2021-12-311-7/+7
| | | | | Problem: Error messages are spread out. Solution: Move more errors to errors.h.
* patch 8.2.3938: line comment start is also found in a stringv8.2.3938Bram Moolenaar2021-12-291-5/+7
| | | | | Problem: Line comment start is also found in a string. Solution: Skip line comments in a string.
* patch 8.2.3787: no proper formatting of a C line comment after a statementv8.2.3787Bram Moolenaar2021-12-121-2/+1
| | | | | | Problem: No proper formatting of a C line comment after a statement. Solution: Find the start of the line comment, insert the comment leader and indent the comment properly.
* patch 8.2.3513: using freed memory when using a timer and searchingv8.2.3513Bram Moolenaar2021-10-151-32/+13
| | | | | | Problem: Using freed memory when using a timer and searching. (Dominique Pellé) Solution: Allocated mr_pattern.
* patch 8.2.3292: underscore in very magic pattern causes a hangv8.2.3292Christian Brabandt2021-08-051-1/+3
| | | | | | | Problem: Underscore in very magic pattern causes a hang. Pattern with \V are case sensitive. (Yutao Yuan) Solution: Adjust condition for magicness and advance pointer. (Christian Brabandt, closes #8707, closes #8704, closes #8705)
* patch 8.2.3265: smartcase does not work correctly in very magic patternv8.2.3265Christian Brabandt2021-08-011-1/+10
| | | | | | Problem: Smartcase does not work correctly in very magic pattern. Solution: Take the magicness into account when skipping over regexp items. (Christian Brabandt, closes #8682, closes #7845)
* patch 8.2.3255: ci" finds following string but ci< and others don'tv8.2.3255Connor Lane Smith2021-07-311-0/+2
| | | | | | Problem: ci" finds following string but ci< and others don't. Solution: When not inside an object find the start. (Connor Lane Smit, closes #8670)
* patch 8.2.3229: Vim9: runtime and compile time type checks are not the samev8.2.3229Yegappan Lakshmanan2021-07-271-0/+3
| | | | | | Problem: Vim9: runtime and compile time type checks are not the same. Solution: Add more runtime type checks for builtin functions. (Yegappan Lakshmanan, closes #8646)
* patch 8.2.3190: error messages are spread outv8.2.3190Bram Moolenaar2021-07-201-3/+3
| | | | | Problem: Error messages are spread out. Solution: Move error messages to errors.h and give them a clear name.
* patch 8.2.3188: Vim9: argument types are not checked at compile timev8.2.3188Yegappan Lakshmanan2021-07-201-8/+18
| | | | | | Problem: Vim9: argument types are not checked at compile time. Solution: Add several more type checks, also at runtime. (Yegappan Lakshmanan, closes #8587)
* patch 8.2.2922: computing array length is done in various waysv8.2.2922K.Takata2021-06-021-1/+1
| | | | | Problem: Computing array length is done in various ways. Solution: Use ARRAY_LENGTH everywhere. (Ken Takata, closes #8305)
* patch 8.2.2813: cannot grep using fuzzy matchingv8.2.2813Yegappan Lakshmanan2021-04-261-21/+17
| | | | | Problem: Cannot grep using fuzzy matching. Solution: Add the "f" flag to :vimgrep. (Yegappan Lakshmanan, closes #8152)
* patch 8.2.2694: when 'matchpairs' is empty every character beepsv8.2.2694Bram Moolenaar2021-04-021-0/+2
| | | | | | Problem: When 'matchpairs' is empty every character beeps. (Marco Hinz) Solution: Bail out when no character in 'matchpairs' was found. (closes #8053) Add assert_nobeep().
* patch 8.2.2465: using freed memory in :psearchv8.2.2465Bram Moolenaar2021-02-031-0/+2
| | | | | Problem: Using freed memory in :psearch. (houyunsong) Solution: Check the current window is still valid. Fix flaky test.
* patch 8.2.2295: incsearch does not detect empty pattern properlyv8.2.2295Bram Moolenaar2021-01-041-1/+1
| | | | | | Problem: Incsearch does not detect empty pattern properly. Solution: Return magic state when skipping over a pattern. (Christian Brabandt, closes #7612, closes #6420)
* patch 8.2.2280: fuzzy matching doesn't give access to the scoresv8.2.2280Bram Moolenaar2021-01-021-6/+25
| | | | | | Problem: Fuzzy matching doesn't give access to the scores. Solution: Return the scores with a third list. (Yegappan Lakshmanan, closes #7596)
* patch 8.2.2182: Vim9: value of 'magic' is still relevantv8.2.2182Bram Moolenaar2020-12-211-5/+8
| | | | | Problem: Vim9: value of 'magic' is still relevant. Solution: Always behave like 'magic' is on in Vim9 script (closes #7509)