| Commit message (Collapse) | Author | Age |
... | |
| | | | |
| | | | |
| | | | | |
Fixes #6147
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
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`.
|
| | | | | |
|
| | | | | |
|
|\ \ \ \ \
| | | | | |
| | | | | | |
Refactor writefile() and create more tests for it
|
| | | | | |
| | | | | |
| | | | | | |
This way success/failure return from this function is more precise.
|
| | | | | | |
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
1. When calling writefile(list, fname, []) do not show error message twice.
2. Do not allow file name to be overwritten for writefile([1], 2).
3. Do not show “Can’t open file with an empty name” error after error like
“using Float as a String” when type of the second argument is not correct.
4. Do not give multiple error messages and still continue for code like
`writefile(["test", [], [], [], "tset"])`.
Note that to fix 4. ideally I need tv_check_str_or_nr which is currently present
in two PRs: #6114 and #5119. I would want to avoid copying this function into
a yet another PR.
Ref vim/vim#1476.
|
| | | | | |
| | | | | |
| | | | | | |
Previously it could attempt to write trailing newline before returning.
|
| | | | | | |
|
| | | | | | |
|
| | | | | | |
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
According to the documentation fsync() may fail with EROFS or EINVAL if “file
descriptor is bound to a special file which does not support synchronization”
(e.g. /dev/stderr). This condition is completely valid in this case since main
point of `file_fsync()` is dumping buffered input.
|
|\ \ \ \ \ \
| | | | | | |
| | | | | | | |
terminal: 'modifiable'; 'scrollback'; follow output only if cursor is on last line
|
| | | | | | | |
|
| | | | | | | |
|
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
Closes #2257
Closes #2636
References #2683
|
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
Closes #2637
|
| | | | | | | |
|
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
Partial step towards #2637. Will crash if *all* lines are deleted.
Closes #2607
References #5431
|
|/ / / / / /
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Problem: CTRL-Z and mouse click use CTRL-O unnecessary.
Solution: Remove stuffing CTRL-O. (James McCoy, closes vim/vim#1453)
https://github.com/vim/vim/commit/74a47162a07fddb532f4bead212f6c80ef474ae7
|
| | | | | | |
|
| |/ / / /
|/| | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Problem: There is no equivalent of 'smartcase' for a tag search.
Solution: Add value "followscs" and "smart" to 'tagcase'. (Christian
Brabandt, closes vim/vim#712) Turn tagcase test into new style.
https://github.com/vim/vim/commit/66e29d7112e437b2b50efe1f82c7e892736d23e4
|
|\ \ \ \ \
| | | | | |
| | | | | | |
Lambda Support
|
| |\ \ \ \ \
| | | |_|/ /
| | |/| | | |
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
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
|