aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/regexp_nfa.c
Commit message (Collapse)AuthorAge
* refactor: replace char_u with charDundar Göc2022-09-10
| | | | Work on https://github.com/neovim/neovim/issues/459
* refactor: replace char_u with charDundar Göc2022-09-06
| | | | Work on https://github.com/neovim/neovim/issues/459
* refactor: replace char_u with charDundar Göc2022-09-01
| | | | Work on https://github.com/neovim/neovim/issues/459
* refactor: replace char_u with charDundar Göc2022-08-31
| | | | Work on https://github.com/neovim/neovim/issues/459
* refactor: replace char_u with charDundar Göc2022-08-31
| | | | Work on https://github.com/neovim/neovim/issues/459
* refactor(plines): use a struct for chartabsize statebfredl2022-08-29
| | | | | | | | | This is a refactor extracted from vim-patch 9.0.0067: cannot show virtual text The logic for inline virtual text is going to be different in nvim than text property based text in vim, but this refactor is still useful, as calculation of displayed linesize is going to be stateful in a similar way.
* refactor: change pre-decrement/increment to post (#19799)Lewis Russell2022-08-16
| | | Co-authored-by: zeertzjq <zeertzjq@outlook.com>
* refactor: use CLEAR_FIELD and CLEAR_POINTER macros (#19709)zeertzjq2022-08-11
| | | | | | | vim-patch:8.2.0559: clearing a struct is verbose Problem: Clearing a struct is verbose. Solution: Define and use CLEAR_FIELD() and CLEAR_POINTER(). https://github.com/vim/vim/commit/a80faa8930ed5a554beeb2727762538873135e83
* refactor: replace char_u with charDundar Goc2022-07-31
| | | | Work on https://github.com/neovim/neovim/issues/459
* refactor: enable -Wconversion warning for regexp files (#19521)dundargoc2022-07-28
| | | Work on https://github.com/neovim/neovim/issues/567
* fix(mark): give correct error message when mark is in another buffer (#19454)zeertzjq2022-07-21
|
* feat(marks): restore viewport on jump #15831Javier Lopez2022-06-30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ** Refactor Previously most functions used to "get" a mark returned a position, changed the line number and sometimes changed even the current buffer. Now functions return a {x}fmark_T making calling context aware whether the mark is in another buffer without arcane casting. A new function is provided for switching to the mark buffer and returning a flag style Enum to convey what happen in the movement. If the cursor changed, line, columns, if it changed buffer, etc. The function to get named mark was split into multiple functions. - mark_get() -> fmark_T - mark_get_global() -> xfmark_T - mark_get_local() -> fmark_T - mark_get_motion() -> fmark_T - mark_get_visual() -> fmark_T Functions that manage the changelist and jumplist were also modified to return mark types. - get_jumplist -> fmark_T - get_changelist -> fmark_T The refactor is also seen mainly on normal.c, where all the mark movement has been siphoned through one function nv_gomark, while the other functions handle getting the mark and setting their movement flags. To handle whether context marks should be left, etc. ** Mark View While doing the refactor the concept of a mark view was also implemented: The view of a mark currently implemented as the number of lines between the mark position on creation and the window topline. This allows for moving not only back to the position of a mark but having the window look similar to when the mark was defined. This is done by carrying and extra element in the fmark_T struct, which can be extended later to also restore horizontal shift. *** User space features 1. There's a new option, jumpoptions+=view enables the mark view restoring automatically when using the jumplist, changelist, alternate-file and mark motions. <C-O> <C-I> g; g, <C-^> '[mark] `[mark] ** Limitations - The view information is not saved in shada. - Calls to get_mark should copy the value in the pointer since we are using pos_to_mark() to wrap and provide a homogeneous interfaces. This was also a limitation in the previous state of things.
* refactor(regexp_nfa.c): match where Vim calls fopen() (#18778)zeertzjq2022-05-28
|
* refactor: missing parenthesis may cause unexpected problems (#17443)kylo2522022-05-26
| | | related vim-8.2.{4402,4639}
* refactor(uncrustify): set maximum number of consecutive newlines to 2 (#18695)dundargoc2022-05-25
|
* refactor: replace char_u variables and functions with charDundar Goc2022-05-16
| | | | Work on https://github.com/neovim/neovim/issues/459
* refactor(uncrustify): enable formatting for regexp and indent files (#18549)dundargoc2022-05-14
| | | | | | | | The formatting for these files were originally disabled as to signal that "we don't own these files", meaning we intentionally want to minimize the amount of work put in these files as the return will be very little. This unfortunately conflicts with other refactoring efforts that happen to touch these files, and it's easier to simply enable formatting.
* refactor: replace char_u variables and functions with charDundar Goc2022-05-09
| | | | Work on https://github.com/neovim/neovim/issues/459
* refactor: replace char_u variables and functions with charDundar Goc2022-05-07
| | | | Work on https://github.com/neovim/neovim/issues/459
* vim-patch:8.2.4649: various formatting problemszeertzjq2022-03-30
| | | | | | Problem: Various formatting problems. Solution: Improve the code formatting. https://github.com/vim/vim/commit/b4ad3b0deac12674a7773311890b48fd39c6807c
* vim-patch:8.2.4592: search continues after giving E1204zeertzjq2022-03-30
| | | | | | Problem: Search continues after giving E1204. Solution: Return failure after giving E1204. (closes vim/vim#9972) https://github.com/vim/vim/commit/b10ff5c1b3581ed4990d196bed51b4a8f961e8a2
* vim-patch:8.2.3110: a pattern that matches the cursor position is complicatedzeertzjq2022-03-30
| | | | | | | | | Problem: A pattern that matches the cursor position is bit complicated. Solution: Use a dot to indicate the cursor line and column. (Christian Brabandt, closes vim/vim#8497, closes vim/vim#8179) https://github.com/vim/vim/commit/04db26b36000a4677b95403ec94bd11f6cc73975 Also use `n = ++vcol` in regexp_bt.c as `++vcol` alone fails lint.
* vim-patch:8.2.4546: duplicate #undefzeertzjq2022-03-19
| | | | | | Problem: Duplicate #undef. Solution: Remove one #undef. (closes vim/vim#9932) https://github.com/vim/vim/commit/0a4e098f32f3c83273ff63c02c8d0d5cdd7c897c
* vim-patch:8.2.2716: the equivalent class regexp is missing some characterszeertzjq2022-03-19
| | | | | | | | | Problem: The equivalent class regexp is missing some characters. Solution: Update the list of equivalent characters. (Dominique Pellé, closes vim/vim#8029) https://github.com/vim/vim/commit/0b94e297afd072c51bf2eed12c7ffe3978d93399 Match upstream's indent in s:equivalence_class().
* vim-patch:8.2.3612: using freed memory with regexp using a mark (#16973)f380cedric2022-01-27
| | | | | Problem: Using freed memory with regexp using a mark. Solution: Get the line again after getting the mark position. https://github.com/vim/vim/commit/64066b9acd9f8cffdf4840f797748f938a13f2d6
* vim-patch:8.2.3914 (#16808)dundargoc2021-12-28
| | | | | | | | | * vim-patch:8.2.3914: various spelling mistakes in comments Problem: Various spelling mistakes in comments. Solution: Fix the mistakes. (Dominique Pellé, closes vim/vim#9416) https://github.com/vim/vim/commit/af4a61a85d6e8cacc35324f266934bc463a21673 Co-authored-by: zeertzjq <zeertzjq@outlook.com>
* vim-patch:8.2.3855: illegal memory access when displaying a blobVVKot2021-12-19
| | | | | | Problem: Illegal memory access when displaying a blob. Solution: Append a NUL at the end. (Yegappan Lakshmanan, closes vim/vim#9372) https://github.com/vim/vim/commit/bc404bfb32cf2bef34050d2aeae0ea72ccf980cc
* vim-patch:8.2.3825: various comments could be improvedzeertzjq2021-12-16
| | | | | | Problem: Various comments could be improved. Solution: Improve the comments. https://github.com/vim/vim/commit/52797bae1710621926c03a2611c40a692c96fb44
* refactor(misc1): move line_breakcheck family of functions to os/input.cBjörn Linse2021-12-09
|
* refactor(macros): delete multibyte macros which just are aliasesBjörn Linse2021-11-14
|
* refactor(multibyte): eliminate mb_char2len alias for utf_char2lenBjörn Linse2021-11-14
|
* vim-patch:8.1.0743: giving error messages is not flexibleJames McCoy2021-11-01
| | | | | | | | | 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 vim/vim#3302) Also make emsg() accept a "char *" argument. Get rid of an enormous number of type casts. https://github.com/vim/vim/commit/f9e3e09fdc93be9f0d47afbc6c7df1188c2a5a0d
* vim-patch:8.1.2394: using old C style commentsDundar Göc2021-10-21
| | | | | | Problem: Using old C style comments. Solution: Use // comments where appropriate. https://github.com/vim/vim/commit/63d9e730f726341bf41ee4f4b829253cb9879110
* Merge pull request #15930 from dundargoc/vim-patch/old-style-c-commentsJan Edmund Lazo2021-10-17
|\ | | | | vim-patch:8.1.2396,8.1.2395,8.1.2394,8.1.2392,8.1.2368,8.1.2388,8.1.2379
| * vim-patch:8.1.2394: using old C style commentsDundar Göc2021-10-06
| | | | | | | | | | | | Problem: Using old C style comments. Solution: Use // comments where appropriate. https://github.com/vim/vim/commit/63d9e730f726341bf41ee4f4b829253cb9879110
* | refactor: format all C files under nvim/ #15977dundargoc2021-10-12
|/ | | | | | | | * refactor: format all C files under nvim * refactor: disable formatting for Vim-owned files: * src/nvim/indent_c.c * src/nvim/regexp.c * src/nvim/regexp_nfa.c * src/nvim/testdir/samples/memfile_test.c
* vim-patch:8.2.3125: variables are set but not used #15028dundargoc2021-07-08
| | | | | | Problem: Variables are set but not used. Solution: Move the declarations to the block where they are used. (closes vim/vim#8527) https://github.com/vim/vim/commit/09f688c33aad9692276dfb68842cf0621a0e2002
* regexp: pvs/v1071Jan Edmund Lazo2021-06-05
| | | | "void" cast unused return values of getchr(), peekchr().
* vim-patch:8.2.2278: falling back to old regexp engine can some patternsJan Edmund Lazo2021-05-26
| | | | | | | Problem: Falling back to old regexp engine can some patterns. Solution: Do not fall back once [[:lower:]] or [[:upper:]] is used. (Christian Brabandt, closes vim/vim#7572) https://github.com/vim/vim/commit/66c50c565321d4d49d8d5620912e5e8fe4825644
* vim-patch:8.2.2885: searching for \%'> does not match linewise end of lineJan Edmund Lazo2021-05-26
| | | | | | Problem: searching for \%'> does not match linewise end of line. (Tim Chase) Solution: Match end of line if column is MAXCOL. (closes vim/vim#8238) https://github.com/vim/vim/commit/872bee557e5f8ab0e4a523a6a845868a2801b17e
* vim-patch:8.2.2829: some comments are not correct or clearJan Edmund Lazo2021-05-06
| | | | | | Problem: Some comments are not correct or clear. Solution: Adjust the comments. Add test for cursor position. https://github.com/vim/vim/commit/df36514a6455342e178af693553ef9df9fcf8c83
* 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