aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/eval
Commit message (Collapse)AuthorAge
...
| | * fix: prof functionsJakub Łuczyński2020-02-13
| | |
| | * fix: var_set_globalJakub Łuczyński2020-02-13
| | |
| | * fix: factor out new functionsJakub Łuczyński2020-02-13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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);
| | * fix: func_initJakub Łuczyński2020-02-13
| | |
| | * unstatic some functionsJakub Łuczyński2020-02-13
| | |
| | * moved more stuffJakub Łuczyński2020-02-13
| | |
| | * created header fileJakub Łuczyński2020-02-13
| | |
| | * moved functions to user_funcs.c (no code changes)Jakub Łuczyński2020-02-13
| | |
| * | Merge pull request #12047 from erw7/fix-resolve-on-windowsMatthieu Coudron2020-04-19
| |\ \ | | | | | | | | | | | | 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.
| | * | Change to canonicalize only when reparse point in includederw72020-04-02
| | | |
| | * | Change resolve() to resolve symbolic links on Windowserw72020-04-02
| | | |
| * | | vim-patch:8.2.0507: getbufvar() may get the wrong dictionaryJan Edmund Lazo2020-04-13
| | | | | | | | | | | | | | | | | | | | | | | | 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
| * | | vim-patch:8.2.0473: variables declared in an outer scopeJan Edmund Lazo2020-04-13
| | | | | | | | | | | | | | | | | | | | | | | | 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
| * | | vim-patch:8.1.1745: compiler warning for unused argumentJan Edmund Lazo2020-04-13
| | | | | | | | | | | | | | | | | | | | | | | | Problem: Compiler warning for unused argument. Solution: Add UNUSED. Change comments to new style. https://github.com/vim/vim/commit/1f164b19685d8ad709b11f3f1933685469251e30
| * | | vim-patch:8.1.2378: using old C style commentsJan Edmund Lazo2020-04-12
| |/ / | | | | | | | | | | | | | | | Problem: Using old C style comments. Solution: Use // comments where appropriate. https://github.com/vim/vim/commit/5d18efecfd6c45d69f55268948a22cd0465bb955
| * | vim-patch:8.1.0881: can execute shell commands in rvim through interfacesJan Edmund Lazo2020-03-01
| | | | | | | | | | | | | | | | | | | | | 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
| * | pvs/v1048: variable was assigned same valueJan Edmund Lazo2020-03-01
| | |
| * | vim-patch:8.1.1510: a plugin cannot easily expand a command like done internallyJan Edmund Lazo2020-03-01
| | | | | | | | | | | | | | | | | | 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
| * | vim-patch:8.1.0619: :echomsg and :echoerr do not handle List and DictJan Edmund Lazo2020-02-29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
| * | nvim:eval: Fix enum declaration for ListLenSpecialsAndreas Schneider2020-02-23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
| * | vim-patch:8.1.1122: char2nr() does not handle composing charactersJan Edmund Lazo2020-02-20
| |/ | | | | | | | | | | | | | | 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.
| * vim-patch:8.1.0091: MS-Windows: Cannot interrupt gdb when program is runningerw72020-02-12
| | | | | | | | | | | | | | 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
| * vim-patch:8.1.0069: cannot handle pressing CTRL-C in a prompt buffererw72020-02-12
| | | | | | | | | | | | Problem: Cannot handle pressing CTRL-C in a prompt buffer. Solution: Add prompt_setinterrupt(). https://github.com/vim/vim/commit/0e5979a6d491f68c4a8c86fab489016919329a6b
| * vim-patch:8.1.0027: difficult to make a plugin that feeds a line to a joberw72020-02-12
| | | | | | | | | | | | 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
| * eval.c: factor out eval/funcs.c #11828Jakub Łuczyński2020-02-10
| | | | | | | | | | | | close #11828 ref #5081 cf. vim patch 7.4.2063
| * doc: fix typos [ci skip] #11787Hye Sung Jung2020-01-30
| |
| * vim-patch:8.1.1579: dict and list could be GC'ed while displaying errorJan Edmund Lazo2020-01-05
| | | | | | | | | | | | | | | | | | 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
| * PVS/V618: fix emsgf format specifier #11643Husain Alshehhi2020-01-01
| |
| * vim-patch:8.2.0030: "gF" does not work on output of "verbose command"Jan Edmund Lazo2019-12-22
| | | | | | | | | | | | 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
| * vim-patch:8.2.0025: repeated word in comment (#11586)Jan Edmund Lazo2019-12-21
| | | | | | | | | | Problem: Repeated word in comment. Solution: Remove one. (Rene Nyffenegger, closes vim/vim#5384) https://github.com/vim/vim/commit/fe72d08400d9064b3f959f1f62f279527e64835a
| * dictwatcher: fix use-after-free #11495erw72019-12-02
|/ | | | | fixes #11494
* Remove excess <stdint.h>Jan Edmund Lazo2019-09-11
|
* vim-patch:8.1.0515: reloading a script gives errors for existing functionserw72019-09-04
| | | | | | 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
* vim-patch:8.1.0362: cannot get the script line number when executing a functionerw72019-09-04
| | | | | | | 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
* free_buffer: rework b:changedtick handling #9163Justin M. Keyes2019-08-12
| | | | | | | | | | | | | | | | | | | | - 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>
* vim-patch:8.1.0990: floating point exception with "%= 0" and "/= 0"Jan Edmund Lazo2019-07-28
| | | | | | 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
* PVS/V1037: suppress warning #10528Ihor Antonov2019-07-18
| | | | Despite the PVS warning, we do not want to conflate these cases, they are semantically different.
* vim-patch:8.1.0167: lock flag in new dictitem is reset in many placesJan Edmund Lazo2019-06-23
| | | | | | Problem: Lock flag in new dictitem is reset in many places. Solution: Always reset the lock flag. https://github.com/vim/vim/commit/c89d4b35300b98cf68b14c89c8e1add51bd857e3
* vim-patch:8.1.0130: ":profdel func" does not work if func was called alreadyDaniel Hahler2019-06-08
| | | | | | | | 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
* vim-patch:8.1.0902: incomplete set of assignment operatorserw72019-05-29
| | | | | | Problem: Incomplete set of assignment operators. Solution: Add /=, *= and %=. (Ozaki Kiichi, closes vim/vim#3931) https://github.com/vim/vim/commit/ff697e6cef8ced7717a21fd525ab3200b2f1724f
* vim-patch:8.1.0642: swapinfo() leaks memoryJustin M. Keyes2019-04-29
| | | | | | Problem: swapinfo() leaks memory. Solution: Avoid allocating the strings twice. https://github.com/vim/vim/commit/e6fdf79980c0f2856700d4f46de700293f477429
* build: -Wmissing-prototypesJustin M. Keyes2019-02-04
| | | | | | | 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.
* build: Fix -Wconversion warnings for fpclassify et alJustin M. Keyes2019-01-21
| | | | | | | | | | | | 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>").
* build: Fix -Wconversion warnings for fpclassify et alJustin M. Keyes2019-01-20
| | | | | | | | | | | | 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
* build: enable -WshadowJustin M. Keyes2019-01-02
| | | | | | | | | | 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.
* vim-patch:8.1.0615: get_tv function names are not consistent (#9386)Daniel Hahler2018-12-22
| | | | | | | 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.
* Remove extraneous parens to silence -Wparentheses-equalityJames McCoy2018-11-24
| | | | | | | 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); ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~
* fix warning: "Dead assignment"Justin M. Keyes2018-10-21
| | | | | | | `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
* vim-patch:8.0.1590: padding in list type wastes memory (#9119)Jan Edmund Lazo2018-10-13
| | | | | | 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.cMichaHoffmann2018-10-07
| | | | | | | | | | 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