aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/ops.c
Commit message (Collapse)AuthorAge
...
* api/buffer: add "on_bytes" callback to nvim_buf_attachBjörn Linse2020-09-09
| | | | | | This implements byte-resolution updates of buffer changes. Note: there is no promise that the buffer state is valid inside the callback!
* extmark: separate extmark_splice_cols for column-only changeBjörn Linse2020-09-09
| | | | as the byte logic will be the same for all of these
* eval_call_provider(): free unused return value #12819Jacques Germishuys2020-09-01
| | | Caller can pass discard=true to free the unwanted return value.
* vim-patch:8.2.1511: putting a string in Visual block mode ignores multi-byteJan Edmund Lazo2020-08-22
| | | | | | | Problem: Putting a string in Visual block mode ignores multi-byte characters. Solution: Adjust the column for Visual block mode. (closes vim/vim#6767) https://github.com/vim/vim/commit/cd94277f72e29b740635da84bcd872c96e11bf67
* vim-patch:8.2.1170: cursor off by one with block paste while 'virtualedit' "all"Jan Edmund Lazo2020-07-19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: Cursor off by one with block paste while 'virtualedit' is "all". Solution: Adjust condition. (Hugo Gualandi, closes vim/vim#6430) https://github.com/vim/vim/commit/ef85a9b2d9e992ab594e089af3883e381cfad426 N/A patches for version.c: vim-patch:8.2.1114: terminal test sometimes times out Problem: Terminal test sometimes times out. Solution: Split the test in two parts. https://github.com/vim/vim/commit/1112c0febb509d0cb219f3a2479fd36833507167 vim-patch:8.2.1171: possible crash when out of memory Problem: Possible crash when out of memory. Solution: Check for NULL pointer. (Dominique Pellé, closes vim/vim#6432) https://github.com/vim/vim/commit/58bb61cf5ee008254eb331bc3574eac87d2dcc4a vim-patch:8.2.1172: error messages when doing "make clean" in doc or tee Problem: Error messages when doing "make clean" in the runtime/doc or src/tee directories. Solution: Use "rm -f". https://github.com/vim/vim/commit/08fc48492acc07259d91293df12bf66447819443 vim-patch:8.2.1173: tee doesn't build on some systems Problem: Tee doesn't build on some systems. Solution: Include header files. (Dominique Pelle, closes vim/vim#6431) https://github.com/vim/vim/commit/40043152924827fa8c4064951065ff507c610164 vim-patch:8.2.1177: terminal2 test sometimes hangs in the GUI Problem: Terminal2 test sometimes hangs in the GUI. Solution: Move some tests to other files to further locate the problem. Set the GUI to a fixed screen size. https://github.com/vim/vim/commit/18aa13d13b69c090dbe186cd4939896488c433e3 vim-patch:8.2.1179: Test_termwinscroll() sometimes hangs in the GUI Problem: Test_termwinscroll() sometimes hangs in the GUI. Solution: Skip the test in the GUI. https://github.com/vim/vim/commit/f65927fc8d0102ef2d0fea776381caedf4c51e32 vim-patch:8.2.1180: build failure in small version Problem: Build failure in small version. Solution: Add #ifdef. https://github.com/vim/vim/commit/1e624c912dff19e889c9398b56fe537952c02fef vim-patch:8.2.1181: json code not fully tested Problem: Json code not fully tested. Solution: Add more test coverage. (Dominique Pellé, closes vim/vim#6433) https://github.com/vim/vim/commit/21e5bdd271fa4d0ff4511cf74b160315e1d17cff
* vim-patch:8.2.0963: number increment/decrement does not work with 'virtualedit'Jan Edmund Lazo2020-06-18
| | | | | | | Problem: Number increment/decrement does not work with 'virtualedit'. Solution: Handle coladd changing. (Christian Brabandt, closes vim/vim#6240, closes vim/vim#923) https://github.com/vim/vim/commit/6c6be9e88d72a60ee279ccad73d018c534b71d66
* vim-patch:8.2.0111: VAR_SPECIAL is also used for booleansBilly Su2020-06-06
| | | | | | Problem: VAR_SPECIAL is also used for booleans. Solution: Add VAR_BOOL for better type checking. https://github.com/vim/vim/commit/9b4a15d5dba354d2e1e02871470bad103f34769a
* Add v:event.visual during `TextYankPost` (#12382)Christian Clason2020-06-03
| | | | | | | | | * propagate visual selection to textyankpost event * adapt tests * add docs * also adapt oldtest
* vim-patch:8.2.0389: delayed redraw when shifting text from Insert modeJan Edmund Lazo2020-04-13
| | | | | | Problem: Delayed redraw when shifting text from Insert mode. Solution: Use msg_attr_keep() instead of msg(). (closes vim/vim#5782) https://github.com/vim/vim/commit/e4fc746d13f5b6a0b5c3a8efdff7de1454c3297d
* vim-patch:8.0.1587: inserting from the clipboard doesn't work literallyJan Edmund Lazo2020-03-01
| | | | | | Problem: inserting from the clipboard doesn't work literally Solution: When pasting from the * or + register always assume literally. https://github.com/vim/vim/commit/3324d0a86421a634572758dcfde917547f4d4c67
* pvs/v1048: variable was assigned same valueJan Edmund Lazo2020-03-01
|
* vim-patch:8.1.0027: difficult to make a plugin that feeds a line to a joberw72020-02-12
| | | | | | Problem: Difficult to make a plugin that feeds a line to a job. Solution: Add the nitial code for the "prompt" buftype. https://github.com/vim/vim/commit/f273245f6433d5d43a5671306b520a3230c35787
* Fix shift change callbacks reading bad cursor (#11782)Axel Forsman2020-01-30
| | | | | | | | | | | | | | Sloppy code inherited from Vim caused user scripts to be able to observe the cursor line in an invalid intermediary state, due to Neovim change callbacks being unbuffered unlike Vim listeners. Manifested in Vimscript executed from the callback possibly erroring when `:call`:ing any function, due to the implicit range `curwin->w_cursor.lnum,curwin->w_cursor.lnum` failing validation. Fixed by deferring the call to `changed_lines()` until after `curwin->w_cursor.lnum` gets its correct value.
* Remove enc_utf8,has_mbyte dead codeJan Edmund Lazo2020-01-25
|
* vim-patch:8.2.0147: block Visual mode operators not correct when 'linebreak' setJan Edmund Lazo2020-01-24
| | | | | | Problem: Block Visual mode operators not correct when 'linebreak' set. Solution: Set w_p_lbr to lbr_saved more often. (Ken Takata, closes vim/vim#5524) https://github.com/vim/vim/commit/03c3bd9fd094c1aede2e8fe3ad8fd25b9f033053
* shed biking: it's always extmarks, never marks extendedBjörn Linse2020-01-20
|
* clang/'Logic error': zero-init structJan Edmund Lazo2020-01-17
|
* extmarks/bufhl: reimplement using new marktree data structureBjörn Linse2020-01-16
| | | | | | | | | | | | | | | | | | | | Add new "splice" interface for tracking buffer changes at the byte level. This will later be reused for byte-resolution buffer updates. (Implementation has been started, but using undocumented "_on_bytes" option now as interface hasn't been finalized). Use this interface to improve many edge cases of extmark adjustment. Changed tests indicate previously incorrect behavior. Adding tests for more edge cases will be follow-up work (overlaps on_bytes tests) Don't consider creation/deletion of marks an undoable event by itself. This behavior was never documented, and imposes complexity for little gain. Add nvim__buf_add_decoration temporary API for direct access to the new implementation. This should be refactored into a proper API for decorations, probably involving a huge dict. fixes #11598
* vim-patch:8.2.0063: wrong size argument to vim_snprintf()Jan Edmund Lazo2019-12-30
| | | | | | Problem: Wrong size argument to vim_snprintf(). (Dominique Pelle) Solution: Reduce the size by the length. (related to vim/vim#5410) https://github.com/vim/vim/commit/08b28b7ad52d5ee3cb5fa5982b647e325a410484
* clang/'Dead store': remove dead codeJan Edmund Lazo2019-12-26
|
* vim-patch:8.2.0018: :join does not add white space where it shouldJan Edmund Lazo2019-12-18
| | | | | | Problem: :join does not add white space where it should. (Zdenek Dohnal) Solution: Handle joining multiple lines propely. https://github.com/vim/vim/commit/91b65e49440e77222a65b6f868507453239f409b
* doc + extmarks tweaks #11421Justin M. Keyes2019-11-25
| | | | - nvim_buf_get_extmarks: rename "amount" => "limit" - rename `set_extmark_index_from_obj`
* refactor: use inserted_bytes pattern from vimBjörn Linse2019-11-23
| | | | | | | This covers all "small" inserts and deletes in insert mode, as well as a few more cases like small normal mode deletes vim-patch:8.1.0678: text properties as not adjusted for inserted text
* vim-patch:8.1.2293: join adds trailing space when second line is emptyJan Edmund Lazo2019-11-13
| | | | | | | Problem: Join adds trailing space when second line is empty. (Brennan Vincent) Solution: Do not add a trailing space. https://github.com/vim/vim/commit/cc184cfb09161b3bbc7d5d8859a18e812367d19c
* extmark: review changesBjörn Linse2019-11-11
|
* nsmarks: initial committimeyyy2019-11-11
|
* vim-patch:8.1.2235: "C" with 'virtualedit' set does not include multi-byte charJan Edmund Lazo2019-11-01
| | | | | | | Problem: "C" with 'virtualedit' set does not include multi-byte char. Solution: Include the whole multi-byte char. (Nobuhiro Takasaki, closes vim/vim#5152) https://github.com/vim/vim/commit/77ccc00340ed2598f7aa09716217e878665964fa
* vim-patch:8.1.2096: too many #ifdefs #11229Daniel Hahler2019-10-17
| | | | | | | Problem: Too many #ifdefs. Solution: Graduate FEAT_COMMENTS. https://github.com/vim/vim/commit/8c96af9c05bfcac2d5ae081e098d4863db561511 Fixes https://github.com/vim/vim/issues/4972.
* vim-patch:8.1.1588: in :let-heredoc line continuation is recognizedJurica Bradaric2019-10-07
| | | | | | Problem: In :let-heredoc line continuation is recognized. Solution: Do not consume line continuation. (Ozaki Kiichi, closes vim/vim#4580) https://github.com/vim/vim/commit/e96a2498f9a2d3e93ac07431f6d4afd77f30afdf
* 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
* getdigits: introduce `strict`, `def` parametersJustin M. Keyes2019-09-13
| | | | | | | | | | | | Problem: During a refactor long ago, we changed the `getdigits_*` familiy of functions to abort on overflow. But this is often wrong, because many of these codepaths are handling user input. Solution: Decide at each call-site whether to use "strict" mode. fix #5555
* vim-patch:8.1.0719: too many #ifdefs [ci skip] #11016Jan Edmund Lazo2019-09-13
| | | | | Problem: Too many #ifdefs. Solution: Always build with the +visualextra feature. https://github.com/vim/vim/commit/870ba5f6dce974b6c1c47bf9d3b20db805d10b36
* vim-patch:8.1.2026: possibly using uninitialized memory #11013Jan Edmund Lazo2019-09-13
| | | | | Problem: Possibly using uninitialized memory. Solution: Check if "dict" is NULL. (closes vim/vim#4925) https://github.com/vim/vim/commit/dbec74907eb614517bcf27116d5aad32e087f241
* api: make nvim_put support "\022{NUM}" regtype as returned by getregtype()Björn Linse2019-08-31
|
* vim-patch:8.0.0303: shift_delete_registers() #10868Jan Edmund Lazo2019-08-28
| | | | | Problem: Bracketed paste does not work in Visual mode. Solution: Delete the text before pasting https://github.com/vim/vim/commit/a1891848d970452cd775d35a4bccfdd9758a690a
* API: nvim_put #6819Björn Linse2019-08-27
|
* includesDaniel Hahler2019-08-07
|
* vim-patch:8.1.1086: too many curly bracesJan Edmund Lazo2019-07-28
| | | | | | | | | | Problem: Too many curly braces. Solution: Remove curly braces where they are not needed. (Hirohito Higashi, closes vim/vim#3982) https://github.com/vim/vim/commit/abab0b0fdd6535969447b03a4fffc1947918cf6c Neovim code style requires the opposite. Add curly braces to minimize lint errors when applying Vim patches.
* vim-patch:8.1.1138: add CompleteChanged #10644Justin M. Keyes2019-07-29
| | | | | | (This was originally a Neovim patch, but this commit merges some changes from the Vim patch.) https://github.com/vim/vim/commit/d7f246c68cfb97406bcd4b098a2df2d870b3ef92
* TextYankPost: spurious/too-early dispatch during delete #10392Jit2019-07-29
| | | | | | Problem: delete-with-register dispatches TextYankPost before updating yank registers Solution: Add flag to op_yank(). Fixes #10225
* API: ContextJustin M. Keyes2019-07-27
|
* PVS/V1019: "readability" warning #10566Ihor Antonov2019-07-22
|
* refactor: use int for Columns and RowsBjörn Linse2019-07-19
|
* PVS/V1028: cast operands, not the result #10505Ihor Antonov2019-07-16
|
* PVS/V108: cast operands, not the result #10501Ihor Antonov2019-07-16
|
* PVS/V1028: cast operands, not the result #10503Ihor Antonov2019-07-16
|
* PVS/V1028: cast operands, not the result #10502Ihor Antonov2019-07-16
|
* PVS/V1028: cast operands, not the result #10507Ihor Antonov2019-07-16
|
* PVS/V1028: cast operands, not the result #10508erw72019-07-14
| | | | fix #10508
* PVS/V1028: cast operands, not the result #10508Ihor Antonov2019-07-14
|