summaryrefslogtreecommitdiff
path: root/src/buffer.c
Commit message (Collapse)AuthorAgeFilesLines
* patch 8.2.0853: ml_delete() often called with FALSE argumentv8.2.0853Bram Moolenaar2020-05-301-2/+2
| | | | | Problem: ml_delete() often called with FALSE argument. Solution: Use ml_delete_flags(x, ML_DEL_MESSAGE) when argument is TRUE.
* patch 8.2.0523: loops are repeatedv8.2.0523Bram Moolenaar2020-04-061-3/+6
| | | | | Problem: Loops are repeated. Solution: Use FOR_ALL_ macros. (Yegappan Lakshmanan, closes #5882)
* patch 8.2.0500: using the same loop in many placesv8.2.0500Bram Moolenaar2020-04-021-4/+4
| | | | | Problem: Using the same loop in many places. Solution: Define more FOR_ALL macros. (Yegappan Lakshmanan, closes #5339)
* patch 8.2.0464: typos and other small problemsv8.2.0464Bram Moolenaar2020-03-271-0/+3
| | | | | Problem: Typos and other small problems. Solution: Fix the typos. Add missing files to the distribution.
* patch 8.2.0371: crash with combination of terminal popup and autocmdv8.2.0371Bram Moolenaar2020-03-111-0/+8
| | | | | | Problem: Crash with combination of terminal popup and autocmd. Solution: Disallow closing a popup that is the current window. Add a check that the current buffer is valid. (closes #5754)
* patch 8.2.0235: draw error when an empty group is removed from 'statusline'v8.2.0235Bram Moolenaar2020-02-081-0/+4
| | | | | Problem: Draw error when an empty group is removed from 'statusline'. Solution: Do not use highlighting from a removed group.
* patch 8.2.0156: various typos in source files and testsv8.2.0156Bram Moolenaar2020-01-261-1/+2
| | | | | Problem: Various typos in source files and tests. Solution: Fix the typos. (Emir Sari, closes #5532)
* patch 8.2.0098: exe stack length can be wrong without being detectedv8.2.0098Bram Moolenaar2020-01-071-0/+3
| | | | | Problem: Exe stack length can be wrong without being detected. Solution: Add a check when ABORT_ON_INTERNAL_ERROR is defined.
* patch 8.2.0082: when reusing a buffer listeners are not clearedv8.2.0082Bram Moolenaar2020-01-031-0/+1
| | | | | Problem: When reusing a buffer listeners are not cleared. (Axel Forsman) Solution: Clear listeners when reusing a buffer. (closes #5431)
* patch 8.2.0064: diffmode completion doesn't use per-window settingv8.2.0064Bram Moolenaar2019-12-301-2/+6
| | | | | Problem: Diffmode completion doesn't use per-window setting. Solution: Check if a window is in diff mode. (Dominique Pell, closes #5419)
* patch 8.2.0056: execution stack is incomplete and inefficientv8.2.0056Bram Moolenaar2019-12-291-10/+4
| | | | | | Problem: Execution stack is incomplete and inefficient. Solution: Introduce a proper execution stack and use it instead of sourcing_name/sourcing_lnum. Create a string only when used.
* patch 8.2.0054: :diffget and :diffput don't have good completionv8.2.0054Bram Moolenaar2019-12-291-0/+9
| | | | | Problem: :diffget and :diffput don't have good completion. Solution: Add proper completion. (Dominique Pelle, closes #5409)
* patch 8.2.0035: saving and restoring called_emsg is clumsyv8.2.0035Bram Moolenaar2019-12-231-8/+4
| | | | | Problem: Saving and restoring called_emsg is clumsy. Solution: Count the number of error messages.
* patch 8.2.0004: get E685 and E931 if buffer reload is interruptedv8.2.0004Bram Moolenaar2019-12-141-16/+26
| | | | | Problem: Get E685 and E931 if buffer reload is interrupted. Solution: Do not abort deleting a dummy buffer. (closes #5361)
* patch 8.1.2418: bufnr('$') is wrong after recycling popup bufferv8.1.2418Bram Moolenaar2019-12-101-0/+19
| | | | | Problem: bufnr('$') is wrong after recycling popup buffer. Solution: Sort the buffer list by buffer number. (closes #5335)
* patch 8.1.2371: FEAT_TEXT_PROP is a confusing namev8.1.2371Bram Moolenaar2019-11-301-2/+2
| | | | | Problem: FEAT_TEXT_PROP is a confusing name. Solution: Use FEAT_PROP_POPUP. (Naruhiko Nishino, closes #5291)
* patch 8.1.2368: using old C style commentsv8.1.2368Bram Moolenaar2019-11-301-458/+457
| | | | | Problem: Using old C style comments. Solution: Use // comments where appropriate.
* patch 8.1.2363: ml_get error when accessing Visual area in 'statusline'v8.1.2363Bram Moolenaar2019-11-301-0/+6
| | | | | Problem: ml_get error when accessing Visual area in 'statusline'. Solution: Disable Visual mode when using another window. (closes #5278)
* patch 8.1.2313: debugging where a delay comes from is not easyv8.1.2313Bram Moolenaar2019-11-171-1/+1
| | | | | Problem: Debugging where a delay comes from is not easy. Solution: Use different values when calling ui_delay().
* patch 8.1.2267: compiler warning for uninitialized variablev8.1.2267Bram Moolenaar2019-11-061-3/+4
| | | | | Problem: Compiler warning for uninitialized variable. (Tony Mechelynck) Solution: Rearrange the code.
* patch 8.1.2243: typos in commentsv8.1.2243Bram Moolenaar2019-11-021-1/+1
| | | | | | Problem: Typos in comments. Solution: Fix the typos. (Dominique Pelle, closes #5160) Also adjust formatting a bit.
* patch 8.1.2225: the "last used" info of a buffer is under usedv8.1.2225Bram Moolenaar2019-10-271-4/+84
| | | | | | 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 #4722)
* patch 8.1.2107: various memory leaks reported by asanv8.1.2107Bram Moolenaar2019-10-011-0/+2
| | | | | Problem: Various memory leaks reported by asan. Solution: Free the memory. (Ozaki Kiichi, closes #5003)
* patch 8.1.2096: too many #ifdefsv8.1.2096Bram Moolenaar2019-09-281-2/+0
| | | | | Problem: Too many #ifdefs. Solution: Graduate FEAT_COMMENTS.
* patch 8.1.2073: when editing a buffer 'colorcolumn' may not workv8.1.2073Bram Moolenaar2019-09-251-11/+9
| | | | | | Problem: When editing a buffer 'colorcolumn' may not work. Solution: Set the buffer before copying option values. Call check_colorcolumn() after copying window options.
* patch 8.1.2001: some source files are too bigv8.1.2001Bram Moolenaar2019-09-071-105/+0
| | | | | | Problem: Some source files are too big. Solution: Move buffer and window related functions to evalbuffer.c and evalwindow.c. (Yegappan Lakshmanan, closes #4898)
* patch 8.1.1971: manually enabling features causes build errorsv8.1.1971Bram Moolenaar2019-09-031-26/+18
| | | | | Problem: Manually enabling features causes build errors. (John Marriott) Solution: Adjust #ifdefs.
* patch 8.1.1908: every popup window consumes a buffer numberv8.1.1908Bram Moolenaar2019-08-211-10/+43
| | | | | | Problem: Every popup window consumes a buffer number. Solution: Recycle buffers only used for popup windows. Do not list popup window buffers.
* patch 8.1.1901: the +insert_expand feature is not always availablev8.1.1901Bram Moolenaar2019-08-211-6/+0
| | | | | Problem: The +insert_expand feature is not always available. Solution: Graduate the +insert_expand feature.
* patch 8.1.1895: using NULL pointer when out of memoryv8.1.1895Bram Moolenaar2019-08-201-1/+6
| | | | | | Problem: Using NULL pointer when out of memory. Solution: Bail out or skip the code using the pointer. (Zu-Ming Jiang, closes #4805, closes #4843, closes #4939, closes #4844)
* patch 8.1.1891: functions used in one file are globalv8.1.1891Bram Moolenaar2019-08-201-3/+9
| | | | | Problem: Functions used in one file are global. Solution: Add "static". (Yegappan Lakshmanan, closes #4840)
* patch 8.1.1887: the +cmdline_compl feature is not in the tiny versionv8.1.1887Bram Moolenaar2019-08-181-4/+0
| | | | | Problem: The +cmdline_compl feature is not in the tiny version. Solution: Graduate the +cmdline_compl feature.
* patch 8.1.1869: code for the argument list is spread outv8.1.1869Bram Moolenaar2019-08-171-301/+0
| | | | | | Problem: Code for the argument list is spread out. Solution: Put argument list code in arglist.c. (Yegappan Lakshmanan, closes #4819)
* patch 8.1.1785: map functionality mixed with character inputv8.1.1785Bram Moolenaar2019-08-011-2/+0
| | | | | | Problem: Map functionality mixed with character input. Solution: Move the map functionality to a separate file. (Yegappan Lakshmanan, closes #4740) Graduate the +localmap feature.
* patch 8.1.1756: autocommand that splits window messes up window layoutv8.1.1756Bram Moolenaar2019-07-271-0/+7
| | | | | | Problem: Autocommand that splits window messes up window layout. Solution: Disallow splitting a window while closing one. In ":all" give an error when moving a window will not work.
* patch 8.1.1727: code for viminfo support is spread outv8.1.1727Bram Moolenaar2019-07-211-109/+3
| | | | | Problem: Code for viminfo support is spread out. Solution: Move to code to viminfo.c. (Yegappan Lakshmanan, closes #4686)
* patch 8.1.1612: cannot show an existing buffer in a popup windowv8.1.1612Bram Moolenaar2019-06-301-0/+17
| | | | | Problem: Cannot show an existing buffer in a popup window. Solution: Support buffer number argument in popup_create().
* patch 8.1.1575: callbacks may be garbage collectedv8.1.1575Bram Moolenaar2019-06-201-0/+45
| | | | | Problem: Callbacks may be garbage collected. Solution: Set reference in callbacks. (Ozaki Kiichi, closes #4564)
* patch 8.1.1547: functionality of bt_nofile() is confusingv8.1.1547Bram Moolenaar2019-06-151-2/+11
| | | | | Problem: Functionality of bt_nofile() is confusing. Solution: Split into bt_nofile() and bt_nofilename().
* patch 8.1.1498: ":write" increments b:changedtick even though nothing changedv8.1.1498Bram Moolenaar2019-06-081-4/+6
| | | | | | Problem: ":write" increments b:changedtick even though nothing changed. (Daniel Hahler) Solution: Only increment b:changedtick if the modified flag is reset.
* patch 8.1.1437: code to handle callbacks is duplicatedv8.1.1437Bram Moolenaar2019-06-011-1/+1
| | | | | Problem: Code to handle callbacks is duplicated. Solution: Add callback_T and functions to deal with it.
* patch 8.1.1431: popup window listed as "Scratch"v8.1.1431Bram Moolenaar2019-05-301-0/+4
| | | | | Problem: Popup window listed as "Scratch". Solution: List them as "Popup".
* patch 8.1.1414: alloc() returning "char_u *" causes a lot of type castsv8.1.1414Bram Moolenaar2019-05-281-5/+5
| | | | | | Problem: Alloc() returning "char_u *" causes a lot of type casts. Solution: Have it return "void *". (Mike Williams) Define ALLOC_ONE() to check the simple allocations.
* patch 8.1.1391: no popup window supportv8.1.1391Bram Moolenaar2019-05-251-2/+12
| | | | | Problem: No popup window support. Solution: Add initial code for popup windows. Add the 'wincolor' option.
* patch 8.1.1386: unessesary type casts for lalloc()v8.1.1386Bram Moolenaar2019-05-241-4/+4
| | | | | Problem: Unessesary type casts for lalloc(). Solution: Remove type casts. Change lalloc(size, TRUE) to alloc(size).
* patch 8.1.1384: using "int" for alloc() often results in compiler warningsv8.1.1384Bram Moolenaar2019-05-241-2/+2
| | | | | | Problem: Using "int" for alloc() often results in compiler warnings. Solution: Use "size_t" and remove type casts. Remove alloc_check(), Vim only works with 32 bit ints anyway.
* patch 8.1.1372: when evaluating 'statusline' the current window is unknownv8.1.1372Bram Moolenaar2019-05-231-14/+27
| | | | | | | 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 #4406, closes #3299)
* patch 8.1.1371: cannot recover from a swap filev8.1.1371Bram Moolenaar2019-05-231-2/+2
| | | | | | | 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 #4369)
* patch 8.1.1334: when buffer is hidden "F" in 'shortmess' is not usedv8.1.1334Bram Moolenaar2019-05-161-3/+6
| | | | | | | 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.
* patch 8.1.1231: asking about existing swap file unnecessarilyv8.1.1231Bram Moolenaar2019-04-281-34/+22
| | | | | | Problem: Asking about existing swap file unnecessarily. Solution: When it is safe, delete the swap file. Remove HAS_SWAP_EXISTS_ACTION, it is always defined. (closes #1237)