aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/buffer.c
Commit message (Collapse)AuthorAge
...
* vim-patch:8.2.0953: spell checking doesn't work for CamelCased wordsThomas Vigouroux2020-09-24
| | | | | | | Problem: Spell checking doesn't work for CamelCased words. Solution: Add the "camel" value in the new option 'spelloptions'. (closes vim/vim#1235) https://github.com/vim/vim/commit/362b44bd4aa87a2aef0f8fd5a28d68dd09a7d909
* vim-patch:8.1.2267: compiler warning for uninitialized variableJan Edmund Lazo2020-08-18
| | | | | | Problem: Compiler warning for uninitialized variable. (Tony Mechelynck) Solution: Rearrange the code. https://github.com/vim/vim/commit/3b991527e8167f25ad1dfe780b9633c153600955
* vim-patch:8.2.1259: empty group in 'tabline' may cause using an invalid pointerJan Edmund Lazo2020-08-02
| | | | | | Problem: Empty group in 'tabline' may cause using an invalid pointer. Solution: Set the group start position. (closes vim/vim#6505) https://github.com/vim/vim/commit/f56c95fdad5af521887f8cd7bc15729b5355231d
* vim-patch:8.1.1372: when evaluating 'statusline' the current window is unknownJan Edmund Lazo2020-07-04
| | | | | | | | Problem: When evaluating 'statusline' the current window is unknown. (Daniel Hahler) Solution: Set "g:actual_curwin" for %{} items. Set "g:statusline_winid" when evaluationg %!. (closes vim/vim#4406, closes vim/vim#3299) https://github.com/vim/vim/commit/1c6fd1e100fd0457375642ec50d483bcc0f61bb2
* vim-patch:8.2.0966: 'shortmess' flag "n" not used in two placesJan Edmund Lazo2020-06-18
| | | | | | | Problem: 'shortmess' flag "n" not used in two places. Solution: Make use of the "n" flag consistent. (Nick Jensen, closes vim/vim#6245, closes vim/vim#6244) https://github.com/vim/vim/commit/722e505d1a55dfde5ab62241d10da91d2e10c3c1
* vim-patch:8.1.1895: using NULL pointer when out of memoryJan Edmund Lazo2020-06-04
| | | | | | | Problem: Using NULL pointer when out of memory. Solution: Bail out or skip the code using the pointer. (Zu-Ming Jiang, closes vim/vim#4805, closes vim/vim#4843, closes vim/vim#4939, closes vim/vim#4844) https://github.com/vim/vim/commit/6f10c70b59fa4e56aa479345fb0caeaac7429bfb
* vim-patch:8.1.2225: the "last used" info of a buffer is under usedRob Pilling2020-04-21
| | | | | | | Problem: The "last used" info of a buffer is under used. Solution: Add "lastused" to getbufinfo(). List buffers sorted by last-used field. (Andi Massimino, closes vim/vim#4722) https://github.com/vim/vim/commit/52410575be50d5c40bbe6380159df48cfc382ceb
* vim-patch:8.0.1651: cannot filter :ls output for terminal buffersRob Pilling2020-04-19
| | | | | | Problem: Cannot filter :ls output for terminal buffers. Solution: Add flags for terminal buffers. (Marcin Szamotulski, closes vim/vim#2751) https://github.com/vim/vim/commit/0751f51a5b428805a8c1e9fe529693d032bec991
* vim-patch:7.4.1988Rob Pilling2020-04-19
| | | | | | | | | | | Problem: When updating viminfo with file marks there is no time order. Solution: Remember the time when a buffer was last used, store marks for the most recently used buffers. https://github.com/vim/vim/commit/ab9c89b68dcbdb3fbda8c5a50dd90caca64f1bfd As this is a viminfo fix, most of this is irrelevant - the patch has just been brought across for the creation and updating of buffer's `b_last_used` properties.
* vim-patch:8.2.0464: typos and other small problemsJan Edmund Lazo2020-04-13
| | | | | | Problem: Typos and other small problems. Solution: Fix the typos. Add missing file to distribution. https://github.com/vim/vim/commit/2d9d409ad4fab1ae7ceaecc0ef0e9b511d868374
* vim-patch:8.1.0786: ml_get error when updating the status lineJan Edmund Lazo2020-02-16
| | | | | | | | Problem: ml_get error when updating the status line and a terminal had its scrollback cleared. (Chris Patuzzo) Solution: Check the cursor position when drawing the status line. (closes vim/vim#3830) https://github.com/vim/vim/commit/10772307c4e5299ed45470f92779f089a00d841e
* vim-patch:8.1.0069: cannot handle pressing CTRL-C in a prompt buffererw72020-02-12
| | | | | | Problem: Cannot handle pressing CTRL-C in a prompt buffer. Solution: Add prompt_setinterrupt(). https://github.com/vim/vim/commit/0e5979a6d491f68c4a8c86fab489016919329a6b
* vim-patch:8.1.0036: not restoring Insert mode if leaving prompt buffer with ↵erw72020-02-12
| | | | | | | | | | mouse Problem: Not restoring Insert mode if leaving a prompt buffer by using a mouse click. Solution: Set b_prompt_insert appropriately. Also correct cursor position when moving cursor to last line. https://github.com/vim/vim/commit/891e1fd894720d0b99a9daefa41e8181844f819a
* 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
* vim-patch:8.2.0235: draw error when an empty group is removed from 'statusline'Björn Linse2020-02-09
| | | | | | Problem: Draw error when an empty group is removed from 'statusline'. Solution: Do not use highlighting from a removed group. https://github.com/vim/vim/commit/dbe5d361feb65137099644329cf0ecfd4a945a14
* vim-patch:8.1.0061: fix resetting, setting 'title' #11733Billy SU2020-01-21
| | | | | Problem: Window title is wrong after resetting and setting 'title'. Solution: Move resetting the title into maketitle(). (Jason Franklin) https://github.com/vim/vim/commit/84a9308511871d9ff94c91a1c6badb92300ded98
* shed biking: it's always extmarks, never marks extendedBjörn Linse2020-01-20
|
* 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.1.2363: ml_get error when accessing Visual area in 'statusline'Jan Edmund Lazo2019-11-30
| | | | | | Problem: ml_get error when accessing Visual area in 'statusline'. Solution: Disable Visual mode when using another window. (closes vim/vim#5278) https://github.com/vim/vim/commit/dee50a518007b3a59f54b8ad018b6a83993593e7
* Improve terminal close error message formatting (#11434)Ashkan Kiani2019-11-24
|\
| * Fix terminal close error message formattingChuck2019-11-21
| |
* | vim-patch:8.1.0461: quickfix: change comment style #11453Jan Edmund Lazo2019-11-24
| | | | | | | | | | Problem: Quickfix code uses too many /* */ comments. Solution: Change to // comments. (Yegappan Lakshmanan) https://github.com/vim/vim/commit/00bf8cd2115be7c14258aee48c0a7568147c9cd7
* | vim-patch:8.1.1334: respect shortmess=F when buffer is hidden #11443Jan Edmund Lazo2019-11-23
| | | | | | | | | | | | | | | | | | | | Problem: When buffer is hidden "F" in 'shortmess' is not used. Solution: Check the "F" flag in 'shortmess' when the buffer is already loaded. (Jason Franklin) Add test_getvalue() to be able to test this. https://github.com/vim/vim/commit/eda652215abf696f86b872888945a2d2dd8c7192 test_getvalue() is not implemented. It is only used for checking "need_fileinfo" internal variable.
* | bufhl: use extmark column adjustment for bufhlBjörn Linse2019-11-23
|/ | | | | | | | NB: this is not the final implementation. Bufhl should be made a part of the extmark tree, so that "start" adjustment just works automatically. But "stop" will still need some ad-hoc trickery, until extended marks natively support ranges (hopefully sooner than forever).
* nsmarks: initial committimeyyy2019-11-11
|
* vim-patch:8.1.1228: not possible to process tags with a functionRob Pilling2019-10-22
| | | | | | Problem: Not possible to process tags with a function. Solution: Add tagfunc() (Christian Brabandt, Andy Massimino, closes vim/vim#4010) https://github.com/vim/vim/commit/45e18cbdc40afd8144d20dcc07ad2d981636f4c9
* vim-patch:8.1.1371: cannot recover from a swap file #11081Jurica Bradarić2019-10-05
| | | | | | | Problem: Cannot recover from a swap file. Solution: Do not expand environment variables in the swap file name. Do not check the extension when we already know a file is a swap file. (Ken Takata, closes 4415, closes vim/vim#4369) https://github.com/vim/vim/commit/99499b1c05f85f83876b828eea3f6e14f0f407b4
* vim-patch:8.1.0230: directly checking 'buftype' valueJan Edmund Lazo2019-10-01
| | | | | | Problem: Directly checking 'buftype' value. Solution: Add the bt_normal() function. (Yegappan Lakshmanan) https://github.com/vim/vim/commit/91335e5a67aaa9937e65f1e779b9f3f10fd33ee4
* lintJustin M. Keyes2019-09-13
|
* 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
* rename: getdigits_safe => try_getdigitsJustin M. Keyes2019-09-13
|
* Merge #10869 'vim-patch:8.1.{0309,0362,0365,0515,1946}'Justin M. Keyes2019-09-05
|\
| * vim-patch:8.1.0515: reloading a script gives errors for existing functionserw72019-09-04
| | | | | | | | | | | | Problem: Reloading a script gives errors for existing functions. Solution: Allow redefining a function once when reloading a script. https://github.com/vim/vim/commit/ded5f1bed7ff2d138b3ee0f9610d17290b62692d
| * vim-patch:8.1.0362: cannot get the script line number when executing a functionerw72019-09-04
| | | | | | | | | | | | | | Problem: Cannot get the script line number when executing a function. Solution: Store the line number besides the script ID. (Ozaki Kiichi, closes vim/vim#3362) Also display the line number with ":verbose set". https://github.com/vim/vim/commit/f29c1c6aa3f365c025890fab5fb9efbe88eb1761
* | vim-patch:8.1.1498: ":write" increments b:changedtick even though nothing ↵Justin M. Keyes2019-09-04
|/ | | | | | | | | changed Problem: ":write" increments b:changedtick even though nothing changed. (Daniel Hahler) Solution: Only increment b:changedtick if the modified flag is reset. https://github.com/vim/vim/commit/c024b4667875e5bc6fd0ed791530e33c3161bff7
* screen: use dedicated message gridBjörn Linse2019-09-01
| | | | | | | | add proper msg_set_pos event, delet win_scroll_over_* make compositor click through unfocusable grids add MsgArea attribute for the message/cmdline area, and add docs and tests
* batch draw :lsBjörn Linse2019-09-01
|
* free_buffer: rework b:changedtick handling #9163Justin M. Keyes2019-08-12
| | | | | | | | | | | | | | | | | | | | - Re-enable Test_BufLeave_Wipe. 66f5e5c7d7ce This is my (probably-wrong) application of Zyx's suggestion in #9163: > free_buffer_stuff() already removes changedtick. It is better to > make `free_options` a flag variable and avoid calling > buf_init_changedtick() based on some flag there: current workflow > looks weird as it first removes `b:changedtick`, then re-adds it > by calling buf_init_changedtick(), then remove again. > Also based on my understanding it looks logical to not remove > `b:changedtick`, but to *replace* it with something allocated if > needed based on examining reference count before calling > `unref_var_dict`. Because now you have key disappearing from > dictionary for no good reason. Patch-By: Nikolai Aleksandrovich Pavlov <kp-pav@yandex.ru>
* vim-patch:8.0.1193: crash when wiping buffer after getbufinfo()Justin M. Keyes2019-08-12
| | | | | | | | Problem: Crash when wiping out a buffer after using getbufinfo(). (Yegappan Lakshmanan) Solution: Remove b:changedtick from the buffer variables. (Note: The test changes in vim-patch:8.0.1193 were already included.)
* includesDaniel Hahler2019-08-07
|
* buffer: add attributes to pure functionsJan Edmund Lazo2019-07-28
|
* Merge #10368 from janlazo/vim-8.0.1164Justin M. Keyes2019-07-19
|\ | | | | vim-patch:8.0.{755,1146,1164}
| * vim-patch:8.0.1164: changing StatusLine highlight does not always workJan Edmund Lazo2019-07-06
| | | | | | | | | | | | | | | | Problem: Changing StatusLine highlight while evaluating 'statusline' may not change the status line color. Solution: When changing highlighting while redrawing don't cause another redraw. (suggested by Ozaki Kiichi, closes vim/vim#2171, closes vim/vim#2120) https://github.com/vim/vim/commit/65ed136844fbaffdd473903ed841c944600234dc
* | api/window: add style="minimal" flag to nvim_open_win()Björn Linse2019-07-07
|/
* :ls : show "R", "F" for terminal-jobs #10370Justin M. Keyes2019-06-29
| | | | | | | | | | | This matches Vim behavior. From `:help :ls` : R a terminal buffer with a running job F a terminal buffer with a finished job ? a terminal buffer without a job: `:terminal NONE` TODO: implement `:terminal NONE`. ref #10349
* vim-patch:8.0.1013: terminal window behaves different from a buffer with changesJan Edmund Lazo2019-06-26
| | | | | | | | Problem: A terminal window with a running job behaves different from a window containing a changed buffer. Solution: Do not set 'bufhidden' to "hide". Fix that a buffer where a terminal used to run is listed as "[Scratch]". https://github.com/vim/vim/commit/e561a7e2fa511d643c9692d26f4cf65378fd1983
* vim-patch:8.0.0935: cannot recognize a terminal buffer in :ls outputJan Edmund Lazo2019-06-26
| | | | | | Problem: Cannot recognize a terminal buffer in :ls output. Solution: Use R for a running job and F for a finished job. https://github.com/vim/vim/commit/304b64c9e6957fa3f552e0540ca786139b39a1c4
* vim-patch:8.0.0953: get "no write since last change" error in terminal windowJan Edmund Lazo2019-06-13
| | | | | | | Problem: Get "no write since last change" error in terminal window. Solution: Use another message when closing a terminal window. Make ":quit!" also end the job. https://github.com/vim/vim/commit/f5be7cd01642fafc4b7d68894eb60cca60c7a405
* api: allow nvim_buf_attach from lua using callbacksBjörn Linse2019-06-04
|
* signs: fix crash in buf_addsign #10091Andrej Zieger2019-06-01
| | | | | | | | | | buf_signcols sorting breaks signlist structure. Remove sorting in buf_signcols, because signlist is already kept sorted and it did not correctly update the double linked list. Fixes #10078