| Commit message (Collapse) | Author | Age |
|\
| |
| | |
vim-patch: Add -g switch to download/preprocess patch
|
|/ |
|
|\
| |
| | |
Port partial patches from vim
|
| | |
|
| | |
|
| | |
|
| |
| |
| |
| | |
Leave a note in vim_diff.txt about it.
|
| |
| |
| |
| |
| |
| |
| |
| | |
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
|
| | |
|
| |
| |
| |
| |
| |
| |
| | |
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
|
| |
| |
| |
| |
| |
| |
| | |
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
|
| |
| |
| |
| |
| |
| |
| | |
Problem: Cannot get the items stored in a partial.
Solution: Support using get() on a partial.
https://github.com/vim/vim/commit/2bbf8eff6fab16d86e7bcfc0da1962d31bec7891
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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
|
| |
| |
| |
| |
| |
| |
| | |
Problem: Coverity: not using return value of set_ref_in_item().
Solution: Use the return value.
https://github.com/vim/vim/commit/d56374e25df0b317b01423a01f158157faa647fa
|
| |
| |
| |
| |
| |
| |
| |
| | |
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
|
| |
| |
| |
| |
| |
| |
| |
| | |
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
|
| | |
|
| |
| |
| |
| |
| |
| |
| | |
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
|
| |
| |
| |
| |
| |
| |
| |
| | |
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
|
| |
| |
| |
| |
| |
| |
| | |
Problem: string() doesn't handle a partial.
Solution: Make a string from a partial.
https://github.com/vim/vim/commit/5c29154b521e9948190be653cfda666ecbb63b5b
|
| |
| |
| |
| |
| |
| |
| |
| | |
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
|
| |
| |
| |
| |
| |
| |
| |
| | |
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
|
| |
| |
| |
| |
| |
| |
| | |
Problem: Catching exception that won't be thrown.
Solution: Remove try/catch.
https://github.com/vim/vim/commit/3905e291fe4375ca5c59efa9ffcb01a39c7be3a9
|
| |
| |
| |
| |
| |
| |
| | |
Problem: Warning for shadowed variable. (Christian Brabandt)
Solution: Move the variable into a local block.
https://github.com/vim/vim/commit/3f242a844e83a5a04943869f6e3bcbf8650dc465
|
| |
| |
| |
| |
| |
| |
| | |
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
|
| |
| |
| |
| |
| |
| |
| | |
Problem: Nesting partials doesn't work.
Solution: Append arguments. (Ken Takata)
https://github.com/vim/vim/commit/8a1bb046378f4bc68d6a04af2eab80fb3ce04da6
|
| |
| |
| |
| |
| |
| |
| |
| | |
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
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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
|
| |
| |
| |
| |
| |
| |
| | |
Problem: Crash when using function reference. (Luchr)
Solution: Set initial refcount. (Ken Takata)
https://github.com/vim/vim/commit/7a5c46a9df7ef01a4f6a620861c35400d5ad28d9
|
| |
| |
| |
| |
| |
| |
| | |
Problem: Cannot pass "dict.Myfunc" around as a partial.
Solution: Create a partial when expected.
https://github.com/vim/vim/commit/ab1fa3955f25dfdb7e329c3bd76e175c93c8cb5e
|
| |
| |
| |
| |
| |
| |
| | |
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
|
| |
| |
| |
| |
| |
| |
| | |
Problem: Partial test fails on windows.
Solution: Return 1 or -1 from compare function.
https://github.com/vim/vim/commit/790500a8e65bee295ef51a59dfa67ecbaab8ea17
|
|/
|
|
|
|
|
| |
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
|
|\
| |
| | |
option.c: Update free_oldval after adjusting opt_idx for shada/viminfo
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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.1867
|
|/
|
|
|
|
|
| |
Problem: Memory leak in test_matchstrpos.
Solution: Free the string before overwriting. (Yegappan Lakshmanan)
https://github.com/vim/vim/commit/3c809343c72d9964475f421fd03bb892bc584a51
|
|\
| |
| | |
doc: api_info(), typval_encode.h
|
| | |
|
| |
| |
| |
| | |
Annotate TYPVAL_ENCODE_DEFINE_CONV_FUNCTIONS to aid code navigation.
|
|\ \
| | |
| | | |
jobstart(): Return -1 if cmd is non-executable
|
| | | |
|
| | | |
|
| | |
| | |
| | |
| | | |
Closes #5465
|
| | | |
|
|/ /
| |
| |
| | |
Closes #5751
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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.
|