| Commit message (Collapse) | Author | Age |
... | |
| | | |
|
| | | |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
free_unref_funccal
get_funccal_local_var
get_funccal_args_var
get_current_funccal_dict
set_ref_in_previous_funccal
set_ref_in_call_stack
set_ref_in_func_args
note:
In vim semantic for garbage_collect was changed
(the result of free_unref_funccal is ignored, bug or intentional?)
For nvim I did leave previous behavior thus
did_free = did_free || free_unref_funccal(copyID, testing);
instead of just
free_unref_funccal(copyID, testing);
|
| | | |
|
| | | |
|
| | | |
|
| | | |
|
| | | |
|
| |\ \
| | | |
| | | |
| | | | |
Change resolve() to resolve symbolic links on Windows
Neovim worked the same way as vim for shortcuts, but didn't handle symbolic links and junction cases. This PR implements the same behavior for symbolic links and junctions as for vim.
|
| | | | |
|
| | | | |
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Problem: Getbufvar() may get the wrong dictionary. (David le Blanc)
Solution: Check for empty name. (closes vim/vim#5878)
https://github.com/vim/vim/commit/5259275347667a90fb88d8ea74331f88ad68edfc
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Problem: Variables declared in an outer scope.
Solution: Decleare variables only in the scope where they are used.
https://github.com/vim/vim/commit/8601545338581c01e328cdc3a72c0b12d92c54cf
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Problem: Compiler warning for unused argument.
Solution: Add UNUSED. Change comments to new style.
https://github.com/vim/vim/commit/1f164b19685d8ad709b11f3f1933685469251e30
|
| |/ /
| | |
| | |
| | |
| | |
| | | |
Problem: Using old C style comments.
Solution: Use // comments where appropriate.
https://github.com/vim/vim/commit/5d18efecfd6c45d69f55268948a22cd0465bb955
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Problem: Can execute shell commands in rvim through interfaces.
Solution: Disable using interfaces in restricted mode. Allow for writing
file with writefile(), histadd() and a few others.
https://github.com/vim/vim/commit/8c62a08faf89663e5633dc5036cd8695c80f1075
|
| | | |
|
| | |
| | |
| | |
| | |
| | |
| | | |
Problem: A plugin cannot easily expand a command like done internally.
Solution: Add the expandcmd() function. (Yegappan Lakshmanan, closes vim/vim#4514)
https://github.com/vim/vim/commit/80dad48c5095d30873a42ec82628bdb213125d8e
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Problem: :echomsg and :echoerr do not handle List and Dict like :echo does.
(Daniel Hahler)
Solution: Be more tolerant about the expression result type.
https://github.com/vim/vim/commit/461a7fcfce3cd6414f990037e6468af3b5ccf119
Add lua functional tests for :echo,:echon,:echomsg,:echoerr
because nvim did not port "test_" functions from Vim
that modify internal state.
Testing :echoerr via try/catch is sufficient.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Instead of declaring an enum, this creates a global variable. As gcc10
uses -fno-common by default, global variables declared with the same
name more than once is not allowed anymore revealing this issue.
Each time this header is included, we define the enum name as a global
variable.
See also https://bugzilla.redhat.com/show_bug.cgi?id=1799680
|
| |/
| |
| |
| |
| |
| |
| |
| | |
Problem: char2nr() does not handle composing characters.
Solution: Add str2list() and list2str(). (Ozaki Kiichi, closes vim/vim#4190)
https://github.com/vim/vim/commit/9d40128afd7fcd038ff6532722b55b1a8c189ce8
'utf8' optional param is noop unlike Vim.
|
| |
| |
| |
| |
| |
| |
| | |
Problem: MS-Windows: Cannot interrupt gdb when program is running.
Solution: Add debugbreak() and use it in the terminal debugger.
Respect 'modified' in a prompt buffer.
https://github.com/vim/vim/commit/4551c0a9fcdbdef52836d4852686d54b5e47fdaf
|
| |
| |
| |
| |
| |
| | |
Problem: Cannot handle pressing CTRL-C in a prompt buffer.
Solution: Add prompt_setinterrupt().
https://github.com/vim/vim/commit/0e5979a6d491f68c4a8c86fab489016919329a6b
|
| |
| |
| |
| |
| |
| | |
Problem: Difficult to make a plugin that feeds a line to a job.
Solution: Add the nitial code for the "prompt" buftype.
https://github.com/vim/vim/commit/f273245f6433d5d43a5671306b520a3230c35787
|
| |
| |
| |
| |
| |
| | |
close #11828
ref #5081
cf. vim patch 7.4.2063
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Problem: Dict and list could be GC'ed while displaying error in a timer.
(Yasuhiro Matsumoto)
Solution: Block garbage collection when executing a timer. Add
test_garbagecollect_soon(). Add "no_wait_return" to
test_override(). (closes vim/vim#4571)
https://github.com/vim/vim/commit/adc6714aac20f5462a0ecec50ab4806b2f3ab0db
|
| | |
|
| |
| |
| |
| |
| |
| | |
Problem: "gF" does not work on output of "verbose command".
Solution: Recognize " line " and translations. (closes vim/vim#5391)
https://github.com/vim/vim/commit/64e74c9cc7d5aab215cf72d9bdd3aac32e128191
|
| |
| |
| |
| |
| | |
Problem: Repeated word in comment.
Solution: Remove one. (Rene Nyffenegger, closes vim/vim#5384)
https://github.com/vim/vim/commit/fe72d08400d9064b3f959f1f62f279527e64835a
|
|/
|
|
|
| |
fixes #11494
|
| |
|
|
|
|
|
|
| |
Problem: Reloading a script gives errors for existing functions.
Solution: Allow redefining a function once when reloading a script.
https://github.com/vim/vim/commit/ded5f1bed7ff2d138b3ee0f9610d17290b62692d
|
|
|
|
|
|
|
| |
Problem: Cannot get the script line number when executing a function.
Solution: Store the line number besides the script ID. (Ozaki Kiichi,
closes vim/vim#3362) Also display the line number with ":verbose set".
https://github.com/vim/vim/commit/f29c1c6aa3f365c025890fab5fb9efbe88eb1761
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- Re-enable Test_BufLeave_Wipe. 66f5e5c7d7ce
This is my (probably-wrong) application of Zyx's suggestion in #9163:
> free_buffer_stuff() already removes changedtick. It is better to
> make `free_options` a flag variable and avoid calling
> buf_init_changedtick() based on some flag there: current workflow
> looks weird as it first removes `b:changedtick`, then re-adds it
> by calling buf_init_changedtick(), then remove again.
> Also based on my understanding it looks logical to not remove
> `b:changedtick`, but to *replace* it with something allocated if
> needed based on examining reference count before calling
> `unref_var_dict`. Because now you have key disappearing from
> dictionary for no good reason.
Patch-By: Nikolai Aleksandrovich Pavlov <kp-pav@yandex.ru>
|
|
|
|
|
|
| |
Problem: Floating point exception with "%= 0" and "/= 0".
Solution: Avoid dividing by zero. (Dominique Pelle, closes vim/vim#4058)
https://github.com/vim/vim/commit/e21c1580b7acb598a6e3c38565434fe5d0e2ad7a
|
|
|
|
| |
Despite the PVS warning, we do not want to conflate these
cases, they are semantically different.
|
|
|
|
|
|
| |
Problem: Lock flag in new dictitem is reset in many places.
Solution: Always reset the lock flag.
https://github.com/vim/vim/commit/c89d4b35300b98cf68b14c89c8e1add51bd857e3
|
|
|
|
|
|
|
|
| |
Problem: ":profdel func" does not work if func was called already.
(Dominique Pelle)
Solution: Reset uf_profiling and add a flag to indicate initialization was
done.
https://github.com/vim/vim/commit/ad6480961080f80a455b2394f27b02935a2ded52
|
|
|
|
|
|
| |
Problem: Incomplete set of assignment operators.
Solution: Add /=, *= and %=. (Ozaki Kiichi, closes vim/vim#3931)
https://github.com/vim/vim/commit/ff697e6cef8ced7717a21fd525ab3200b2f1724f
|
|
|
|
|
|
| |
Problem: swapinfo() leaks memory.
Solution: Avoid allocating the strings twice.
https://github.com/vim/vim/commit/e6fdf79980c0f2856700d4f46de700293f477429
|
|
|
|
|
|
|
| |
ref #343
Though I don't see a strong benefit, it isn't too much of a burden, and
maybe avoids confusion in some cases.
|
|
|
|
|
|
|
|
|
|
|
|
| |
closes #8274
The parent commit tries a different approach, but that fails on Apple
Clang version:
Apple LLVM version 10.0.0 (clang-1000.11.45.5)
Target: x86_64-apple-darwin17.7.0
which somehow compiles the check_c_source_compiles() check, but then
complains during later compilation that __fpclassify is not defined
(regardless of "#include <math.h>").
|
|
|
|
|
|
|
|
|
|
|
|
| |
closes #8274
- Instead of #undef and re-#define, define "xfoo" wrappers to avoid
include-order sensitivity.
- The warnings are bogus, caused by bad interaction between glibc and
clang 6+.
- https://bugs.llvm.org/show_bug.cgi?id=35268
- https://bugs.llvm.org/show_bug.cgi?id=39738
- https://bugzilla.redhat.com/show_bug.cgi?id=1472437
|
|
|
|
|
|
|
|
|
|
| |
Note about shada.c:
- shada_read_next_item_start was intentionally shadowing `unpacked` and
`i` because many of the macros (e.g. ADDITIONAL_KEY) implicitly
depended on those variable names.
- Macros were changed to parameterize `unpacked` (but not `i`). Macros
like CLEAR_GA_AND_ERROR_OUT do control-flow (goto), so any other
approach is messy.
|
|
|
|
|
|
|
| |
Problem: Get_tv function names are not consistent.
Solution: Rename to tv_get.
https://github.com/vim/vim/commit/d155d7a8519987361169459b8d464ae1caef5e9c
Only a change in comments appears to be necessary.
|
|
|
|
|
|
|
| |
In file included from ../src/nvim/eval/encode.c:974:
../src/nvim/eval/typval_encode.c.h:390:40: error: equality comparison with extraneous parentheses [-Werror,-Wparentheses-equality]
do { if ((tv->vval.v_special == kSpecialVarTrue)) { msgpack_pack_true(packer); } else { msgpack_pack_false(packer); } } while (0);
~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~
|
|
|
|
|
|
|
| |
`tv` is passed to the TYPVAL_ENCODE_CONV_FUNC_BEFORE_* macros, which
don't appear to actually use that parameter.
Found by clang scan-build 5.0
|
|
|
|
|
|
| |
Problem: Padding in list type wastes memory.
Solution: Reorder struct members to optimize padding. (Dominique Pelle,
closes vim/vim#2704)
https://github.com/vim/vim/commit/1a840240376f2858d489736f9eed6d2975225fdf
|
|
|
|
|
|
|
|
|
|
| |
src/nvim/eval/typval.c
src/nvim/fileio.c
src/nvim/main.c
src/nvim/regexp_nfa.c
src/nvim/spellfile.c
changed some EMSG[..] Macros to emsgf
|