aboutsummaryrefslogtreecommitdiff
path: root/src
Commit message (Collapse)AuthorAge
...
* vim-patch:7.4.1731 Mark as NAMichael Ennen2016-12-12
| | | | Leave a note in vim_diff.txt about it.
* vim-patch:7.4.1875Michael Ennen2016-12-12
| | | | | | | | Problem: Comparing functions and partials doesn't work well. Solution: Add tests. (Nikolai Pavlov) Compare the dict and arguments in the partial. https://github.com/vim/vim/commit/8e759ba8651428995b338b66c615367259f79766
* vim-patch:7.4.1862 Mark as NAMichael Ennen2016-12-12
|
* vim-patch:7.4.1860Michael Ennen2016-12-12
| | | | | | | Problem: Using a partial for timer_start() may cause a crash. Solution: Set the copyID in timer objects. (Ozaki Kiichi) https://github.com/vim/vim/commit/e3188e261569ae512fb1ae2653b57fdd9e259ca3
* vim-patch:7.4.1842Michael Ennen2016-12-12
| | | | | | | Problem: get() works for Partial but not for Funcref. Solution: Accept Funcref. Also return the function itself. (Nikolai Pavlov) https://github.com/vim/vim/commit/03e19a04ac2ca55643663b97b6ab94043233dcbd
* vim-patch:7.4.1839Michael Ennen2016-12-12
| | | | | | | Problem: Cannot get the items stored in a partial. Solution: Support using get() on a partial. https://github.com/vim/vim/commit/2bbf8eff6fab16d86e7bcfc0da1962d31bec7891
* vim-patch:7.4.1836Michael Ennen2016-12-12
| | | | | | | | | Problem: When using a partial on a dictionary it always gets bound to that dictionary. Solution: Make a difference between binding a function to a dictionary explicitly or automatically. https://github.com/vim/vim/commit/1d429610bf9e99a6252be8abbc910d6667e4d1da
* vim-patch:7.4.1720 Mark as NAMichael Ennen2016-12-12
|
* vim-patch:7.4.1719Michael Ennen2016-12-12
| | | | | | | | | | Problem: Leaking memory when there is a cycle involving a job and a partial. Solution: Add a copyID to job and channel. Set references in items referred by them. Go through all jobs and channels to find unreferenced items. Also, decrement reference counts when garbage collecting. https://github.com/vim/vim/commit/107e1eef1df3b786ad3ad49fbdb9e058649303b5
* vim-patch:7.4.1718Michael Ennen2016-12-12
| | | | | | | Problem: Coverity: not using return value of set_ref_in_item(). Solution: Use the return value. https://github.com/vim/vim/commit/d56374e25df0b317b01423a01f158157faa647fa
* vim-patch:7.4.1715Michael Ennen2016-12-12
| | | | | | | | Problem: Double free when a partial is in a cycle with a list or dict. (Nikolai Pavlov) Solution: Do not free a nested list or dict used by the partial. https://github.com/vim/vim/commit/ddecc25947dbdd689d5bcaed32f298a08abdd497
* vim-patch:7.4.1645Michael Ennen2016-12-12
| | | | | | | | Problem: When a dict contains a partial it can't be redefined as a function. (Nikolai Pavlov) Solution: Remove the partial when overwriting with a function. https://github.com/vim/vim/commit/c5fbe8af4cd80789f831b78aa44ff0b238138769
* vim-patch:7.4.1644 Mark as NAMichael Ennen2016-12-12
|
* vim-patch:7.4.1639Michael Ennen2016-12-12
| | | | | | | Problem: Invoking garbage collection may cause a double free. Solution: Don't free the dict in a partial when recursive is FALSE. https://github.com/vim/vim/commit/5f436fcf9960c95702820d5ac1b8b612995f6c04
* vim-patch:7.4.1638Michael Ennen2016-12-12
| | | | | | | | Problem: When binding a function to a dict the reference count is wrong. Solution: Decrement dict reference count, only reference the function when actually making a copy. (Ken Takata) https://github.com/vim/vim/commit/e4eb6ff089e79e659acf33c17dd0fda7177de526
* vim-patch:7.4.1608Michael Ennen2016-12-12
| | | | | | | Problem: string() doesn't handle a partial. Solution: Make a string from a partial. https://github.com/vim/vim/commit/5c29154b521e9948190be653cfda666ecbb63b5b
* vim-patch:7.4.1607Michael Ennen2016-12-12
| | | | | | | | Problem: Comparing a function that exists on two dicts is not backwards compatible. (Thinca) Solution: Only compare the function, not what the partial adds. https://github.com/vim/vim/commit/f0e86a0dbddc18568910e9e4aaae0cd88ca8087a
* vim-patch:7.4.1606Michael Ennen2016-12-12
| | | | | | | | Problem: Having type() handle a Funcref that is or isn't a partial differently causes problems for existing scripts. Solution: Make type() return the same value. (Thinca) https://github.com/vim/vim/commit/953cc7fb139dc2ba8590f8b03a095b63f4e1208f
* vim-patch:7.4.1605Michael Ennen2016-12-12
| | | | | | | Problem: Catching exception that won't be thrown. Solution: Remove try/catch. https://github.com/vim/vim/commit/3905e291fe4375ca5c59efa9ffcb01a39c7be3a9
* vim-patch:7.4.1590Michael Ennen2016-12-12
| | | | | | | Problem: Warning for shadowed variable. (Christian Brabandt) Solution: Move the variable into a local block. https://github.com/vim/vim/commit/3f242a844e83a5a04943869f6e3bcbf8650dc465
* vim-patch:7.4.1589Michael Ennen2016-12-12
| | | | | | | Problem: Combining dict and args with partial doesn't always work. Solution: Use the arguments from the partial. https://github.com/vim/vim/commit/9e63f61cb01c70fd71652f54b2d01ee27b2a3534
* vim-patch:7.4.1586Michael Ennen2016-12-12
| | | | | | | Problem: Nesting partials doesn't work. Solution: Append arguments. (Ken Takata) https://github.com/vim/vim/commit/8a1bb046378f4bc68d6a04af2eab80fb3ce04da6
* vim-patch:7.4.1585Michael Ennen2016-12-12
| | | | | | | | Problem: Partial is not recognized everywhere. Solution: Check for partial in trans_function_name(). (Yasuhiro Matsumoto) Add a test. https://github.com/vim/vim/commit/d22a18928ebcb465393da1418bb88204b97badb1
* vim-patch:7.4.1582Michael Ennen2016-12-12
| | | | | | | | | Problem: Get E923 when using function(dict.func, [], dict). (Kent Sibilev) Storing a function with a dict in a variable drops the dict if the function is script-local. Solution: Translate the function name. Use dict arg if present. https://github.com/vim/vim/commit/6f2e4b36c9d9908e1cace2b1b96e2c154a837bc2
* vim-patch:7.4.1581Michael Ennen2016-12-12
| | | | | | | | | Problem: Using ":call dict.func()" where the function is a partial does not work. Using "dict.func()" where the function does not take a Dictionary does not work. Solution: Handle partial properly in ":call". (Yasuhiro Matsumoto) https://github.com/vim/vim/commit/65639032bb7b17996cd255d1508a1df4ad528a1f
* vim-patch:7.4.1580Michael Ennen2016-12-12
| | | | | | | Problem: Crash when using function reference. (Luchr) Solution: Set initial refcount. (Ken Takata) https://github.com/vim/vim/commit/7a5c46a9df7ef01a4f6a620861c35400d5ad28d9
* vim-patch:7.4.1577Michael Ennen2016-12-12
| | | | | | | Problem: Cannot pass "dict.Myfunc" around as a partial. Solution: Create a partial when expected. https://github.com/vim/vim/commit/ab1fa3955f25dfdb7e329c3bd76e175c93c8cb5e
* vim-patch:7.4.1564Michael Ennen2016-12-12
| | | | | | | Problem: An empty list in function() causes an error. Solution: Handle an empty list like there is no list of arguments. https://github.com/vim/vim/commit/346418c624f1bc7c04c98907134a2b284e6452dd
* vim-patch:7.4.1563Michael Ennen2016-12-12
| | | | | | | Problem: Partial test fails on windows. Solution: Return 1 or -1 from compare function. https://github.com/vim/vim/commit/790500a8e65bee295ef51a59dfa67ecbaab8ea17
* vim-patch:7.4.1559Michael Ennen2016-12-12
| | | | | | | Problem: Passing cookie to a callback is clumsy. Solution: Change function() to take arguments and return a partial. https://github.com/vim/vim/commit/1735bc988c546cc962c5f94792815b4d7cb79710
* Merge pull request #5756 from jamessan/viminfo-leakJames McCoy2016-12-12
|\ | | | | option.c: Update free_oldval after adjusting opt_idx for shada/viminfo
| * option.c: Update free_oldval after adjusting opt_idx for shada/viminfoJames McCoy2016-12-11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Previously, free_oldval was set immediately on entering did_set_string_option. However, opt_idx hadn't been adjusted to account for diverting 'viminfo' manipulation to 'shada'. Therefore, the code which determines whether to free the old value was looking at the flags for 'viminfo' while the code which sets whether a value was allocated was modifying the flags for 'shada'. This led to a leak of any values set for 'viminfo'. Updating free_oldval once opt_idx has been adjusted for the 'viminfo'/'shada' handling ensures the check/set values are consistent. Closes #5698
* | vim-patch:7.4.1867James McCoy2016-12-11
|/ | | | | | | Problem: Memory leak in test_matchstrpos. Solution: Free the string before overwriting. (Yegappan Lakshmanan) https://github.com/vim/vim/commit/3c809343c72d9964475f421fd03bb892bc584a51
* Merge #5752 from justinmk/docJustin M. Keyes2016-12-11
|\ | | | | doc: api_info(), typval_encode.h
| * doc: eval/typval_encode.hJustin M. Keyes2016-10-31
| | | | | | | | Annotate TYPVAL_ENCODE_DEFINE_CONV_FUNCTIONS to aid code navigation.
* | po: Remove E902 messageJustin M. Keyes2016-12-11
| |
* | test: jobstart()Justin M. Keyes2016-12-11
| |
* | jobstart(): Return -1 if cmd is not executable. #5671Aaron Williamson2016-12-10
| | | | | | | | Closes #5465
* | ex_docmd.c: Save/restore winminheight/winminwidth. #5717Rafael Bodill2016-12-10
| | | | | | | | | | | | | | | | | | | | | | | | Fix session load with winminheight/winminwidth >1. Problem: Vim temporarily sets winheight/winwidth to 1 while loading session. If user has his minimum window size set higher, this causes an error. Solution: Temporarily set winminheight/winminwidth, and restore the original values (in the right order) when finishing session read. The order of the compound 'set' command is important, if it is wrong there will be an error.
* | vim-patch:7.4.1909 (#5748)Shougo2016-12-10
| | | | | | | | | | | | Problem: Doubled semicolons. Solution: Reduce to one. (Dominique Pelle) https://github.com/vim/vim/commit/945ec093cd4ddefab930239990564b12eb232153
* | vim-patch:7.4.1897 (#5747)Shougo2016-12-10
| | | | | | | | | | | | Problem: Various typos, long lines and style mistakes. Solution: Fix the typos, wrap lines, improve style. https://github.com/vim/vim/commit/fd89d7ea81b18d32363456b16258174dc9e095dc
* | out_data_decide_throttle(): timeout instead of hard limit.Justin M. Keyes2016-12-10
| | | | | | | | | | | | | | Instead of managing max_visits, check the time every N visits. This avoids edge cases where max_visits is large but the chunk frequency slowed down, which would causing the "..." pulse to show for a very long time. It's more important to show output at reasonable intervals than to avoid calling os_hrtime().
* | out_data_decide_throttle(): Avoid too-small final chunk.Justin M. Keyes2016-12-10
| |
* | os/shell: do_os_system(): Always show last chunk.Justin M. Keyes2016-12-10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This ameliorates use-cases like: :!cat foo.txt :make where the user is interested in the last few lines of output. Try these shell-based ex-commands before/after this commit: :grep -r '' * :make :!yes :!grep -r '' * :!git grep '' :!cat foo :!echo foo :!while true; do date; done :!for i in `seq 1 20000`; do echo XXXXXXXXXX $i; done In all cases the last few lines of the command should always be shown, regardless of where throttling was triggered.
* | os/shell: Throttle :! output, pulse "..." message.Justin M. Keyes2016-12-09
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Periodically skip :! spam. This is a "cheat" that works for all UIs and greatly improves responsiveness when :! spams MB or GB of output: :!yes :!while true; do date; done :!git grep '' :grep -r '' * After ~10KB of data is seen from a single :! invocation, output will be skipped for ~1s and three dots "..." will pulse in the bottom-left. Thereafter the behavior alternates at every: * 10KB received * ~1s throttled This also avoids out-of-memory which could happen with large :! outputs. Note: This commit does not change the behavior of execute(':!foo'). execute(':!foo') returns the string ':!foo^M', it captures *only* Vim messages, *not* shell command output. Vim behaves the same way. Use system('foo') for capturing shell command output. Closes #1234 Helped-by: oni-link <knil.ino@gmail.com>
* | tui: "backpressure": Drop messages to avoid flooding.Justin M. Keyes2016-12-09
| | | | | | | | | | | | | | | | | | Closes #1234 multiqueue: - Implement multiqueue_size() - Rename MultiQueueItem.parent to MultiQueueItem.parent_item, to avoid confusion with MultiQueue.parent.
* | vim-patch:7.4.1758, 7.4.1759, 7.4.1692 #5640Shougo Matsushita2016-12-09
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | vim-patch:7.4.1758 Problem: Triggering CursorHoldI when in CTRL-X mode causes problems. Solution: Do not trigger CursorHoldI in CTRL-X mode. Add "!" flag to feedkeys() (test with that didn't work though). https://github.com/vim/vim/commit/245c41070c7f37d52be43cce0cb140bd3ade6c7e vim-patch:7.4.1759 Problem: When using feedkeys() in a timer the inserted characters are not used right away. Solution: Break the wait loop when characters have been added to typebuf. use this for testing CursorHoldI. https://github.com/vim/vim/commit/40b1b5443c88fab77f1f7c6f9e801f7ffdb7e0a8 vim-patch:7.4.1692 Problem: feedkeys('i', 'x') gets stuck, waits for a character to be typed. Solution: Behave like ":normal". (Yasuhiro Matsumoto)
* | Merge pull request #5736 from jamessan/vim-7.4.1754James McCoy2016-12-09
|\ \ | | | | | | vim-patch:7.4.1754
| * | lintJames McCoy2016-12-08
| | |
| * | vim-patch:7.4.1754James McCoy2016-12-08
| | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: When 'filetype' was set and reloading a buffer which does not cause it to be set, the syntax isn't loaded. (KillTheMule) Solution: Remember whether the FileType event was fired and fire it if not. (Anton Lindqvist, closes vim/vim#747) https://github.com/vim/vim/commit/c3691332f72169c486066200c0f3935418364900