| Commit message (Collapse) | Author | Age |
... | |
| |
|
|
|
|
|
| |
Fix ex_function so that :endfunction passes the test.
Remove variables, added in 60c025267265ba4bfc2abd34ea02b13bd5c0e63f.
|
|
|
|
|
| |
Problem: Duplication of code for adding a list or dict return value.
Solution: Add rettv_dict_set() and rettv_list_set(). (Yegappan Lakshmanan)
https://github.com/vim/vim/commit/45cf6e910c6d162775ca9d470fac4b6db844001f
|
|
|
|
|
|
|
| |
Problem: writefile() continues after detecting an error.
Solution: Bail out as soon as an error is detected. (suggestions by Nikolai
Pavlov, closes vim/vim#1476)
https://github.com/vim/vim/commit/8cf91286ca46a501d24e4b7d631b193256782c88
|
|
|
|
|
|
|
| |
Problem: Saving the redo buffer only works one time, resulting in the "."
command not working well for a function call inside another
function call. (Ingo Karkat)
Solution: Save the redo buffer at every user function call. (closes vim/vim#1619)
https://github.com/vim/vim/commit/d4863aa99e0527e9505c79cbeafc68a6832200bf
|
|
|
|
|
|
| |
Problem: Memory leak when exiting from within a user function.
Solution: Clear the function call stack on exit.
https://github.com/vim/vim/commit/6914c64ee58ce68f31fb8a8793293a9b3f2f6240
|
|
|
| |
Ref #8474
|
|
|
|
|
| |
Problem: getpos() can return a negative line number. (haya14busa)
Solution: Handle a zero topline and botline. (closes vim/vim#1613)
https://github.com/vim/vim/commit/a1d5fa65bc7e8a548858e9c295a192b63dcd011b
|
|
|
|
|
|
|
| |
Problem: Extra line break in verbosefile when using ":echomsg". (Ingo
Karkat)
Solution: Don't call msg_start(). (closes vim/vim#1618)
https://github.com/vim/vim/commit/52604f2454e5369f861d3ce34764f74a0999c773
|
|
|
|
|
|
|
| |
Problem: Using g< after :for does not show the right output. (Marcin
Szamotulski)
Solution: Call msg_sb_eol() in :echomsg.
https://github.com/vim/vim/commit/57002ad70c4c32f3afefec24994a974cf3eef3ad
|
|
|
|
|
|
|
| |
Problem: shellescape() always escapes a newline, which does not work with
some shells. (Harm te Hennepe)
Solution: Only escape a newline when the "special" argument is non-zero.
(Christian Brabandt, closes vim/vim#1590)
https://github.com/vim/vim/commit/206155280def51160a9d81d983aed639015ffb44
|
|\ |
|
| |
| |
| |
| |
| |
| |
| | |
Problem: Some macros are in lower case.
Solution: Make a few more macros upper case. Avoid lower case macros use an
argument twice.
https://github.com/vim/vim/commit/91acfffc1e6c0d8c2abfb186a0e79a5bf19c3f3f
|
|/
|
|
|
|
|
|
|
|
|
|
|
|
| |
Store text in ScreenLines as UTF-8, so it can be sent as-is to the UI
layer. `utfc_char2bytes(off,buf)` is removed, as `ScreenLines[off]` now
already contains this representation.
To recover the codepoints that the screen arrays previously contained, use
utfc_ptr2char (or utf_ptr2char to ignore composing chars).
NB: This commit does NOT change how screen.c processes incoming UTF-8 data
from buffers, cmdline, messages etc. Any algorithm that operates on UCS-4
(like arabic shaping, treatment of non-printable chars)
is left unchanged for now.
|
|
|
|
|
| |
Problem: There are still a few macros that should be all-caps.
Solution: Make a few more macros all-caps.
https://github.com/vim/vim/commit/8820b48654b62472821d9b155fe03ab7ac13a05c
|
|
|
|
|
| |
Problem: Some macros are in lower case.
Solution: Make a few more macros upper case.
https://github.com/vim/vim/commit/1c46544412382db8b3203d6c78e550df885540bd
|
|\ |
|
| |
| |
| |
| |
| |
| | |
Problem: Tests fail because some changes were not included.
Solution: Add changes to evalfunc.c
https://github.com/vim/vim/commit/3a29abcb6154d9f55ca8abd6d97e5822b97ac4b3
|
|/
|
|
|
|
| |
Problem: When using an assert function one can either specify a message or
get a message about what failed, not both.
Solution: Concatenate the error with the message.
https://github.com/vim/vim/commit/c7b831ca154537505f5a22d01335a86b2e9cb023
|
| |
|
|
|
|
| |
closes #8393
|
|
|
|
|
|
|
|
| |
fixes #6974
Before this change, the partial could be freed before the last due
callback got invoked, which caused a use-after-free when the due
callback called the partial.
|
|\ |
|
| | |
|
| |
| |
| |
| |
| |
| | |
Make `:verbose set ...` show when an option was last modified by an
API client or Lua script/chunk. In the case of an API client, the
channel ID is displayed.
|
| |
| |
| |
| |
| |
| |
| |
| | |
This condition is not perfectly reliable:
(did_emsg && force_abort && !current_exception)
The more proper way to check for abort-causing non-exception errors is
to set up `msg_list` using the "pattern" given by do_cmdline().
|
|/
|
|
|
|
|
|
|
|
| |
- Return VimL errors instead of generic errors for:
- nvim_call_function
- nvim_call_dict_function
- Fix tests which were silently broken before this change.
This violates #6150 where we agreed not to translate API errors. But
that can be fixed later.
|
|\
| |
| | |
closes #4983
|
| | |
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
I failed to deduce why analyzer thinks E882 may not be triggered, though
conditions for triggering it are strange: it would trigger E882 only in the
single case “function returned non-number”. Cases “function thrown exception”,
or “built-in sorter encountered error” will neither yield E882 nor stop
sort()/uniq().
Note though that searching test code revealed that neither E702 nor E882 are not
tested anywhere.
|
| |
| |
| |
| |
| |
| | |
It is hard to say whether it actually is uninitialized, need to go deeper into
regex code. Probably analyzer did not go that far as regmatch for sure would not
be initialized up until calling NFA/DFA engine functions, which is to be done by
pointer.
|
| |
| |
| |
| | |
It is unsigned, zero length would already cause early return and length 1 is
checked earlier in the same condition.
|
| | |
|
| | |
|
|\ \ |
|
| | |
| | |
| | |
| | |
| | |
| | | |
Adds the :stdpath method for fetching XDG standard directories.
Fixes #5297
|
| |/
|/| |
|
|/
|
|
|
| |
If the timer isn't stopped, it still emits events which consume some CPU.
Fix #8188
|
| |
|
|
|
|
|
|
|
|
| |
It's a micro-optimization; check path_is_absolute_path(autocmd_fname)
instead.
The main optimization (which is still in place) afforded by Vim 7.2.021
was to avoid resolving <afile> when it is not needed.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
During provider dispatch, eval_call_provider() saves global
state--including pointers, such as `autocmd_fname`--into
`provider_caller_scope` which is later restored by f_rpcrequest().
But `autocmd_fname` is special-cased in eval_vars(), for performance
(see Vim patch 7.2.021; this is also the singular purpose of the
`autocmd_fname_full` global. Yay!)
If eval_vars() frees `autocmd_fname` then its provider-RPC-scoped alias
becomes a problem.
Solution: Don't free autocmd_fname in eval_vars(), just copy into it.
closes #5245
closes #5617
Reference
------------------------------------------------------------------------
Vim patch 7.2.021
https://github.com/vim/vim/commit/f6dad43c98f47da1ff9d8c99b320fc3674f83c63
Problem: When executing autocommands getting the full file name may be
slow. (David Kotchan)
Solution: Postpone calling FullName_save() until autocmd_fname is used.
vim_dev discussion (2008): "Problem with CursorMoved AutoCommand when
Editing Files on a Remote WIndows Share"
https://groups.google.com/d/msg/vim_dev/kj95weZa_eE/GTgj4aq5sIgJ
|
| |
|
|\ |
|
| | |
|
|/
|
|
|
|
|
| |
Problem: Getting name of cleared highlight group is wrong. (Matt Wozniski)
Solution: Only skip over cleared names for completion. (closes vim/vim#1592)
Also fix that a cleared group causes duplicate completions.
https://github.com/vim/vim/commit/c96272e30e2b81e5e0c8418f09d9db4e2fcd5d73
|
|
|
|
| |
fixes #7830 and #7788
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Per CMAKE docs, CMAKE_HOST_SYSTEM_VERSION is the result of `uname -r`:
https://cmake.org/cmake/help/v3.4/variable/CMAKE_HOST_SYSTEM_VERSION.html?highlight=uname
A numeric version string for the system. On systems that support
uname, this variable is set to the output of uname -r. On other
systems this is set to major-minor version numbers.
On Windows it is something like "6.1", so it won't match ".*-Microsoft".
Closes #7329
|
|
|
|
|
|
|
|
| |
When tv_get_string_chk returns a non-NULL value, we have a valid string.
Propagating an error state (*len = -1, NULL return) for an empty string
is invalid.
Closes #6554
|