aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/generators
Commit message (Collapse)AuthorAge
* fix(rpc): break nvim_error_event feedback loop between two nvim instancesbfredl2022-07-19
| | | | | | In case nvim A sends nvim_error_event to nvim B, it would respond with another nvim_error_event due to unknown request name. Fix this by adding dummy request handler for now.
* vim-patch:8.2.0614: get ml_get error when deleting a line in 'completefunc' ↵zeertzjq2022-07-07
| | | | | | | | | | | | | (#19244) Problem: Get ml_get error when deleting a line in 'completefunc'. (Yegappan Lakshmanan) Solution: Lock the text while evaluating 'completefunc'. https://github.com/vim/vim/commit/ff06f283e3e4b3ec43012dd3b83f8454c98f6639 Fix a mistake in the porting of patch 8.1.0098. Cherry-pick Test_run_excmd_with_text_locked() from patch 8.2.0270. Cherry-pick test_gf.vim changes from patch 8.2.0369. Cherry-pick message change from later patches.
* perf(ui): reduce allocation overhead when encoding "redraw" eventsbfredl2022-06-20
| | | | | | | | | | | | | | | | | Note for external UIs: Nvim can now emit multiple "redraw" event batches before a final "flush" event is received. To retain existing behavior, clients should make sure to update visible state at an explicit "flush" event, not just the end of a "redraw" batch of event. * Get rid of copy_object() blizzard in the auto-generated ui_event layer * Special case "grid_line" by encoding screen state directly to msgpack events with no intermediate API events. * Get rid of the arcane notion of referring to the screen as the "shell" * Array and Dictionary are kvec_t:s, so define them as such. * Allow kvec_t:s, such as Arrays and Dictionaries, to be allocated with a predetermined size within an arena. * Eliminate redundant capacity checking when filling such kvec_t:s with values.
* Merge pull request #18194 from famiu/feat/usercmd_previewbfredl2022-05-31
|\ | | | | feat: user command "preview" (like inccommand)
| * feat: add preview functionality to user commandsFamiu Haque2022-05-31
| | | | | | | | Adds a Lua-only `preview` flag to user commands which allows the command to be incrementally previewed like `:substitute` when 'inccommand' is set.
* | fix(logging): skip recursion, fix crash #18764Justin M. Keyes2022-05-30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: 1. The main log routine does not protect itself against recursion. log_lock() doesn't guard against recursion, it would deadlock... 2. 22b52dd462e5 (#11501) regressed 6f27f5ef91b3 (#10172), because set_init_1..process_spawn tries to log (see backtrace below), but the mutex isn't initialized yet. Even if the mutex were valid, we don't want early logging to fallback to stderr because that can break embedders when stdio is used for RPC. frame 1: 0x00000001001d54f4 nvim`open_log_file at log.c:205:7 frame 2: 0x00000001001d5390 nvim`logmsg(log_level=1, context="UI: ", func_name=0x0000000000000000, line_num=-1, eol=true, fmt="win_viewport") at log.c:150:20 frame : 0x000000010039aea2 nvim`ui_call_win_viewport(grid=2, win=1000, topline=0, botline=1, curline=0, curcol=0, line_count=1) at ui_events_call.generated.h:321:3 frame 4: 0x00000001003dfefc nvim`ui_ext_win_viewport(wp=0x0000000101816400) at window.c:939:5 frame 5: 0x00000001003ec5b4 nvim`win_ui_flush at window.c:7303:7 frame 6: 0x00000001003a04c0 nvim`ui_flush at ui.c:508:3 frame 7: 0x00000001002966ba nvim`do_os_system(argv=0x0000600000c0c000, input=0x0000000000000000, len=0, output=0x0000000000000000, nread=0x00007ff7bfefe830, silent=false, forward_output=false) at shell.c:894:3 frame 8: 0x0000000100295f68 nvim`os_call_shell(cmd="unset nonomatch; vimglob() { while [ $# -ge 1 ]; do echo \"$1\"; shift; done }; vimglob >/var/folders/gk/3tttv_md06987tlwpyp62jrw0000gn/T/nvimwwvwfD/0 ~foo", opts=kShellOptExpand | kShellOptSilent | kShellOptHideMess, extra_args=0x0000000000000000) at shell.c:663:18 frame 9: 0x0000000100295845 nvim`call_shell(cmd="unset nonomatch; vimglob() { while [ $# -ge 1 ]; do echo \"$1\"; shift; done }; vimglob >/var/folders/gk/3tttv_md06987tlwpyp62jrw0000gn/T/nvimwwvwfD/0 ~foo", opts=kShellOptExpand | kShellOptSilent | kShellOptHideMess, extra_shell_arg=0x0000000000000000) at shell.c:712:14 frame 10: 0x0000000100294c6f nvim`os_expand_wildcards(num_pat=1, pat=0x00007ff7bfefeb20, num_file=0x00007ff7bfefee58, file=0x00007ff7bfefee60, flags=43) at shell.c:328:7 ... frame 23: 0x000000010028ccef nvim`expand_env_esc(srcp=",~foo", dst="~foo", dstlen=4094, esc=false, one=false, prefix=0x0000000000000000) at env.c:673:17 frame 24: 0x000000010026fdd5 nvim`option_expand(opt_idx=29, val=",~foo") at option.c:1950:3 frame 25: 0x000000010026f129 nvim`set_init_1(clean_arg=false) at option.c:558:19 frame 26: 0x00000001001ea25e nvim`early_init(paramp=0x00007ff7bfeff5f0) at main.c:198:3 frame 27: 0x00000001001ea6bf nvim`main(argc=1, argv=0x00007ff7bfeff848) at main.c:255:3 Solution: 1. Check for recursion, show "internal error" message. - FUTURE: when "remote TUI" is merged, can we remove log_lock()? 2. Skip logging if log_init wasn't called yet.
* | refactor(api): use hashy hash for looking up api method and event namesbfredl2022-05-30
|/ | | | | This avoids generating khash tables at runtime, and is consistent with how evalfuncs lookup work.
* feat(lua): allow some viml functions to run in fastLewis Russell2022-05-17
| | | | | This change adds the necessary plumbing to annotate functions in funcs.c as being allowed in run in luv fast events.
* refactor(eval): use Hashy McHashFace instead of gperfbfredl2022-05-12
| | | | this removes gperf as a build dependency
* feat(keyset): allow hash conflictsbfredl2022-05-09
|
* refactor: replace char_u variables and functions with charDundar Goc2022-05-05
| | | | Work on https://github.com/neovim/neovim/issues/459
* refactor(ui): make auto-generated ui client handlers typesafebfredl2022-03-15
|
* refactor(ui): use "ui_client" instead of "redraw" as general prefixbfredl2022-03-15
|
* feat(ui): implement ui_client event handlershlpr982022-03-15
|
* refactor(lua): reorganize builtin modules, phase 1bfredl2022-03-03
|
* refactor(api): use a keyset for highlight dictsBjörn Linse2022-02-02
|
* feat(api): implement nvim_{add,del}_user_commandGregory Anders2021-12-28
| | | | | Add support for adding and removing custom user commands with the Nvim API.
* fix(build): check for empty value of LUAC_PRG (#16711)Gregory Anders2021-12-18
| | | | | | | If the LUAC_PRG environment variable is defined, but empty, compilation would still be attempted but would be malformed. This results in garbage bytes being included. Fix this by checking that LUAC_PRG is both defined *and* non-empty.
* perf: pre-compile embedded Lua source into bytecode (#16631)Gregory Anders2021-12-16
| | | | | | The Lua modules that make up vim.lua are embedded as raw source files into the nvim binary. These sources are loaded by the Lua runtime on startuptime. We can pre-compile these sources into Lua bytecode before embedding them into the binary, which minimizes the size of the binary and improves startuptime.
* Merge pull request #15999 from famiu/fix/build/export-windows-symbolsBjörn Linse2021-10-17
|\ | | | | fix(build): export symbols on Windows
| * fix(build): export symbols on WindowsFamiu Haque2021-10-17
| | | | | | | | | | | | Closes https://github.com/neovim/neovim/issues/15063 Allows using Neovim core functions using LuaJIT FFI on Windows.
* | fix(runtime): don't use regexes inside lua require'mod'Björn Linse2021-10-17
|/ | | | | | | | | | | | Fixes #15147 and fixes #15497. Also sketch "subdir" caching. Currently this only caches whether an rtp entry has a "lua/" subdir but we could consider cache other subdirs potentially or even "lua/mybigplugin/" possibly. Note: the async_leftpad test doesn't actually fail on master, at least not deterministically (even when disabling the fast_breakcheck throttling). It's still useful as a regression test for further changes and included as such.
* refactor(api): make export of functions opt-in, not opt-outBjörn Linse2021-10-03
|
* refactor(api): handle option dicts properlyBjörn Linse2021-10-03
| | | | | | | Do not copy a lot of lua strings (dict keys) to just strequal() them Just compare them directly to a dedicated hash function. feat(generators): HASHY McHASHFACE
* refactor(lua): rename nlua_msgpack_ => nlua_api_Björn Linse2021-08-28
| | | | | | These functions do not involve msgpack. Initially the nvim api was sometimes called the "msgpack API", but entry points from vim script and lua are equally valid (and don't need to reference "msgpack")
* Merge #15293 Vimscript "method" syntaxJustin M. Keyes2021-08-26
|\ | | | | Port VimL's method call syntax - vim-patch:8.1.{1638,1800,1803,1807,1809,1816,1820,1821,1828,1834,1835,1861,1863,1878,1879,1888,1909,1911,1912}
| * vim-patch:8.1.1807: more functions can be used as a methodSean Dewar2021-08-12
| | | | | | | | | | | | | | | | | | Problem: More functions can be used as a method. Solution: Add append(), appendbufline(), assert_equal(), etc. Also add the :eval command. https://github.com/vim/vim/commit/25e42231d3ee27feec2568fa4be2aa2bfba82ae5 :eval is already ported.
| * vim-patch:8.1.1803: all builtin functions are globalSean Dewar2021-08-12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: All builtin functions are global. Solution: Add the method call operator ->. Implemented for a limited number of functions. https://github.com/vim/vim/commit/ac92e25a33c37ec5becbfffeccda136c73b761ac - Note that to *exactly* port hunk @@ -7376,18 +7444,19 from handle_subscript(), we need the :scriptversion patches (I have an open PR for those, but this patch works fine without them anyway). - Port call_internal_func() from v7.4.2058. - Adjust some error messages in tests, as they rely on the Blob patches. - Add a modeline to test_method.vim. Ignore the global_functions and base_method tables and prefer the current GPerf implementation. Instead, add an extra base_arg field to VimLFuncDef that holds the number of the argument to use as the base (1-indexed, so that 0 may be used to refer to functions that cannot be used as methods). This also means we support using any argument as a base from the get-go, rather than just the first (Vim includes this ability in future patches, however). To mark a function as usable as a method, use the "base" key as described in eval.lua.
* | refactor(map): remove extra-allocating map_new/map_free functionsBjörn Linse2021-08-22
| | | | | | | | | | | | | | | | | | | | Note: the reason for removing them is not that there after this refactor is no use of them, but rather that having them available is an anti-pattern: they manange an _extra_ heap allocation which has nothing to do with the functionality of the map itself (khash manages the real buffers internally). In case there happens to be a reason to allocate the map structure itself later, this should be made explicit using xcalloc/xfree calls.
* | refactor(options): remove vi/vim default value distinctionGregory Anders2021-08-17
|/
* refactor(options): remove obsolete distinction of "vi" vs "vim" defaultsBjörn Linse2021-07-14
| | | | | It might come as a schocking surprise, but the defaults we support are the NEOVIM defaults.
* refactor(options): delet unused P_VIM flagBjörn Linse2021-07-14
|
* chore: use codespell to spell check #15016dundargoc2021-07-07
|
* api: allow open non-current buffer as terminal (+ xmas bonus)Björn Linse2021-03-12
| | | | vim.api.nvim_chan_send(vim.api.nvim_open_term(0), io.open("/path/to/smile.cat", "r"):read("*a"))
* vim-patch:8.1.1241: Ex command info contains confusing informationJan Edmund Lazo2021-01-01
| | | | | | | | | | | | | | | | | | | | | | Problem: Ex command info contains confusing information. Solution: When using the NOTADR flag use ADDR_OTHER for the address type. Cleanup code using NOTADR. Check for errors in create_cmdidxs.vim. Adjust Makefile to see the errors. https://github.com/vim/vim/commit/b731689e85b4153af7edc8f0a6b9f99d36d8b011 Use Lua's "assert()" to make an invalid command definition a compilation error. Misc changes: Remove 'RESTRICT' flag. Neovim does not support "restricted" mode since commit 7777532cebcfa9abc5ab2c7beae77f386feed3ca. TODO: Do not generate files before Lua assertions so that CMake always runs the generator script if the previous build has an invalid command definition.
* api: add textlock checknotomo2020-12-15
|
* ex_cmds: port cmd_addr_T and ADDR_NONE (#13492)Jan Edmund Lazo2020-12-10
| | | | | | | Patch 8.1.1241 is too hard to port in 1 commit. https://github.com/neovim/neovim/pull/13079 is too hard to review and seems to be blocked. Use 'int' type for some addr variables to suppress 'switch/case' warnings.
* vim-patch:8.1.0825: code for autocommands is mixed with file I/O code (#13305)TJ DeVries2020-11-24
|
* feat(lua): improve error message to make it actionable (#13276)Alvaro Muñoz2020-11-13
| | | * improve error message to make it actionable
* options: add fallback value to .indir member (#13150)Jan Edmund Lazo2020-10-24
| | | Required for patch v8.1.1769.
* gen_ex_cmds: simplify writes to defsfile (#13096)Jan Edmund Lazo2020-10-15
| | | | | | | | defsfile:write() is executed multiple times to append strings. Some of these can be combined into a format string, wrapped in [[]]. It is easier to read and insert strings via "%s". defsfile now has a trailing comma for "cmdnames" array but it does not break the build.
* gen_api_dispatch.lua: allow msgpack int for Float args; test: add ↵Yatao Li2020-04-28
| | | | ui_pum_set_bounds and tv_dict_add_float tests
* tree-sitter: implement query functionality and highlighting prototype ↵Björn Linse2019-12-22
| | | | [skip.lint]
* PVS/V1049: fix numerous "DEFINE_FUNC_ATTRIBUTES" warnings #11544Justin M. Keyes2019-12-11
| | | | | | | | | | | | | | | | | | | | | | PVS erroneously flags our DEFINE_FUNC_ATTRIBUTES guard: V1049 The 'DEFINE_FUNC_ATTRIBUTES' include guard is already defined in the 'lang.h.generated.h' header. The 'profile.h.generated.h' header will be excluded from compilation. To satisfy PVS, just remove the `#ifndef` check. It's not needed anyway: C allows to redundantly #define a macro. https://gcc.gnu.org/onlinedocs/cpp/Undefining-and-Redefining-Macros.html > if an identifier which is currently a macro is redefined, then the new > definition must be effectively the same as the old one > ... > If a macro is redefined with a definition that is not effectively the > same as the old one, the preprocessor issues a warning and changes the > macro to use the new definition. If the new definition is effectively > the same, the redefinition is silently ignored. This allows, for > instance, two different headers to define a common macro. The > preprocessor will only complain if the definitions do not match.
* Lua: vim.env, vim.{g,v,w,bo,wo} #11442Ashkan Kiani2019-11-24
| | | | | | | | - Add vim variable meta accessors: vim.env, vim.{g,v,w,bo,wo} - Redo gen_char_blob to generate multiple blobs instead of just one so that multiple Lua modules can be inlined. - Reorder vim.lua inclusion so that it can use previously defined C functions and utility functions like vim.shared and vim.inspect things. - Inline shared.lua into nvim, but also keep it available in runtime.
* gen_eval.lua: use correct name in usageDaniel Hahler2019-07-30
|
* jobstop(): close channel before process_stop() #10522Justin M. Keyes2019-07-17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | fix #9799 regression of #7081 Helped-by: Björn Linse <bjorn.linse@gmail.com> Problem: :UpdateRemotePlugins (which calls rpcstop()) sometimes crashes: remote/host: python3 host registered plugins [] nvim: ../src/nvim/event/wstream.c:78: _Bool wstream_write(Stream *, WBuffer *): Assertion `!stream->closed' failed. Aborted (core dumped) Order of events (channel 163, see logs below): 1. Channel's in-stream (0x2ba86c0) is **closed** by `f_rpcstop`..`process_stop`. 2. `receive_msgpack` parses the channel out-stream (0x2ba8860) 3. Invokes "nvim_command_output" API method. 4. Writes result to the **closed** in-stream => **abort** - af993da4351d (`receive_msgpack`) tried to hack around same/similar issue. - Hack was removed in 5215e3205a07. Solution: in jobstop(), close the channel before process_stop(). Log: DEBUG 2019-07-16T20:54:12.191 25159 stream_close:96: closing Stream: 0x2b01a90 DEBUG 2019-07-16T20:54:12.210 25159 process_spawn:124: new: pid=28407 argv=[/usr/bin/python3] DEBUG 2019-07-16T20:54:12.210 25159 rpc_start:72: rpc ch 163 in-stream=0x2ba86c0 out-stream=0x2ba8860 INFO 2019-07-16T20:54:12.210 25159 channel_create_event:199: new channel 163 (function <SNR>61_on_exit[4]..<SNR>60_job_exit_cb[101]..<SNR>60_decrement_job_count[8]..remote#host#UpdateRemotePlugins[6]..<SNR>31_RegistrationCommands[15]..remote#host#Require[10]..provider#pythonx#Require[13]..provider#Poll:3) : {"id": 163, "client": {}, "mode": "rpc", "stream": "job"} DEBUG 2019-07-16T20:54:12.211 25159 log_server_msg:729: RPC ->ch 163: [request] [0, 1, "poll", []] DEBUG 2019-07-16T20:54:12.355 25159 receive_msgpack:227: ch 163: parsing 21 bytes from msgpack Stream: 0x2ba8860 DEBUG 2019-07-16T20:54:12.355 25159 log_client_msg:766: RPC <-ch 163: [request] [0, 1, "vim_get_api_info", []] DEBUG 2019-07-16T20:54:12.355 25159 RPC: <-ch 163: invoke nvim_get_api_info DEBUG 2019-07-16T20:54:12.357 25159 log_server_msg:729: RPC ->ch 163: [response] [1, 1, nil, [163, {"version"=>{"major"=>0, "minor"=>4, }, ... DEBUG 2019-07-16T20:54:12.377 25159 receive_msgpack:227: ch 163: parsing 85 bytes from msgpack Stream: 0x2ba8860 DEBUG 2019-07-16T20:54:12.377 25159 log_client_msg:766: RPC <-ch 163: [request] [0, 2, "nvim_eval", ["((&number||&relativenumber) ? &numberwidth : 0) + &foldcolumn"]] DEBUG 2019-07-16T20:54:12.377 25159 handle_request:359: RPC: scheduled nvim_eval DEBUG 2019-07-16T20:54:12.377 25159 log_client_msg:766: RPC <-ch 163: [response] [1, 1, nil, "ok"] DEBUG 2019-07-16T20:54:12.378 25159 log_server_msg:729: RPC ->ch 163: [request] [0, 2, "specs", ["/home/vagrant/.config/nvim/rplugin/python3/__pycache__"]] DEBUG 2019-07-16T20:54:12.378 25159 RPC: <-ch 163: invoke nvim_eval DEBUG 2019-07-16T20:54:12.379 25159 log_server_msg:729: RPC ->ch 163: [response] [1, 2, nil, 0] DEBUG 2019-07-16T20:54:12.379 25159 receive_msgpack:227: ch 163: parsing 5 bytes from msgpack Stream: 0x2ba8860 DEBUG 2019-07-16T20:54:12.379 25159 log_client_msg:766: RPC <-ch 163: [response] [1, 2, nil, 0] DEBUG 2019-07-16T20:54:12.380 25159 log_server_msg:729: RPC ->ch 163: [request] [0, 3, "specs", ["/home/vagrant/.config/nvim/rplugin/python3/foo.py"]] DEBUG 2019-07-16T20:54:12.380 25159 receive_msgpack:227: ch 163: parsing 79 bytes from msgpack Stream: 0x2ba8860 DEBUG 2019-07-16T20:54:12.380 25159 log_client_msg:766: RPC <-ch 163: [request] [0, 3, "nvim_command", ["redir =>a |exe "sil sign place buffer=".bufnr('')|redir end"]] DEBUG 2019-07-16T20:54:12.381 25159 handle_request:359: RPC: scheduled nvim_command DEBUG 2019-07-16T20:54:12.381 25159 RPC: <-ch 163: invoke nvim_command DEBUG 2019-07-16T20:54:12.381 25159 log_server_msg:729: RPC ->ch 163: [response] [1, 3, nil, nil] DEBUG 2019-07-16T20:54:12.381 25159 receive_msgpack:227: ch 163: parsing 5 bytes from msgpack Stream: 0x2ba8860 DEBUG 2019-07-16T20:54:12.381 25159 log_client_msg:766: RPC <-ch 163: [response] [1, 3, nil, 0] DEBUG 2019-07-16T20:54:12.382 25159 stream_close:95: trace: log_callstack at /home/vagrant/neovim/build/../src/nvim/log.c:256 stream_close at /home/vagrant/neovim/build/../src/nvim/event/stream.c:95 stream_may_close at /home/vagrant/neovim/build/../src/nvim/event/stream.c:111 process_stop at /home/vagrant/neovim/build/../src/nvim/event/process.c:230 f_jobstop at /home/vagrant/neovim/build/../src/nvim/eval.c:12231 f_rpcstop at /home/vagrant/neovim/build/../src/nvim/eval.c:14533 call_func at /home/vagrant/neovim/build/../src/nvim/eval.c:6564 get_func_tv at /home/vagrant/neovim/build/../src/nvim/eval.c:6304 ex_call at /home/vagrant/neovim/build/../src/nvim/eval.c:2903 do_one_cmd at /home/vagrant/neovim/build/../src/nvim/ex_docmd.c:2249 do_cmdline at /home/vagrant/neovim/build/../src/nvim/ex_docmd.c:593 call_user_func at /home/vagrant/neovim/build/../src/nvim/eval.c:22666 call_func at /home/vagrant/neovim/build/../src/nvim/eval.c:6550 get_func_tv at /home/vagrant/neovim/build/../src/nvim/eval.c:6304 eval7 at /home/vagrant/neovim/build/../src/nvim/eval.c:4407 eval6 at /home/vagrant/neovim/build/../src/nvim/eval.c:4104 eval5 at /home/vagrant/neovim/build/../src/nvim/eval.c:3985 eval4 at /home/vagrant/neovim/build/../src/nvim/eval.c:3688 eval3 at /home/vagrant/neovim/build/../src/nvim/eval.c:3606 eval2 at /home/vagrant/neovim/build/../src/nvim/eval.c:3537 eval1 at /home/vagrant/neovim/build/../src/nvim/eval.c:3464 eval0 at /home/vagrant/neovim/build/../src/nvim/eval.c:3424 ex_let_const at /home/vagrant/neovim/build/../src/nvim/eval.c:1604 ex_let at /home/vagrant/neovim/build/../src/nvim/eval.c:1546 do_one_cmd at /home/vagrant/neovim/build/../src/nvim/ex_docmd.c:2249 do_cmdline at /home/vagrant/neovim/build/../src/nvim/ex_docmd.c:593 call_user_func at /home/vagrant/neovim/build/../src/nvim/eval.c:22666 call_func at /home/vagrant/neovim/build/../src/nvim/eval.c:6550 get_func_tv at /home/vagrant/neovim/build/../src/nvim/eval.c:6304 ex_call at /home/vagrant/neovim/build/../src/nvim/eval.c:2903 do_one_cmd at /home/vagrant/neovim/build/../src/nvim/ex_docmd.c:2249 do_cmdline at /home/vagrant/neovim/build/../src/nvim/ex_docmd.c:593 do_ucmd at /home/vagrant/neovim/build/../src/nvim/ex_docmd.c:5803 do_one_cmd at /home/vagrant/neovim/build/../src/nvim/ex_docmd.c:2243 do_cmdline at /home/vagrant/neovim/build/../src/nvim/ex_docmd.c:593 call_user_func at /home/vagrant/neovim/build/../src/nvim/eval.c:22666 call_func at /home/vagrant/neovim/build/../src/nvim/eval.c:6550 get_func_tv at /home/vagrant/neovim/build/../src/nvim/eval.c:6304 ex_call at /home/vagrant/neovim/build/../src/nvim/eval.c:2903 do_one_cmd at /home/vagrant/neovim/build/../src/nvim/ex_docmd.c:2249 do_cmdline at /home/vagrant/neovim/build/../src/nvim/ex_docmd.c:593 call_user_func at /home/vagrant/neovim/build/../src/nvim/eval.c:22666 call_func at /home/vagrant/neovim/build/../src/nvim/eval.c:6550 get_func_tv at /home/vagrant/neovim/build/../src/nvim/eval.c:6304 ex_call at /home/vagrant/neovim/build/../src/nvim/eval.c:2903 do_one_cmd at /home/vagrant/neovim/build/../src/nvim/ex_docmd.c:2249 do_cmdline at /home/vagrant/neovim/build/../src/nvim/ex_docmd.c:593 call_user_func at /home/vagrant/neovim/build/../src/nvim/eval.c:22666 call_func at /home/vagrant/neovim/build/../src/nvim/eval.c:6550 callback_call at /home/vagrant/neovim/build/../src/nvim/eval.c:17917 channel_callback_call at /home/vagrant/neovim/build/../src/nvim/channel.c:675 on_channel_event at /home/vagrant/neovim/build/../src/nvim/channel.c:581 multiqueue_process_events at /home/vagrant/neovim/build/../src/nvim/event/multiqueue.c:147 nv_event at /home/vagrant/neovim/build/../src/nvim/normal.c:7987 normal_execute at /home/vagrant/neovim/build/../src/nvim/normal.c:1133 state_enter at /home/vagrant/neovim/build/../src/nvim/state.c:73 normal_enter at /home/vagrant/neovim/build/../src/nvim/normal.c:462 main at /home/vagrant/neovim/build/../src/nvim/main.c:570 ?? ??:0 _start at ??:? DEBUG 2019-07-16T20:54:12.417 25159 stream_close:96: closing Stream: 0x2ba86c0 INFO 2019-07-16T20:54:12.417 25159 os_proc_tree_kill:96: sending SIGTERM to process group: -28407 DEBUG 2019-07-16T20:54:12.417 25159 receive_msgpack:227: ch 163: parsing 31 bytes from msgpack Stream: 0x2ba8860 DEBUG 2019-07-16T20:54:12.417 25159 log_client_msg:766: RPC <-ch 163: [request] [0, 4, "nvim_command_output", ["echo a"]] DEBUG 2019-07-16T20:54:12.417 25159 handle_request:359: RPC: scheduled nvim_command_output DEBUG 2019-07-16T20:54:12.424 25159 RPC: <-ch 163: invoke nvim_command_output DEBUG 2019-07-16T20:54:12.424 25159 log_server_msg:729: RPC ->ch 163: [response] [1, 4, [0, "Vim(echo):E121: Undefined variable: a"], nil] ERROR 2019-07-16T20:54:12.424 25159 wstream_write:78: xxx stream=0x2ba86c0 DEBUG 2019-07-16T20:54:12.425 25159 wstream_write:79: trace: log_callstack at /home/vagrant/neovim/build/../src/nvim/log.c:256 wstream_write at /home/vagrant/neovim/build/../src/nvim/event/wstream.c:82 channel_write at /home/vagrant/neovim/build/../src/nvim/msgpack_rpc/channel.c:407 request_event at /home/vagrant/neovim/build/../src/nvim/msgpack_rpc/channel.c:383 multiqueue_process_events at /home/vagrant/neovim/build/../src/nvim/event/multiqueue.c:147 nv_event at /home/vagrant/neovim/build/../src/nvim/normal.c:7987 normal_execute at /home/vagrant/neovim/build/../src/nvim/normal.c:1133 state_enter at /home/vagrant/neovim/build/../src/nvim/state.c:73 normal_enter at /home/vagrant/neovim/build/../src/nvim/normal.c:462 main at /home/vagrant/neovim/build/../src/nvim/main.c:570 ?? ??:0 _start at ??:?
* Improve luacheck setup [skip appveyor]Daniel Hahler2019-07-04
| | | | | | | | - Move .luacheckrc to root, add read_globals=vim - Simplify lualint target, run it on all lua files - Lint preload.lua, but ignore W211 - Remove testlint target, included in lualint (and lint) - Clean up .luacheckrc
* Fix luacheck errors for all Lua source filesSameed Ali2019-07-04
|
* api/lua: make nvim_execute_lua use native lua floats, not special tablesBjörn Linse2019-07-01
| | | | | | | | | | Rationale: the purpose of nvim_execute_lua is to simply call lua code with lua values. If a lua function expects a floating point value, it should be enough to specify a float as argument to nvim_execute_lua. However, make sure to preserve the existing roundtripping behavior of API values when using `vim.api` functions. This is covered by existing lua/api_spec.lua tests.