aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/eval.c
Commit message (Collapse)AuthorAge
...
* eval: wait(): always spin up dummy-timer #10990Justin M. Keyes2019-09-11
| | | | This avoids getting "stuck". If user actually _wants_ to get stuck forever, they could use `:sleep` or specify a really big `interval`.
* provider: has("python3_dynamic") et al. #10980Justin M. Keyes2019-09-09
| | | | | | | | | | | Vim added more flags for testing yet more dimensions of its Python situation. Handle those in eval_has_provider(). vim-patch:8.0.1436: not enough information about what Python version may work Problem: Not enough information about what Python version may work. Solution: Add "python_compiled", "python3_compiled", "python_dynamic" and "python3_dynamic" values for has(). ref: https://github.com/neovim/neovim/pull/10942#issuecomment-529479500
* refactor: allow us to process a child queue only while waiting on inputBjörn Linse2019-09-08
|
* Merge #10869 'vim-patch:8.1.{0309,0362,0365,0515,1946}'Justin M. Keyes2019-09-05
|\
| * vim-patch:8.1.1946: memory error when profiling a function without a script IDerw72019-09-04
| | | | | | | | | | | | Problem: Memory error when profiling a function without a script ID. Solution: Check for missing script ID. (closes vim/vim#4877) https://github.com/vim/vim/commit/163588005da3a240e49416093d0d0251951d60a1
| * 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.0365: function profile doesn't specify where it was definederw72019-09-04
| | | | | | | | | | | | Problem: Function profile doesn't specify where it was defined. Solution: Show the script name and line number. https://github.com/vim/vim/commit/4c7b08f6409349cf5324a26f7523c438590550ef
| * 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
* | anchor float to buffer positionBjörn Linse2019-09-04
| | | | | | | | vim-patch:8.1.1645: cannot use a popup window for a balloon
* | Merge pull request #10926 from blueyed/fix-echon-qBjörn Linse2019-09-04
|\ \ | |/ |/| Check got_int in msg_multiline_attr with ex_echo
| * only check got_int with ex_echoDaniel Hahler2019-09-04
| | | | | | | | Ref: https://github.com/neovim/neovim/pull/10926#discussion_r320706446
* | f_jobwait: cleanupJustin M. Keyes2019-09-03
| |
* | jobwait(): fix race if job exits before waiting on itJustin M. Keyes2019-09-03
|/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: If a job exits while waiting on another job, the on_exit handler is queued but f_jobwait() skips it. Solution: Always do process_wait(), so that handlers are run during f_jobwait(). fix #8302 Test case: $ BUSTED_ARGS="--repeat=2000 --no-keep-going" TEST_FILE=test/functional/core/job_spec.lua TEST_FILTER=waiting make functionaltest Failure example (macOS CI): FAILED test/functional/core/job_spec.lua: jobs jobwait will run callbacks while waiting test/functional/core/job_spec.lua:606: Expected objects to be the same. Passed in: (table: 0x1be77c80) { [1] = 'notification' [2] = 'wait' *[3] = { *[1] = 3 } } Expected: (table: 0x1be77d10) { [1] = 'notification' [2] = 'wait' *[3] = { *[1] = 4 } } stack traceback: test/functional/core/job_spec.lua:606: in function <test/functional/core/job_spec.lua:583
* vim-patch:8.0.1729: no comma after last enum itemJan Edmund Lazo2019-09-02
| | | | | | | Problem: No comma after last enum item. Solution: Add a few commas to check if this works for all compilers. Also add a few // comments. https://github.com/vim/vim/commit/ea3ece405ab55f44018257bd2f5021231af8e87f
* fixup! eval: add wait() testAbdelhakeem2019-09-01
|
* eval: add wait()Abdelhakeem2019-09-01
| | | | closes #10362
* screen: use dedicated message gridBjörn Linse2019-09-01
| | | | | | | | add proper msg_set_pos event, delet win_scroll_over_* make compositor click through unfocusable grids add MsgArea attribute for the message/cmdline area, and add docs and tests
* vim-patch:8.1.0233: "safe" argument of call_vim_function() is always FALSEJan Edmund Lazo2019-08-30
| | | | | | Problem: "safe" argument of call_vim_function() is always FALSE. Solution: Remove the argument. https://github.com/vim/vim/commit/ded27a1febda3db7447958b60a7d791af514d124
* vim-patch:8.1.1938: may crash when out of memoryJan Edmund Lazo2019-08-29
| | | | | | Problem: May crash when out of memory. Solution: Initialize v_type to VAR_UNKNOWN. (Dominique Pelle, closes vim/vim#4871) https://github.com/vim/vim/commit/c507a2d164cfa3dcf31a7ba9dad6663a17243bb4
* vim-patch:8.1.1932: ml_get errors after append() #10866Marco Hinz2019-08-27
| | | | | | | | Problem: Ml_get errors after using append(). (Alex Genco) Solution: Do not update the cursor twice. https://github.com/vim/vim/commit/d20070274c47668560e02db184e1f8e456c3c326 fix #10847
* Merge pull request #10841 from janlazo/vim-7.4.1407Daniel Hahler2019-08-25
|\ | | | | vim-patch:7.4.1407,8.1.1111
| * vim-patch:8.1.1111: it is not easy to check for infinityJan Edmund Lazo2019-08-24
| | | | | | | | | | | | Problem: It is not easy to check for infinity. Solution: Add isinf(). (Ozaki Kiichi, closes vim/vim#3787) https://github.com/vim/vim/commit/fda1bff39f89775b20a2d88ef3903656d52f66ad
| * vim-patch:7.4.1407Jan Edmund Lazo2019-08-24
| | | | | | | | | | | | | | | | Problem: json_encode() does not handle NaN and inf properly. (David Barnett) Solution: For JSON turn them into "null". For JS use "NaN" and "Infinity". Add isnan(). https://github.com/vim/vim/commit/f1b6ac72293e658bb6e68c5cfd926c405b1b6f34
* | vim-patch:8.1.1913: not easy to compute the space on the command line (#10845)Daniel Hahler2019-08-25
| | | | | | | | | | Problem: Not easy to compute the space on the command line. Solution: Add v:echospace. (Daniel Hahler, closes vim/vim#4732) https://github.com/vim/vim/commit/37f4cbd46f5a6f2dd3a48d5fa4324dce37e4bd6c
* | vim-patch:8.1.1924: using empty string for current buffer is unexpectedJan Edmund Lazo2019-08-24
| | | | | | | | | | | | Problem: Using empty string for current buffer is unexpected. Solution: Make the argument optional for bufname() and bufnr(). https://github.com/vim/vim/commit/a8eee21e75324d199acb1663cb5009e03014a13a
* | vim-patch:8.1.1757: text added with appendbufline() isn't displayedJan Edmund Lazo2019-08-24
|/ | | | | | Problem: Text added with appendbufline() to another buffer isn't displayed. Solution: Update topline. (partly by Christian Brabandt, closes vim/vim#4718) https://github.com/vim/vim/commit/298466629119eda501cfdf7824797f05045e67ca
* vim-patch:8.0.1236: Mac features are confusing #10837Jan Edmund Lazo2019-08-24
| | | | | | Problem: Mac features are confusing. Solution: Make feature names more consistent, add "osxdarwin". Rename feature flags, cleanup Mac code. (Kazunobu Kuriyama, closes vim/vim#2178) https://github.com/vim/vim/commit/d057301b1f28736f094affa17b190244ad56e8d9
* vim-patch:8.1.0187: getwininfo() and win_screenpos() return different numbersJan Edmund Lazo2019-08-23
| | | | | | Problem: getwininfo() and win_screenpos() return different numbers. Solution: Add one to "wincol" and "winrow" from getwininfo(). https://github.com/vim/vim/commit/7132ddc1014a4e1230f0080e418221e5843e1277
* vim-patch:8.0.1386: cannot select modified buffers with getbufinfo()Jan Edmund Lazo2019-08-23
| | | | | | Problem: Cannot select modified buffers with getbufinfo(). Solution: Add the "bufmodified" flag. (Yegappan Lakshmanan, closes vim/vim#2431) https://github.com/vim/vim/commit/8e6a31df81113bbf0e4bb5324a74dc5f6c62a490
* vim-patch:8.1.0039: cannot easily delete lines in another bufferJan Edmund Lazo2019-08-23
| | | | | | Problem: Cannot easily delete lines in another buffer. Solution: Add deletebufline(). https://github.com/vim/vim/commit/d79a26219d7161e9211fd144f0e874aa5f6d251e
* vim-patch:8.1.0037: cannot easily append lines to another bufferJan Edmund Lazo2019-08-23
| | | | | | Problem: Cannot easily append lines to another buffer. Solution: Add appendbufline(). https://github.com/vim/vim/commit/ca851593a660f08aba5c134f90c238d4a3e983e6
* vim-patch:8.1.0888: the a: dict is not immutable as documented (#10819)Abdelhakeem Osama2019-08-21
| | | | | | Problem: The a: dict is not immutable as documented. Solution: Make the a:dict immutable, add a test. (Ozaki Kiichi, Yasuhiro Matsumoto, closes vim/vim#3929) https://github.com/vim/vim/commit/31b816042fca879b11965ddd75287732563ba698
* pyxversion: fix logic error #10759Björn Linse2019-08-14
| | | | Do not incorrectly prefer python2 if python3 is working. fixes #10758
* Merge #10098 'win: fix msg_puts_printf()'Justin M. Keyes2019-08-12
|\
| * Fix problems with message catalog directoryerw72019-06-09
| | | | | | | | | | | | | | | | - In appimage, the message catalog is not used because there is no message catalog in LOCALE_INSTALL_DIR. Therefore, change to exepath/../share/locale instead of LOCALE_INSTALL_DIR. - The old vim style($runtime/lang) is no longer used. Thus all relevant code is removed.
* | exists(): return false for empty env var #10657Daniel Hahler2019-08-09
| | | | | | | | | | Fixes https://github.com/neovim/neovim/issues/3266 close #10657
* | Merge pull request #10171 from blueyed/vim-8.1.1318Daniel Hahler2019-08-09
|\ \ | | | | | | vim-patch:8.1.1318: code for text changes is in a "misc" file
| * | includesDaniel Hahler2019-08-07
| | |
* | | channels: reflect exit due to signals in exit status code (#10573)Daniel Hahler2019-08-09
| | | | | | | | | | | | | | | Uses `128 + term_signal` in case of exit due to a signal. Fixes https://github.com/neovim/neovim/issues/10571.
* | | Merge #9782 from janlazo/vim-8.1.0199Justin M. Keyes2019-08-09
|\ \ \ | | | | | | | | vim-patch:8.1.{199,200}
| * | | f_spellbadword: set len=0 for non-found wordDaniel Hahler2019-08-08
| | | | | | | | | | | | | | | | | | | | | | | | | | | | `len` is used with `list_append_string` later, and should reflect the length of `word` (i.e. 0 when not setting word / breaking above). Ref: neovim/neovim#9782 (comment)
| * | | vim-patch:8.1.0199: spellbadword() does not check for caps errorJan Edmund Lazo2019-08-08
| |/ / | | | | | | | | | | | | | | | Problem: spellbadword() does not check for caps error. (Dominique Pelle) Solution: Adjust capcol when advancing. https://github.com/vim/vim/commit/66ab916935585391b2efaa8e39075e1ef94717b1
* / / remove DYNAMIC_ICONVerw72019-08-06
|/ /
* | f_environ: cleanup/refactorDaniel Hahler2019-08-06
| | | | | | | | | | - use os_getenvname_at_index / os_getenv - f_getenv: empty (*p == NUL) is not null (undefined)
* | vim-patch:8.1.1305: there is no easy way to manipulate environment variablesDaniel Hahler2019-08-06
| | | | | | | | | | | | | | Problem: There is no easy way to manipulate environment variables. Solution: Add environ(), getenv() and setenv(). (Yasuhiro Matsumoto, closes vim/vim#2875) https://github.com/vim/vim/commit/691ddeefb545d8488e5a495af61caba2e57b3de9
* | provider: check #Call() if g:loaded_xx_provider=2Justin M. Keyes2019-08-04
| |
* | provider: skip non-provider has() feature-namesJustin M. Keyes2019-08-04
| | | | | | | | | | We don't want to retry autoload sourcing (slow) for every random has() query that finds it way to eval_call_provider().
* | provider: g:loaded_xx_provider=2 means "enabled and working"Justin M. Keyes2019-08-04
| | | | | | | | | | Value of 1 cannot be used, because users might set that in their vimrc to _disable_ a provider, which would confuse :checkhealth and has().
* | provider: decide status by g:loaded_xx_providerJustin M. Keyes2019-08-04
| |
* | provider: let providers decide their statusRui Abreu Ferreira2019-08-04
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Instead of deciding provider status in eval_has_provider, move the decision to the provider Vim scripts. Previously, provider loading worked as follows: 1. eval_has_provider() verified provider availability by searching for the provider#providername#Call function and cached this verificaion as a static variable for some providers 2. providers short-circuited on loading to prevent the definition of the Call function (with the exception of the node provider that did not) This commit changes the expected interface between nvim and its providers to facilitate provider reloading, by splitting the verification of the provider from the availability of the Call function. eval_has_provider() now checks for a provider#providername#enabled variable. It is up to the provider script to set this to 0 or 1 accordingly. eval_call_provider() remains unchanged. All providers hosting a Call function were updated to respect this. The clipboard provider now has a Reload function to reload the provider.