Commit Graph

542 Commits

Author SHA1 Message Date
Jan Edmund Lazo
3c12ee333a
vim-patch:8.1.0619: :echomsg and :echoerr do not handle List and Dict
Problem:    :echomsg and :echoerr do not handle List and Dict like :echo does.
            (Daniel Hahler)
Solution:   Be more tolerant about the expression result type.
461a7fcfce

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.
2020-02-29 17:40:00 -05:00
Jan Edmund Lazo
7ed4837298
vim-patch:8.1.1122: char2nr() does not handle composing characters
Problem:    char2nr() does not handle composing characters.
Solution:   Add str2list() and list2str(). (Ozaki Kiichi, closes vim/vim#4190)
9d40128afd

'utf8' optional param is noop unlike Vim.
2020-02-20 23:39:17 -05:00
erw7
aec3d7915c vim-patch:8.1.0091: MS-Windows: Cannot interrupt gdb when program is running
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.
4551c0a9fc
2020-02-12 16:03:45 +09:00
erw7
fe395ae210 vim-patch:8.1.0069: cannot handle pressing CTRL-C in a prompt buffer
Problem:    Cannot handle pressing CTRL-C in a prompt buffer.
Solution:   Add prompt_setinterrupt().
0e5979a6d4
2020-02-12 15:30:06 +09:00
erw7
4813ad48cd vim-patch:8.1.0027: difficult to make a plugin that feeds a line to a job
Problem:    Difficult to make a plugin that feeds a line to a job.
Solution:   Add the nitial code for the "prompt" buftype.
f273245f64
2020-02-12 15:16:32 +09:00
Jan Edmund Lazo
31f31b40a8
vim-patch:8.2.0077: settagstack() cannot truncate at current index
Problem:    settagstack() cannot truncate at current index.
Solution:   Add the "t" action. (Yegappan Lakshmanan, closes vim/vim#5417)
271fa08a35
2020-01-29 21:00:11 -05:00
Billy Su
041ec8997a Fix f_jobstop() failed loudly
The return value of jobstop()
@return 1 for valid job id
        0 for invalid id, including jobs have exited or stopped
2020-01-22 17:30:43 +08:00
Justin M. Keyes
9231684986
doc [ci skip] #11656 2020-01-12 23:41:55 -08:00
butwerenotthereyet
cbc8d72fde tabpage: track last-used tabpage #11626
In a multi-window scenario, it is possible to return focus to the last
accessed window via n_CTRL-W_p.  However, in the case of a multi-tab
scenario, there was previously no way to return focus to the last
accessed *tab*.  Here, that ability is added via n_g<tab>.

Additionally, the index of the previous tab is exposed via
tabpagenr('#'), mirroring the existing functionality of winnr('#').
2020-01-02 06:06:11 -08:00
Justin M. Keyes
93e7c7e3bd doc [ci skip] 2019-12-31 02:25:10 -08:00
Jan Edmund Lazo
6c606c1191
vim-patch:8.1.1875: cannot get size and position of the popup menu
Problem:    Cannot get size and position of the popup menu.
Solution:   Add pum_getpos(). (Ben Jackson, closes vim/vim#4827)
e9bd57286a

https://github.com/neovim/neovim/pull/11562 backported the vim patch.
This patch only updates the runtime/doc/ files to match Vim.
2019-12-29 18:34:05 -05:00
Jan Edmund Lazo
1e693ac97d
vim-patch:8.1.1303: not possible to hide a balloon
Problem:    Not possible to hide a balloon.
Solution:   Hide the balloon when balloon_show() is called with an empty
            string or list.  Add balloon_gettext().
be0a2597ae
2019-12-29 18:34:04 -05:00
Jan Edmund Lazo
c147806e23
vim-patch:8.2.0019: cannot number of lines of another buffer
Problem:    Cannot number of lines of another buffer.
Solution:   Add "linecount" to getbufinfo(). (Yasuhiro Matsumoto,
            closes vim/vim#5370)
a9e9679de3
2019-12-20 08:14:54 -05:00
Seth Fowler
251b20e533 Add support for the pum_getpos() API (#11562)
Add support for the pum_getpos() API
2019-12-16 20:08:55 +01:00
Matthieu Coudron
19b6237087
jobstart now supports env/clear_env
to modify the environment of the launched job.
2019-12-11 21:07:13 -05:00
Jan Edmund Lazo
6c6afbcddd
doc: mention OS pseudo-features in :h feature-list 2019-11-30 16:21:33 -05:00
Justin M. Keyes
fd5710ae9a
doc + extmarks tweaks #11421
- nvim_buf_get_extmarks: rename "amount" => "limit"
- rename `set_extmark_index_from_obj`
2019-11-25 01:08:02 -08:00
Justin M. Keyes
af53a0c012
doc: Lua [ci skip] #11378
- Rework :help lua-commands
- Rename if_lua.txt => lua.txt
2019-11-17 19:06:59 -08:00
Björn Linse
dab40f43b1 Add v:lua.func() vimL syntax for calling lua
Also simplify error messages when calling lua from vimL.
2019-11-16 22:33:21 +01:00
Justin M. Keyes
9ef16a1628 doc: vim.fn, vim.call(), vim.api [ci skip] 2019-11-06 01:37:50 -08:00
Jan Edmund Lazo
f3d6d8750b
vim-patch:8.1.0345: cannot get the window id associated with the location list
Problem:    Cannot get the window id associated with the location list.
Solution:   Add the "filewinid" argument to getloclist(). (Yegappan
            Lakshmanan, closes vim/vim#3202)
c9cc9c78f2
2019-10-23 01:33:16 -04:00
Jurica Bradaric
3b894b1cb1 vim-patch:8.1.1723: heredoc assignment has no room for new features
Problem:    Heredoc assignment has no room for new features. (FUJIWARA Takuya)
Solution:   Require the marker does not start with a lower case character.
            (closes vim/vim#4705)
2458200729
2019-10-13 11:54:54 +02:00
Jurica Bradaric
6c012b0624 vim-patch:8.1.1585: :let-heredoc does not trim enough
Problem:    :let-heredoc does not trim enough.
Solution:   Trim indent from the contents based on the indent of the first
            line.  Use let-heredoc in more tests.
e7eb92708e
2019-10-13 00:03:27 +02:00
Jurica Bradaric
b1ada8ec21 vim-patch:8.1.1354: getting a list of text lines is clumsy
Problem:    Getting a list of text lines is clumsy.
Solution:   Add the =<< assignment. (Yegappan Lakshmanan, closes vim/vim#4386)
f5842c5a53
2019-10-07 14:14:13 +02:00
Jan Edmund Lazo
ca11662515
vim-patch:8.0.1539: no test for the popup menu positioning
Problem:    No test for the popup menu positioning.
Solution:   Add a screendump test for the popup menu.
6bb2cdfe60
2019-09-21 08:43:07 -04:00
Jan Edmund Lazo
8db9e82e3e
vim-patch:8.0.1770: assert functions don't return anything
Problem:    Assert functions don't return anything.
Solution:   Return non-zero when the assertion fails.
65a5464985
2019-09-16 23:42:44 -04:00
Jan Edmund Lazo
792c290343
vim-patch:8.0.1523: cannot write and read terminal screendumps
Problem:    Cannot write and read terminal screendumps.
Solution:   Add term_dumpwrite(), term_dumpread() and term_dumpdiff().
            Also add assert_equalfile().
d96ff16511
2019-09-16 21:36:46 -04:00
Jaskaran Singh
3afb397407 syntax, TUI: support "strikethrough"
fix #3436

Includes:
vim-patch:8.0.1038: strike-through text not supported
2019-09-13 14:46:19 -07:00
Justin M. Keyes
6dd56d0902 UIAttach, UIDetach
doc: ginit.vim, gvimrc
fix #3656
2019-09-12 17:04:05 -07:00
Justin M. Keyes
7652904f79
eval: wait(): always spin up dummy-timer #10990
This avoids getting "stuck".  If user actually _wants_ to get stuck
forever, they could use `:sleep` or specify a really big `interval`.
2019-09-11 12:56:46 -07:00
Justin M. Keyes
06bfb07e35 doc
fix #10127
fix #5972
2019-09-11 00:10:27 -07:00
Justin M. Keyes
81c3fa6c9d doc 2019-09-09 09:53:19 -07:00
Justin M. Keyes
c044ea0909 vim-patch:088e8e344352
Update runtime files.
088e8e3443
2019-09-06 18:30:35 -07:00
Justin M. Keyes
8b06231612 Merge #10869 'vim-patch:8.1.{0309,0362,0365,0515,1946}' 2019-09-05 14:10:32 -07:00
Björn Linse
79ea47d478
Merge pull request #10451 from bfredl/floatbuf
anchor float to buffer position
2019-09-05 12:50:38 +02:00
Björn Linse
d5162afa2a anchor float to buffer position
vim-patch:8.1.1645: cannot use a popup window for a balloon
2019-09-04 23:57:02 +02:00
Justin M. Keyes
83c5701fe6 vim-patch:8.1.1498: ":write" increments b:changedtick even though nothing changed
Problem:    ":write" increments b:changedtick even though nothing changed.
            (Daniel Hahler)
Solution:   Only increment b:changedtick if the modified flag is reset.
c024b46678
2019-09-04 21:21:28 +02:00
erw7
9db60b06a1 vim-patch:8.1.0515: reloading a script gives errors for existing functions
Problem:    Reloading a script gives errors for existing functions.
Solution:   Allow redefining a function once when reloading a script.
ded5f1bed7
2019-09-04 13:40:05 +09:00
erw7
a2e48b556b vim-patch:8.1.0362: cannot get the script line number when executing a function
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".
f29c1c6aa3
2019-09-04 13:40:04 +09:00
Justin M. Keyes
58318af718 jobwait(): fix race if job exits before waiting on it
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
2019-09-03 16:14:29 +02:00
Abdelhakeem
7844501c2b eval: add wait()
closes #10362
2019-09-01 21:17:14 +02:00
Justin M. Keyes
0221a9220a paste: edge-case: handle EOL at end-of-buffer
This is "readfile()-style", see also ":help channel-lines".
2019-08-27 21:19:10 +02:00
Justin M. Keyes
21f0f7bca5 paste: WIP #4448 2019-08-27 21:19:10 +02:00
Daniel Hahler
e3e0574cb3
Merge pull request #10841 from janlazo/vim-7.4.1407
vim-patch:7.4.1407,8.1.1111
2019-08-25 21:04:17 +02:00
Daniel Hahler
bec2336231
vim-patch:8.1.1913: not easy to compute the space on the command line (#10845)
Problem:    Not easy to compute the space on the command line.
Solution:   Add v:echospace. (Daniel Hahler, closes vim/vim#4732)
37f4cbd46f
2019-08-25 20:53:17 +02:00
Jan Edmund Lazo
66c06dad62
vim-patch:8.1.1924: using empty string for current buffer is unexpected
Problem:    Using empty string for current buffer is unexpected.
Solution:   Make the argument optional for bufname() and bufnr().
a8eee21e75
2019-08-24 21:18:15 -04:00
Jan Edmund Lazo
1dc088ea7d
vim-patch:8.1.1111: it is not easy to check for infinity
Problem:    It is not easy to check for infinity.
Solution:   Add isinf(). (Ozaki Kiichi, closes vim/vim#3787)
fda1bff39f
2019-08-24 17:02:05 -04:00
Jan Edmund Lazo
01b5499eea
vim-patch:7.4.1407
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().
f1b6ac7229
2019-08-24 15:56:17 -04:00
Jan Edmund Lazo
2a1887c2df
vim-patch:8.1.0187: getwininfo() and win_screenpos() return different numbers
Problem:    getwininfo() and win_screenpos() return different numbers.
Solution:   Add one to "wincol" and "winrow" from getwininfo().
7132ddc101
2019-08-23 07:46:51 -04:00
Jan Edmund Lazo
c58054c231
vim-patch:8.0.1386: cannot select modified buffers with getbufinfo()
Problem:    Cannot select modified buffers with getbufinfo().
Solution:   Add the "bufmodified" flag. (Yegappan Lakshmanan, closes vim/vim#2431)
8e6a31df81
2019-08-23 07:46:51 -04:00