| Commit message (Collapse) | Author | Age |
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Reasonings:
1. It is not used for anything, but scope dictionaries currenly. So there is no
need to generalize and split it into dict_set_var (which will contain some
scope-dictionary-specific checks) and dict_set_value (which will work for any
dictionary).
2. Check for key size is no longer valid for non-scope dictionaries: you *can*
use empty keys there. In scope dictionaries also, but you actually are not
supposed to store there anything, but variables.
Note that actually one may still do
let b:[''] = 1
and “bypass” check for variable name. It won’t change what `echo b:` will show,
but it may affect code which iterates over scope dictionary keys and sets them
to something (if there is such code).
|
|
|
| |
Was replaced by the previous patch. Also fixes legacy test 055.
|
|
|
| |
Port of vim-patch:8.0.0343
|
|
|
| |
Port of vim-patch:8.0.0345
|
| |
|
|
|
|
|
| |
- They are no longer responble for using gettext.
- They now receive string length and use %.* format specifier in messages.
- And one less global: one of the error messages is never repeated.
|
|
|
| |
Ref vim/vim#1497
|
|
|
| |
If I am not mistaking, this commit should not change any functionality.
|
|
|
| |
It still may be unlocked by `:unlock b:.var`.
|
| |
|
|\ |
|
| |
| |
| |
| |
| | |
Return 1 for UNIX with a functioning clipboard provider.
Closes #6103
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| | |
Main points:
- Replace `char_u` with `char` in some cases.
- Remove `str[len] = NUL` hack in some cases when `str` may be considered
`const`.
|
| |
| |
| |
| |
| |
| |
| | |
Problem: Double free on exit when using a closure. (James McCoy)
Solution: Split free_al_functions in two parts. (closes #1428)
https://github.com/vim/vim/commit/03ff9bcbc968f7d306e4a4e334e226fdde62ca82
|
| | |
|
| |
| |
| |
| |
| |
| |
| | |
Problem: submatch() does not check for a valid argument.
Solution: Give an error if the argument is out of range. (Dominique Pelle)
https://github.com/vim/vim/commit/989f592f7ffcbafdc4ec35cee4dc65bd053e2077
|
| |
| |
| |
| |
| |
| |
| | |
Problem: Crash when using funcref() with invalid name. (Dominique Pelle)
Solution: Check for NULL translated name.
https://github.com/vim/vim/commit/843b884461de1c79a1d2748549776fb13fc94360
|
| |
| |
| |
| |
| |
| |
| | |
Problem: All functions are freed on exit, which may hide leaks.
Solution: Only free named functions, not reference counted ones.
https://github.com/vim/vim/commit/c257487035f83aabe1c7e07f0552309e98f1bcb1
|
| |
| |
| |
| |
| |
| |
| |
| | |
Problem: A funccal is garbage collected while it can still be used.
Solution: Set copyID in all referenced functions. Do not list lambda
functions with ":function".
https://github.com/vim/vim/commit/bc7ce675b2d1c9fb58c067eff3edd59abc30aba4
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Problem: Leaking memory when redefining a function.
Solution: Don't increment the function reference count when it's found by
name. Don't remove the wrong function from the hashtab. More
reference counting fixes.
https://github.com/vim/vim/commit/8dd3a43d75550e9b5736066124c97697564f769e
|
| |
| |
| |
| |
| |
| |
| |
| | |
Problem: Coverity reports bogus NULL check.
Solution: When checking for a variable in the funccal scope don't pass the
varname.
https://github.com/vim/vim/commit/ba96e9af388804364425185b47eed14988302865
|
| |
| |
| |
| |
| |
| |
| | |
Problem: :delfunction causes illegal memory access.
Solution: Correct logic when deciding to free a function.
https://github.com/vim/vim/commit/0588d4f9d2741f35a271400a37fddbdd72d84219
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Problem: Using function() with a name will find another function when it is
redefined.
Solution: Add funcref(). Refer to lambda using a partial. Fix several
reference counting issues.
https://github.com/vim/vim/commit/437bafe4c8a83ed71ee006eda7f54b65a90f0d4c
|
| |
| |
| |
| |
| |
| |
| | |
Problem: Closure function fails.
Solution: Don't reset uf_scoped when it points to another funccal.
https://github.com/vim/vim/commit/580164481924ed8611eb79f0247a0eb1ca0b3b9a
|
| |
| |
| |
| |
| |
| |
| | |
Problem: No error for using function() badly.
Solution: Check for passing wrong function name. (Ken Takata)
https://github.com/vim/vim/commit/b54c3ff3174dbb5dfbfcabdf95200b047beaa644
|
| |
| |
| |
| |
| |
| |
| | |
Problem: No easy way to check if lambda and closure are supported.
Solution: Add the +lambda feature.
https://github.com/vim/vim/commit/9532fe7fbe1b14531931e83bd9f8054efdcf7509
|
| |
| |
| |
| |
| |
| |
| |
| | |
Problem: User defined functions can't be a closure.
Solution: Add the "closure" argument. Allow using :unlet on a bound
variable. (Yasuhiro Matsumoto, Ken Takata)
https://github.com/vim/vim/commit/10ce39a0d52272a3dfff2feb8c631529f29e6740
|
| |
| |
| |
| |
| |
| |
| |
| | |
Problem: Closures are not supported.
Solution: Capture variables in lambdas from the outer scope. (Yasuhiro
Matsumoto, Ken Takata)
https://github.com/vim/vim/commit/1e96d9bf98f9ab84d5af7f98d6a961d91b17364f
|
| |
| |
| |
| |
| |
| |
| | |
Problem: Code duplication when unreferencing a function.
Solution: De-duplicate.
https://github.com/vim/vim/commit/97baee80f0906ee2f651ee1215ec033e84f866ad
|
| |
| |
| |
| |
| |
| |
| | |
Problem: Lambda functions show up with completion.
Solution: Don't show lambda functions. (Ken Takata)
https://github.com/vim/vim/commit/b49edc11a1872fa99befa9a4a8ea6c8537868038
|
| |
| |
| |
| |
| |
| |
| |
| | |
Problem: Using submatch() in a lambda passed to substitute() is verbose.
Solution: Use a static list and pass it as an optional argument to the
function. Fix memory leak.
https://github.com/vim/vim/commit/df48fb456fb6bf63d94cad9b302ff01d8ee8d311
|
| |
| |
| |
| |
| |
| |
| | |
Problem: substitute() does not support a Funcref argument.
Solution: Support a Funcref like it supports a string starting with "\=".
https://github.com/vim/vim/commit/72ab729c3dcdea0fba44d8e676602c847e841bcd
|
| |
| |
| |
| |
| |
| |
| |
| | |
Problem: filter() and map() either require a string or defining a function.
Solution: Support lambda, a short way to define a function that evaluates an
expression. (Yasuhiro Matsumoto, Ken Takata)
https://github.com/vim/vim/commit/069c1e7fa9f45a665064f7f2c17da84d6a48f544
|
| |
| |
| |
| |
| |
| |
| | |
Problem: Crash when passing number to filter() or map().
Solution: Convert to a string. (Ozaki Kiichi)
https://github.com/vim/vim/commit/a06ec8f345eabb66e5b7d7c0192cfebdde63115d
|
| |
| |
| |
| |
| |
| |
| |
| | |
Problem: filter() and map() only accept a string argument.
Solution: Implement using a Funcref argument (Yasuhiro Matsumoto, Ken
Takata)
https://github.com/vim/vim/commit/b33c7eb5b813cb631b2b0ca5c4029e1788a09bde
|
|/
|
|
|
|
|
|
| |
Problem: Cannot detect a crash in tests when caused by garbagecollect().
Solution: Add garbagecollect_for_testing(). Do not free a job if is still
useful.
https://github.com/vim/vim/commit/ebf7dfa6f121c82f97d2adca3d45fbaba9ad8f7e
|
| |
|
| |
|
|\
| |
| | |
vim-patch:7.4.2017,7.4.2018,7.4.2021,7.4.2022,7.4.2023,7.4.2024
|
| |
| |
| |
| |
| |
| |
| | |
Problem: Warnings from 64 bit compiler.
Solution: Add type casts. (Mike Williams)
https://github.com/vim/vim/commit/25065ec375a8a55462f6c07c76dc1a72a770ac19
|
| |
| |
| |
| | |
Missed in 25438f149fda66375ed54a735e4477f3f4d87338
|
|/ |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Closes #731
References #851
Note: This does not remove some intentional legacy usages of strncpy.
- memcpy isn't equivalent because it doesn't check the string
length of `src`, and doesn't zero-out the remainder of `dst`.
- xstrlcpy isn't equivalent because it doesn't zero-out the
remainder of `dst`. Some Vim logic depends on that (e.g.
ex_append which calls vim_strnsave).
Helped-by: Douglas Schneider <ds3@ualberta.ca>
Helped-by: oni-link <knil.ino@gmail.com>
Helped-by: James McCoy <jamessan@jamessan.com>
|
| |
|
|
|
|
|
|
| |
Problem: Compiler warns for uninitialzed variable. (John Marriott)
Solution: Set lnum to the right value.
https://github.com/vim/vim/commit/69aa099641616268bfcde9dc3aa313c677846b12
|
|
|
|
|
|
| |
Problem: setmatches() mixes up values. (Nikolai Pavlov)
Solution: Save the string instead of reusing a shared buffer.
https://github.com/vim/vim/commit/7dc5e2e486fe0287601968e535902a41a39f65bb
|
|
|
|
|
|
|
|
|
|
| |
While a job callback is active, it may be invoked again. Since the
data handled by the first invocation of the callback hasn't been marked
as consumed, the subsequent invocation will see the same data.
Reported-by: Daniel Hahler
Patch-by: oni-link
Closes #5889
|