Commit Graph

807 Commits

Author SHA1 Message Date
Sean Dewar
32589341a4
vim-patch:8.1.1828: not strict enough checking syntax of method invocation
Problem:    Not strict enough checking syntax of method invocation.
Solution:   Check there is no white space inside ->method(.
5184132ec0
2021-08-12 22:35:21 +01:00
Sean Dewar
aa2dc8b7b4
vim-patch:8.1.1809: more functions can be used as a method
Problem:    More functions can be used as a method.
Solution:   Add has_key(), split(), str2list(), etc.
a74e4946de
2021-08-12 22:35:20 +01:00
Sean Dewar
003c8acc8a
vim-patch:8.1.1807: more functions can be used as a method
Problem:    More functions can be used as a method.
Solution:   Add append(), appendbufline(), assert_equal(), etc.
            Also add the :eval command.
25e42231d3

:eval is already ported.
2021-08-12 22:35:20 +01:00
Sean Dewar
e6be6c307a
vim-patch:8.1.1803: all builtin functions are global
Problem:    All builtin functions are global.
Solution:   Add the method call operator ->.  Implemented for a limited number
            of functions.
ac92e25a33

- 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.
2021-08-12 22:35:19 +01:00
Jan Edmund Lazo
e4fedf5156
vim-patch:8.2.3254: win_gettype() does not recognize a quickfix window
Problem:    win_gettype() does not recognize a quickfix window.
Solution:   Add "quickfix" and "loclist". (Yegappan Lakshmanan, closes vim/vim#8676)
28d8421bfb
2021-07-31 15:10:51 -04:00
Jan Edmund Lazo
59e96717d2
vim-patch:8.2.3019: location list only has the start position.
Problem:    Location list only has the start position.
Solution:   Make it possible to add an end position. (Shane-XB-Qian,
            closes vim/vim#8393)
6864efa596

N/A patches for version.c:

vim-patch:8.2.3002: Vim doesn't abort on a fatal Tcl error

Problem:    Vim doesn't abort on a fatal Tcl error.
Solution:   Change emsg() to iemsg(). (Dominique Pellé, closes vim/vim#8383)
affd0bc626

vim-patch:8.2.3030: Coverity reports a memory leak

Problem:    Coverity reports a memory leak.
Solution:   Fix the leak and a few typos. (Dominique Pellé, closes vim/vim#8418)
cb54bc6562

Patch v8.2.3022 is mostly N/A but cannot be included here
because of new feature check for "has()".

vim-patch:8.2.3032: build problems with MSVC, other crypt issues with libsodium

Problem:    Build problems with MSVC, other crypt issues with libsodium.
Solution:   Adjust MSVC makefile. Disable swap file only when 'key' is set.
            Adjust error message used when key is wrong.  Fix Coverity issues.
            (Christian Brabandt, closes vim/vim#8420, closes vim/vim#8411)
226b28b961

vim-patch:8.2.3044: Amiga MorphOS and AROS: process ID is not valid

Problem:    Amiga MorphOS and AROS: process ID is not valid.
Solution:   Use FindTask to return something which is unique to all processes.
            (Ola Söder, closes vim/vim#8444)
3a62b14077

vim-patch:8.2.3046: Amiga MorphOS: Term mode is set using DOS packets

Problem:    Amiga MorphOS: Term mode is set using DOS packets.
Solution:   Use the same way of setting term mdoe on all next gen Amiga-like
            systems.  (Ola Söder, closes vim/vim#8445)
b420ac9d20
2021-07-31 15:10:23 -04:00
Jan Edmund Lazo
3865b43205
vim-patch:8.2.2957: using getchar() in Vim9 script is problematic
Problem:    Using getchar() in Vim9 script is problematic.
Solution:   Add getcharstr(). (closes vim/vim#8343)
3a7503c34c

Cherry-pick Test_getchar() changes from patch v8.1.2304
to sync with upstream.

Port f_getcharstr() to src/nvim/eval/funcs.c, not src/nvim/getchar.c.
Patch v8.1.2042 is not ported yet.
2021-07-29 21:51:39 -04:00
zeertzjq
04ba81ddba vim-patch:8.2.3236: mode() does not indicate using CTRL-O in Select mode
Problem:    mode() does not indicate using CTRL-O in Select mode.
Solution:   Use "vs" and similar. (closes vim/vim#8640)
eaf3f36168
2021-07-29 07:47:17 +08:00
matveyt
8ce0929418 Remove EXMODE_NORMAL 2021-07-23 18:08:40 +02:00
Gregory Anders
eb7f24b4ae feat(job): add parameter to close stdin
Some programs behave differently when they detect that stdin is being
piped. This can be problematic when these programs are used with the job
control API where stdin is attached, but not typically used. It is
possible to run the job using a PTY which circumvents this problem, but
that includes a lot of overhead when simply closing the stdin pipe would
suffice.

To enable this behavior, add a new parameter to the jobstart options
dict called "stdin" with two valid values: "pipe" (the default)
implements the existing behavior of opening a channel for stdin and
"null" which disconnects stdin (or, if you prefer, connects it to
/dev/null). This is extensible so that other modes can be added in the
future.
2021-07-12 15:17:10 +02:00
cbarrete
bd7a0b46a9
doc: remove mentions of compile-time flags #14935
Nvim always compiles everything in so those are useless at best and
confusing at worst.
2021-07-07 18:51:40 -07:00
Jan Edmund Lazo
4cb0bf0942
vim-patch:8.2.1255: cannot use a lambda with quickfix functions
Problem:    Cannot use a lambda with quickfix functions.
Solution:   Add support for lambda. (Yegappan Lakshmanan, closes vim/vim#6499)
d43906d2e5
2021-06-23 23:16:20 -04:00
Jan Edmund Lazo
8b81218300
vim-patch:8.2.1354: test 59 is old style
Problem:    Test 59 is old style.
Solution:   Convert into a new style test. (Yegappan Lakshmanan, closes vim/vim#6604)
aa970abd0a
2021-06-13 10:19:48 -04:00
Jan Edmund Lazo
72b512bd53
vim-patch:8.2.0945: cannot use "z=" when 'spell' is off
Problem:    Cannot use "z=" when 'spell' is off.
Solution:   Make "z=" work even when 'spell' is off. (Christian Brabandt,
            Gary Johnson, closes vim/vim#6227)
152e79e94b
2021-06-12 13:06:50 -04:00
kevinhwang91
ebe1a08366 vim-patch:8.2.0869: it is not possible to customize the quickfix window contents
Problem:    It is not possible to customize the quickfix window contents.
Solution:   Add 'quickfixtextfunc'. (Yegappan Lakshmanan, closes vim/vim#5465)
858ba06d5f
2021-05-20 00:16:07 +08:00
Jan Edmund Lazo
dab6b08a1e
Merge pull request #14406 from shadmansaleh/vim-8.2.0877
vim-patch:8.2.{0877, 0880, 0884, 0887, 0896} - port searchcount()
2021-05-15 20:57:50 -04:00
Jan Edmund Lazo
d2be261e8d
Merge pull request #14403 from seandewar/vim-8.2.1933
vim-patch:8.2.{0174,1933,1935,1946,2286,2287}
2021-05-09 17:08:21 -04:00
shadmansaleh
e498f265f4 vim-patch:8.2.0877: cannot get the search statistics
Problem:    Cannot get the search statistics.
Solution:   Add the searchcount() function. (Fujiwara Takuya, closes vim/vim#4446)
e8f5ec0d30

Additional changes:
- Tests weren't passing because the test ran assuming the cursor was at
  start of buffer but append() left the cursor at end of buffer .
  So cursor is moved to start of buffer after append.
- searchcount() added to list of builtin functions.
2021-05-09 06:37:01 +06:00
Jan Edmund Lazo
5165513198
Merge pull request #13664 from ivechan/win_exectute
vim-patch:8.1.{1418,1425,1832,2124},8.2.{0137, 2340}
2021-05-07 08:34:28 -04:00
jing
f6518e5516 vim-patch:8.1.1418: win_execute() is not implemented yet
Problem:    Win_execute() is not implemented yet.
Solution:   Implement it.
868b7b6712
2021-05-06 23:44:47 +08:00
Jan Edmund Lazo
f70ecbd4dc
vim-patch:8.2.1166: once mouse move events are enabled getchar() returns them
Problem:    Once mouse move events are enabled getchar() returns them.
Solution:   Ignore K_MOUSEMOVE in getchar(). (closes vim/vim#6424)
ae97b94176
2021-05-06 00:26:37 -04:00
Jan Edmund Lazo
ad6bb386be
vim-patch:4c295027a426
Update runtime files
4c295027a4
2021-05-02 13:00:38 -04:00
Jan Edmund Lazo
abb13dde98
vim-patch:130cbfc31235
Update runtime files
130cbfc312
2021-05-02 12:03:34 -04:00
Jan Edmund Lazo
b8f3ef10c9
vim-patch:dad4473f02e1
Update runtime files.
dad4473f02

Omit :echoconsole. Patch v8.2.2638 is not ported.
2021-05-02 11:51:38 -04:00
Jan Edmund Lazo
eea3a692c6
vim-patch:c8cdf0f80b3c
Update runtime files.
c8cdf0f80b
2021-05-02 10:33:32 -04:00
Jan Edmund Lazo
ac83c6eba6
vim-patch:e0e391755432
Update runtime files.
e0e3917554
2021-05-01 23:19:58 -04:00
Jan Edmund Lazo
8f8602d2df
vim-patch:98a29d00a48e
Update runtime files.
98a29d00a4
2021-05-01 23:19:57 -04:00
Jan Edmund Lazo
c1dd4e83b4
vim-patch:7e6a515ed14e
Update runtime files.
7e6a515ed1

Omit vim9.
2021-05-01 22:29:03 -04:00
Jan Edmund Lazo
b1cd67b62e
vim-patch:4072ba571bab
Update runtime files.
4072ba571b

Omit vim9 references.
Omit assert_fails(). Patch v8.2.1183 is not ported yet.
2021-05-01 22:29:03 -04:00
Jan Edmund Lazo
710f0eae2f
vim-patch:1b884a005398
Update runtime files.
1b884a0053

Omit doc/autocmd.txt.
Omit tools/emoji_list.vim. Patch v8.2.1540 is not ported.
2021-05-01 22:29:03 -04:00
Jan Edmund Lazo
0c93005383
vim-patch:4466ad6baa22
Update runtime files
4466ad6baa

Omit vim9 references in autocmd.txt.
Omit matchfuzzypos().
2021-05-01 22:29:02 -04:00
Jan Edmund Lazo
2ebd1f6286
vim-patch:3132cddd209e
Update runtime files
3132cddd20

Omit :sort,sort() changes.
2021-05-01 22:29:02 -04:00
Jan Edmund Lazo
330500a5bf
vim-patch:cb80aa2d53e5
Update runtime files.
cb80aa2d53

Omit runtime/doc/tabpage.txt.
Patch v8.2.1401 is not ported yet.

Port optwin.vim changes without gettext().
Patch v8.2.1544 is not ported yet.
2021-05-01 22:29:02 -04:00
Jan Edmund Lazo
b16c7c515c
vim-patch:4f4d51a942cc
Update runtime files.
4f4d51a942

Omit "??" operator.
Patches v8.2.1794,v8.2.1798 are not ported yet.
2021-05-01 14:22:52 -04:00
Jan Edmund Lazo
e1171cf1d2
vim-patch:d58a3bf7dac8
Update runtime files.
d58a3bf7da

Omit syntax/man.vim.
2021-05-01 02:01:25 -04:00
Jan Edmund Lazo
d1a2523f6c
vim-patch:1d59aa1fdfb1
Update runtime files.
1d59aa1fdf
2021-05-01 01:37:13 -04:00
Jan Edmund Lazo
f5d1f0bf03
vim-patch:1c6737b20a5c
Update runtime files.
1c6737b20a
2021-04-29 23:35:37 -04:00
Jan Edmund Lazo
1e03e76daf
vim-patch:207f009326c8
Update runtime files.
207f009326

Omit nl.po.
2021-04-29 21:56:34 -04:00
Jan Edmund Lazo
09f3e62bc6
vim-patch:e7b1ea0276cc
Update runtime files.
e7b1ea0276
2021-04-29 20:42:16 -04:00
Jan Edmund Lazo
27fb03f5a0
vim-patch:7ff78465f705
Update runtime files
7ff78465f7
2021-04-28 23:04:14 -04:00
Jan Edmund Lazo
bb172c5104
vim-patch:e46a44050562
Runtime file updates
e46a440505

Omit vim9.
2021-04-28 22:42:43 -04:00
Jan Edmund Lazo
7c6ca6fed8
vim-patch:73fef33014db
Update runtime files
73fef33014

Omit usr_46.txt.
2021-04-28 22:14:37 -04:00
Jan Edmund Lazo
df2acdc3be
vim-patch:65e0d77a66b7
Update runtime files
65e0d77a66

Omit usr_46.txt because of vim9.
2021-04-28 21:57:50 -04:00
Jan Edmund Lazo
65821cc1b9
vim-patch:388a5d4f20b4
Update runtime files
388a5d4f20

Omit vim9.
2021-04-28 21:29:57 -04:00
Jan Edmund Lazo
038ce7a5af
vim-patch:7ceefb35c811
Update runtime files
7ceefb35c8

Omit {ftplugin,syntax}/man.vim changes.
Omit E565,E578. They depend on patches v8.2.0614, v2.2.0670.
2021-04-28 21:29:56 -04:00
Jan Edmund Lazo
e612a0a76a
vim-patch:d1caa941d876
Update runtime files
d1caa941d8

Cherry-pick error E452 from patch v8.2.0486.
2021-04-27 22:40:39 -04:00
Jan Edmund Lazo
e7f6c52014
vim-patch:b17893aa940d
Update runtime files
b17893aa94

Omit feedkeys() changes.
2021-04-27 21:25:35 -04:00
Jan Edmund Lazo
95f02cb587
vim-patch:8.2.2388: no easy way to get the maximum or mininum number value
Problem:    No easy way to get the maximum or mininum number value.
Solution:   Add v:numbermax and v:numbermin.
57d5a01cb4
2021-04-27 09:21:36 -04:00
Jan Edmund Lazo
25c0675fe3
vim-patch:8.2.0296: mixing up "long long" and __int64 may cause problems
Problem:    Mixing up "long long" and __int64 may cause problems. (John
            Marriott)
Solution:   Pass varnumber_T to vim_snprintf().  Add v:numbersize.
f9706e9df0
2021-04-27 09:21:35 -04:00
Jan Edmund Lazo
e257aff016
vim-patch:bc93cebb692f
Update runtime files.
bc93cebb69
2021-04-27 09:21:35 -04:00
Jan Edmund Lazo
4819737853
vim-patch:560979ed4f02
Update runtime files.
560979ed4f

Omit vim9.
2021-04-27 09:21:34 -04:00
Jan Edmund Lazo
5e1f434764
vim-patch:2963456ff2b7
Update runtime files.
2963456ff2
2021-04-27 09:21:33 -04:00
Jan Edmund Lazo
ae362c2120
vim-patch:5666fcd0bd79
Update runtime files.
5666fcd0bd

Do not manually port E290 error message.
Neovim has E5030,E5031 error messages to replace E290.
2021-04-27 09:21:33 -04:00
Jan Edmund Lazo
527d108223
vim-patch:664f3cf3f21d
Runtime file updates.
664f3cf3f2
2021-04-27 09:21:31 -04:00
Jan Edmund Lazo
52564c9aa2
vim-patch:09c6f265b210
Update runtime files.
09c6f265b2

Omit getmousepos().
Patch v8.1.2304 is not ported yet.
2021-04-27 09:21:30 -04:00
Jan Edmund Lazo
233292b0ba
vim-patch:96f45c0b6fc9
Update runtime files
96f45c0b6f

Omit de.po changes.
Same reason as before: too much and I don't understand the language.
2021-04-27 09:21:28 -04:00
Jan Edmund Lazo
f0bf853f41
vim-patch:2e693a88b24d
Update runtime files.
2e693a88b2
2021-04-27 09:21:28 -04:00
Jan Edmund Lazo
b1fed1ada9
vim-patch:5be4ceecea55
Update runtime files.
5be4ceecea
2021-04-27 09:21:27 -04:00
Jan Edmund Lazo
01a629ca03
vim-patch:8.1.1726: the eval.txt help file is too big
Problem:    The eval.txt help file is too big.
Solution:   Split off testing support to testing.txt.  Move function details
            to where the functionality is explained.
ed997adaa1

Vim commit 5477506a9f01d40fad2e8f0555bc37adee30478f
contains the duplicate tag fix in runtime/doc/testing.txt.
2021-04-27 09:21:26 -04:00
Sean Dewar
65f35e0c7d
vim-patch:8.2.1588: cannot read back the prompt of a prompt buffer
Problem:    Cannot read back the prompt of a prompt buffer.
Solution:   Add prompt_getprompt(). (Ben Jackson, closes vim/vim#6851)
077cc7aa0e

Updated prompt_getprompt() doc to cb80aa2d53
and removed mention of method syntax usage (not supported by Nvim).
2021-04-21 14:55:04 +01:00
Sean Dewar
eef5a627bf
doc: port changes for locale-based :sort
Cherry-picked from 3132cddd20.
2021-04-20 10:12:10 +01:00
Sean Dewar
6a0b8cbd81
vim-patch:8.2.1933: cannot sort using locale ordering
Problem:    Cannot sort using locale ordering.
Solution:   Add a flag for :sort and sort() to use the locale. (Dominique
            Pellé, closes vim/vim#7237)
55e29611d2
2021-04-20 10:12:02 +01:00
Sean Dewar
1d72b6e4cd
eval: port v:collate
Cherry-picked from patch v8.2.0988. Required for patch v8.2.1933.
2021-04-20 02:03:46 +01:00
Björn Linse
a6504ec339
Merge pull request #13684 from pohzipohzi/input
doc: add description for cancelreturn option in input()
2021-04-16 09:47:45 +02:00
Jan Edmund Lazo
b34dc4c458
ex_cmds: port :eval
Cherry-picked from patch v8.1.1807.
Required for patch v8.2.2761.
2021-04-15 18:30:03 -04:00
Jan Edmund Lazo
0d0eeff8a3
eval: add v:_null_string
Replacement for Vim's test_null_string().
Vim uses it to verify that its codebase handles null strings.
Preparation for the Test_null_list() in patch v8.2.1822.

Use v:_null_string, not non-existent env var, for null string tests.

Mention v:_null_string in id() because id(v:_null_string) returns (nil).
2021-04-08 22:36:20 -04:00
pohzipohzi
afae96e69a doc: add description for cancelreturn option in input() 2021-04-08 17:56:31 +08:00
Lewis Russell
5257bce979 vim-patch:8.1.1682: placing a larger number of ...
...signs is slow

Problem:    Placing a larger number of signs is slow.
Solution:   Add functions for dealing with a list of signs. (Yegappan
            Lakshmanan, closes #4636)
2021-04-03 23:56:54 +01:00
Jan Edmund Lazo
abdda66410
vim-patch:8.2.2694: when 'matchpairs' is empty every character beeps (#14279)
Problem:    When 'matchpairs' is empty every character beeps. (Marco Hinz)
Solution:   Bail out when no character in 'matchpairs' was found.
            (closes vim/vim#8053)  Add assert_nobeep().
5b8cabfef7
2021-04-03 08:49:39 -04:00
VVKot
7fc58ec99a vim-patch:8.1.0542: shiftwidth() does not take 'vartabstop' into account
Problem:    shiftwidth() does not take 'vartabstop' into account.
Solution:   Use the cursor position or a position explicitly passed.
            Also make >> and << work better with 'vartabstop'. (Christian
            Brabandt)
f951416a83
2021-03-28 08:38:21 +01:00
VVKot
6752ac4968 vim-patch:8.1.0105: all tab stops are the same
Problem:    All tab stops are the same.
Solution:   Add the variable tabstop feature. (Christian Brabandt,
            closes vim/vim#2711)
04958cbaf2
2021-03-28 08:37:01 +01:00
Jan Edmund Lazo
3261ba98a2
vim-patch:8.1.2326: cannot parse a date/time string
Problem:    Cannot parse a date/time string.
Solution:   Add strptime(). (Stephen Wall, closes #)
10455d43fe

N/A patches for version.c:

vim-patch:8.1.2344: Cygwin: warning for using strptime()

Problem:    Cygwin: warning for using strptime().
Solution:   Move defining _XOPEN_SOURCE and __USE_XOPEN to vim.h. (Ken Takata,
            closes vim/vim#5265)  Use 700 for _XOPEN_SOURCE for mkdtemp().
6a228c6463
2021-03-27 10:53:41 -04:00
Andy K. Massimino
1ef4340f22 vim-patch:8.1.2020: it is not easy to change the window layout
Problem:    It is not easy to change the window layout.
Solution:   Add win_splitmove(). (Andy Massimino, closes vim/vim#4561)
d20dcb3d01
2021-03-19 23:02:28 -04:00
erw7
6deabca3e7 eval: add fname_case to feature list 2021-02-25 13:50:31 +09:00
kuuote
0450e155d4
vim-patch:8.2.2233: cannot convert a byte index into a character index (#13978)
Problem:    Cannot convert a byte index into a character index.
Solution:   Add charidx(). (Yegappan Lakshmanan, closes vim/vim#7561)
17793ef23a
2021-02-22 20:13:14 -05:00
erw7
66b0ab0883
vim-patch:8.1.1310: named function arguments are never optional
Problem:    Named function arguments are never optional.
Solution:   Support optional function arguments with a default value. (Andy
            Massimino, closes vim/vim#3952)
42ae78cfff
2021-02-22 09:16:41 -05:00
Jan Edmund Lazo
595f6e4d64
vim-patch:8.2.2070: can't get the exit value in VimLeave(Pre) autocommands (#13981)
Problem:    Can't get the exit value in VimLeave or VimLeavePre autocommands.
Solution:   Add v:exiting like in Neovim. (Yegappan Lakshmanan, closes vim/vim#7395)
f0068c5154

Rearrange VimVarIndex enums and vimvars[] entries to sync with  Vim.

N/A patches for version.c:

vim-patch:8.2.2535: MS-Windows: cannot run all vim9 tests

Problem:    MS-Windows: cannot run all vim9 tests.
Solution:   Make test_vim9 target work.
723ef5db98
2021-02-20 23:45:14 -05:00
Jan Edmund Lazo
147d40f2a0
vim-patch:8.2.0925: getcompletion() does not return command line arguments
Problem:    Getcompletion() does not return command line arguments.
Solution:   Add the "cmdline" option. (Shougo, closes vim/vim#1140)
1f1fd44ef7
2021-02-14 10:00:59 -05:00
Jan Edmund Lazo
54cd7298f8
vim-patch:8.2.0054: :diffget and :diffput don't have good completion
Problem:    :diffget and :diffput don't have good completion.
Solution:   Add proper completion. (Dominique Pelle, closes vim/vim#5409)
ae7dba8969
2021-02-13 18:17:25 -05:00
James McCoy
33f92fe025
fix(pty): Always use $TERM from the job's env dict
Before #12937, the only way to specify the `$TERM` for a pty job was
through the `TERM` key in the job's opts dict.  This was shuttled to the
child process throug a special field on the PtyProcess object and
injected into the environment after forking.

Now that we have a proper way to specify the environment for a job, we
can simply ensure that the env dict has a proper `TERM` set and avoid
the extra shuttling of data around.

This deprecates the use of the `TERM` option, but will still honor it if
present, although at a lower priority than a `TERM` present in the env
dict.

This also fixes #13874 because we're no longer trying to overwrite
`TERM` in the env dict with the special pty `term_name`.  Doing so
raises an internal error because of the existing key which, under
certain circumstances, would cause the "hit enter" prompt.  However,
since the child process had already forked, there was no way for the
user to acknowledge the prompt and we would just hang there.
2021-02-06 07:12:33 -05:00
Patrik Wenger
6d5626f355 remove trailing tabs 2021-01-04 20:10:34 +01:00
Jan Edmund Lazo
a1ed941a78
vim-patch:8.2.0861: cannot easily get all the current marks (#13676)
Problem:    Cannot easily get all the current marks.
Solution:   Add getmarklist(). (Yegappan Lakshmanan, closes #6032)
cfb4b47de0

Cherry-pick the column number fix from patch v8.2.0871
because patch v8.2.0871 cannot be fully ported
without the method patches.

Co-authored-by: Peter Wolf <pwolf2310@gmail.com>
2021-01-03 15:33:21 -05:00
Jan Edmund Lazo
062576f679
vim-patch:8.2.0047: cannot skip tests for specific MS-Windows platform (#13461)
Problem:    Cannot skip tests for specific MS-Windows platform.
Solution:   Add windowsversion().
0c1e3744ff
2020-12-11 19:45:22 -05:00
Jan Edmund Lazo
a4e18e50ef
runtime/doc: strftime() is always available 2020-12-06 19:26:33 -05:00
Jan Edmund Lazo
8d7fa8962b
vim-patch:8.2.0996: using "aucmdwin" in win_gettype() is not ideal
Problem:    Using "aucmdwin" in win_gettype() is not ideal.
Solution:   Rename to "autocmd".
40a019f157
2020-11-25 02:46:20 -05:00
Jan Edmund Lazo
9b2efe6b7d
vim-patch:8.2.0991: cannot get window type for autocmd and preview window
Problem:    Cannot get window type for autocmd and preview window.
Solution:   Add types to win_gettype(). (Yegappan Lakshmanan, closes vim/vim#6277)
0fe937fd86

Cherry-pick test_preview.vim,test_window_cmd.vim changes
from patch v8.2.0522.
2020-11-25 02:45:00 -05:00
Jan Edmund Lazo
ede747c2cc
vim-patch:8.2.0257: cannot recognize a terminal in a popup window
Problem:    Cannot recognize a terminal in a popup window.
Solution:   Add the win_gettype() function.
00f3b4e007
2020-11-25 02:10:44 -05:00
georg3tom
7777532ceb Removed restricted mode - Fix #11972 2020-11-11 18:07:58 +01:00
Andrea Cedraro
4c7ad9527d
Add v:event flag on DirChanged signaling switching window (#13153)
Closes #9909
2020-11-07 12:02:06 -05:00
Alex Genco
ed0a70087a vim-patch:8.1.1056: no eval function for Ruby
Problem:    No eval function for Ruby.
Solution:   Add rubyeval(). (Ozaki Kiichi, closes vim/vim#4152)
e99be0e6d2
2020-10-21 10:20:21 -07:00
Jan Edmund Lazo
7b2fd21560
Revert "vim-patch:8.1.1015: quickfix buffer shows up in list, can't get buffer number"
This reverts commit 4cd69151cf.
2020-10-20 22:07:45 -04:00
skippi
8c9d9fa304 vim-patch:8.2.0868: trim() always trims both ends
Problem:    trim() always trims both ends.
Solution:   Add an argument to only trim the beginning or end. (Yegappan
            Lakshmanan, closes vim/vim#6126)
2245ae18e3
2020-10-17 14:07:35 -05:00
Jan Edmund Lazo
4cd69151cf
vim-patch:8.1.1015: quickfix buffer shows up in list, can't get buffer number
Problem:    Quickfix buffer shows up in list, can't get buffer number.
Solution:   Make the quickfix buffer unlisted when the quickfix window is
            closed.  get the quickfix buffer number with getqflist().
            (Yegappan Lakshmanan, closes vim/vim#4113)
647e24ba3d
2020-10-10 22:58:39 -04:00
Jan Edmund Lazo
e9004e2af0
vim-patch:8.1.0720: cannot easily change the current quickfx list index
Problem:    Cannot easily change the current quickfx list index.
Solution:   Add the "idx" argument to setqflist(). (Yegappan Lakshmanan,
            closes vim/vim#3701)
5b69c22fd2
2020-10-10 15:28:07 -04:00
Jan Edmund Lazo
4a6e201e37
vim-patch:8.1.1705: using ~{} for a literal dict is not nice
Problem:    Using ~{} for a literal dict is not nice.
Solution:   Use #{} instead.
4c6d90458b
2020-10-07 01:03:48 -04:00
Jan Edmund Lazo
20fc7ef161
vim-patch:8.1.1692: using *{} for literal dict is not backwards compatible
Problem:    Using *{} for literal dict is not backwards compatible. (Yasuhiro
            Matsumoto)
Solution:   Use ~{} instead.
b8be54dcc5
2020-10-07 00:56:38 -04:00
Jan Edmund Lazo
7ca5dc2519
vim-patch:8.1.1683: dictionary with string keys is longer than needed
Problem:    Dictionary with string keys is longer than needed.
Solution:   Use *{key: val} for literaly keys.
d5abb4c877

Vim's popup,textprop features are N/A.
Neovim has not polyfilled their APIs.
Skip docs and tests for these features.
2020-10-07 00:36:48 -04:00
Justin M. Keyes
858c056133
Support for :perl, :perlfile, :perldo and perleval() (#12809)
* support for :perl, :perlfile, :perldo and perleval()

* document that the perl provider doesn't currently work on Windows

* document that the perl legacy interface is now also supported

* added perleval() documentation

* import legacy perl interface tests

* only perl 5.22+ is supported

* healtcheck: use g:perl_host_prog if its set instead

using just 'perl' isn't correct as it may not be the version requested.
ditto for 'cpanm', rather go through 'App::cpanminus' to find the latest
perl version
2020-09-05 13:55:06 -07:00
Jacques Germishuys
7725fd9880 added perleval() documentation 2020-09-03 09:57:59 +01:00
Justin M. Keyes
c2662210b5
docs, remove 'guifontset' #11708
- remove redundant autocmd list
  This "grouped" list is useless, it only gets in the way when searching
  for event names.
- intro.txt: cleanup
- starting.txt: update, revisit
- doc: `:help bisect`
- mbyte.txt: update aliases 1656367b90. closes #11960
- options: remove 'guifontset'. Why:
  - It is complicated and is used by almost no one.
  - It is unlikely to be implemented by Nvim GUIs (complicated to parse,
    specific to Xorg...).
2020-08-31 00:51:35 -07:00
Jan Edmund Lazo
107e50b25e
vim-patch:8.2.1517: cannot easily get the character under the cursor
Problem:    Cannot easily get the character under the cursor.
Solution:   Add the {chars} argument to strpart().
6c53fca023
2020-08-23 18:32:39 -04:00
Jan Edmund Lazo
0680b5218e
vim-patch:8.1.2341: not so easy to interrupt a script programatically
Problem:    Not so easy to interrupt a script programatically.
Solution:   Add the interrupt() function. (Yasuhiro Matsumoto, closes vim/vim#2834)
67a2deb9cb
2020-08-14 18:20:28 -04:00
Matthieu Coudron
459800db43
Merge pull request #12575 from cbarrete/vim-8.2.0935
[RFC] vim-patch:8.2.{0935,0937}
2020-07-20 22:04:30 +02:00
Jan Edmund Lazo
93f2dc0d03
vim-patch:8.2.0893: assert_equalfile() does not take a third argument
Problem:    Assert_equalfile() does not take a third argument.
Solution:   Implement the third argument. (Gary Johnson)
fb517bac23
2020-07-19 11:40:34 -04:00
Cédric Barreteau
6420615e3f vim-patch:8.2.0935: flattening a list with existing code is slow
Problem:    Flattening a list with existing code is slow.
Solution:   Add flatten(). (Mopp, closes vim/vim#3676)
077a1e670a
2020-07-15 20:27:20 +02:00
Matthieu Coudron
d5bbaf92c1 doc: fix wordcount description
was fixed in vim patch c572da5f67aa5cdbbc127fc6f1d0a42e38468325
and forgot in corresponding vim patch 8c3377ee76.
2020-06-29 20:08:20 +02:00
erw7
d17e38e482 Add overlapped option to jobstart
When UV_OVERLAPPED_PIPE was used for the pipe passed to the child process, a
problem occurred with the standard input of the .Net Framework application
(#11809). Therefore, add the overlapped option to jobstart() and change it so
that it is set only when necessary
2020-06-10 22:21:14 +09:00
Jan Edmund Lazo
909af2f3f1
vim-patch:8.2.0491: cannot recognize a <script> mapping using maparg()
Problem:    Cannot recognize a <script> mapping using maparg().
Solution:   Add the "script" key. (closes vim/vim#5873)
2da0f0c445
2020-06-04 20:52:53 -04:00
Christian Clason
8a1276005a
Add v:event.visual during TextYankPost (#12382)
* propagate visual selection to textyankpost event

* adapt tests

* add docs

* also adapt oldtest
2020-06-03 10:51:25 -04:00
kuuote
e89462d985
vim-patch:8.1.2233: cannot get the Vim command line arguments (#12117)
Problem:    Cannot get the Vim command line arguments.
Solution:   Add v:argv. (Dmitri Vereshchagin, closes vim/vim#1322)
69bf634858
2020-05-24 20:45:25 +02:00
Shougo
d7d69fed18
vim-patch:8.1.1084: cannot delete a match from another window (#12325)
Problem:    Cannot delete a match from another window. (Paul Jolly)
Solution:   Add window ID argument to matchdelete(), clearmatches(),
            getmatches() and setmatches(). (Andy Massimino, closes vim/vim#4178)
aff749145e
2020-05-16 15:25:51 +02:00
Hennadii Chernyshchyk
d2766b06c8
vim-patch:8.1.1120: cannot easily get directory entry matches #12222
Problem:    Cannot easily get directory entry matches.
Solution:   Add the readdir() function. (Yasuhiro Matsumoto, closes vim/vim#2439)
543c9b1921

closes #12212
2020-05-05 08:15:45 -07:00
Rob Pilling
978a6bcaf2 vim-patch:8.1.2225: the "last used" info of a buffer is under used
Problem:    The "last used" info of a buffer is under used.
Solution:   Add "lastused" to getbufinfo(). List buffers sorted by last-used
            field. (Andi Massimino, closes vim/vim#4722)
52410575be
2020-04-21 21:40:22 +01:00
Jan Edmund Lazo
1caa85b677
vim-patch:8.1.1466: not updating priority on existing sign
Problem:    Not updating priority on existing sign.
Solution:   Set the sign priority.  Add a test. (Yegappan Lakshmanan)
58a7f87c86
2020-03-01 20:02:09 -05:00
Jan Edmund Lazo
eba8a9ca1d
vim-patch:8.1.1510: a plugin cannot easily expand a command like done internally
Problem:    A plugin cannot easily expand a command like done internally.
Solution:   Add the expandcmd() function. (Yegappan Lakshmanan, closes vim/vim#4514)
80dad48c50
2020-03-01 03:57:58 -05:00
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
Jan Edmund Lazo
9358979d09
vim-patch:8.1.0037: cannot easily append lines to another buffer
Problem:    Cannot easily append lines to another buffer.
Solution:   Add appendbufline().
ca851593a6
2019-08-23 07:46:51 -04:00
Daniel Hahler
fd66ad2262 vim-patch:8.1.1305: there is no easy way to manipulate environment variables
Problem:    There is no easy way to manipulate environment variables.
Solution:   Add environ(), getenv() and setenv(). (Yasuhiro Matsumoto,
            closes vim/vim#2875)
691ddeefb5
2019-08-06 01:17:32 +02:00
Justin M. Keyes
df636003bf doc: remove "{not available ...}" noise 2019-08-02 16:36:42 +02:00
Justin M. Keyes
9bc4f275b3 vim-patch:5477506a9f01
Update runtime files.
5477506a9f

NA:
vim-patch:2a9c9f6d89f1 "undo extra changes in src/Makefile"
2a9c9f6d89
2019-08-02 16:20:23 +02:00
Justin M. Keyes
7c19a4e518 vim-patch:85850f3a5ef9
Update runtime files
85850f3a5e
2019-08-02 16:20:22 +02:00
Justin M. Keyes
0414a33868 vim-patch:61da1bfa6c6b
Update runtime files.
61da1bfa6c
2019-08-02 16:20:22 +02:00
Justin M. Keyes
4ea8323667 vim-patch:68e6560b84f1
Update runtime files.
68e6560b84
2019-08-02 16:20:22 +02:00
Justin M. Keyes
bf6919f26b cleanup 2019-08-02 16:20:22 +02:00
Justin M. Keyes
4d830ca31b vim-patch:62e1bb4a111e
Update runtime files.
62e1bb4a11

NA: vim-patch:496555fd1821
2019-08-01 22:58:20 +02:00
Justin M. Keyes
31a5ec23eb vim-patch:723dd946f948
Update runtime files.
723dd946f9
2019-08-01 22:52:42 +02:00
Justin M. Keyes
a14fc7b159 vim-patch:f6b401090e81
Update runtime files
f6b401090e
2019-08-01 22:26:04 +02:00
Justin M. Keyes
47b4eb110d vim-patch:4c92e75dd4dd
Update runtime files.
4c92e75dd4

vim-patch:c854898881c0
Revert change accidentally included in runtime file updates.  Closes vim/vim#3998.
c854898881
2019-08-01 16:51:53 +02:00
Justin M. Keyes
57fa9add79 vim-patch:314dd79cac2a
Update runtime files.
314dd79cac
2019-07-29 20:50:07 +02:00
Justin M. Keyes
6fed505100 vim-patch:d09091d4955c
Update runtime files.
d09091d495
2019-07-29 20:50:07 +02:00
Justin M. Keyes
4cab90ad8c vim-patch:c8c884926750
Update runtime files.
c8c8849267
2019-07-29 20:50:07 +02:00
Justin M. Keyes
aa680f6acb vim-patch:9d87a37ee9d8
Update runtime files.
9d87a37ee9
2019-07-29 20:50:07 +02:00
Justin M. Keyes
c8f34a9a3e vim-patch:d47d52232bf2
Update runtime files.
d47d52232b
2019-07-29 20:50:07 +02:00
Justin M. Keyes
80dda68926 vim-patch:ba3ff539303c
Update runtime files
ba3ff53930
2019-07-29 20:50:07 +02:00
Daniel Hahler
10fd5ae277 vim-patch:7.4.2213: runtime parts with EndOfBuffer port #10635
Problem:    Cannot highlight the "~" lines at the end of a window differently.
Solution:   Add the EndOfBuffer highlighting. (Marco Hinz, James McCoy)
58b853460a

Includes minor doc parts from 7.4.1304 for runtime/doc/eval.txt.
2019-07-28 13:27:03 +02:00
Daniel Hahler
256608a13b
vim-patch:b1c9198af (#10634)
Vim 8.1 release

Update version number and information.  Fix a couple of tests.
b1c9198afb
2019-07-28 11:48:07 +02:00
Abdelhakeem
b6278bbf12 API: Context: save/restore 2019-07-27 22:14:58 +02:00
Justin M. Keyes
afef973262
doc [ci skip] #10383
- test/README.md: document luassert `TableFormatLevel`
- CONTRIBUTING.md: absorb parts of the old "Development tips" wiki page
2019-07-19 21:32:04 +02:00
Justin M. Keyes
58dd5fcc01
jobstop(): close channel before process_stop() #10522
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**

  - af993da435 (`receive_msgpack`) tried to hack around same/similar issue.
  - Hack was removed in 5215e3205a.

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 ??:?
2019-07-17 11:13:57 +02:00
Shougo Matsushita
3f6346b732 vim-patch:8.1.1610: there is no way to add or load a buffer without side effects
Problem:    There is no way to add or load a buffer without side effects.
Solution:   Add the bufadd() and bufload() functions.
15e248e37f
2019-07-06 17:09:56 +09:00
Justin M. Keyes
2ef6f28e11
doc [ci skip] #10177
ref #10278 #10279 #10353
2019-06-30 00:09:45 +02:00
Justin M. Keyes
79450f2da9
Merge #10250 from blueyed/vim-8.0.1039
vim-patch:8.0.{10{39,53,55},1274}: cannot change a line in not current buffer
2019-06-25 02:36:07 +02:00
rhysd
3d5a800278 vim-patch:8.1.1554: docs and tests for :const can be improved
Problem:    Docs and tests for :const can be improved.
Solution:   Improve documentation, add a few more tests. (Ryuichi Hayashida,
            closes vim/vim#4551)
1c196e7b17
2019-06-24 09:31:30 +09:00
rhysd
1c90c19f62 vim-patch:8.1.1539: not easy to define a variable and lock it
Problem:    Not easy to define a variable and lock it.
Solution:   Add ":const".
9937a05543
2019-06-24 09:30:51 +09:00
Daniel Hahler
9485061baa vim-patch:8.0.1039: cannot change a line in not current buffer
Problem:    Cannot change a line in a buffer other than the current one.
Solution:   Add setbufline(). (Yasuhiro Matsumoto, Ozaki Kiichi, closes vim/vim#1953)
b31cf2bb0b
2019-06-17 23:43:26 +02:00
Jan Edmund Lazo
e6a1bea1eb vim-patch:8.0.0931: getwininfo() does not indicate a terminal window
Problem:    getwininfo() does not indicate a terminal window.
Solution:   Add "terminal" to the dictionary.
69905d108b
2019-06-13 19:39:55 -04:00
Justin M. Keyes
04e2ba85b1
doc [ci skip] #10129
- document lua vim.loop #10123
2019-06-10 15:53:42 +02:00
Jan Edmund Lazo
0b4c53fc23 vim-patch:8.0.1305: writefile() never calls fsync() #10153
Problem:    Writefile() never calls fsync().
Solution:   Follow the 'fsync' option with override to enable or disable.
7567d0b115
2019-06-09 00:12:28 +02:00
Justin M. Keyes
8a33cb32ba Merge #10086 'vim-patch:8.1.{902,1114}' 2019-06-02 23:32:28 +02:00
Justin M. Keyes
ed24a297e5
doc [ci skip] #10097
- fix broken links (|buffered| was renamed to |channel-buffered|)
- rewrite `:h channel-lines`
2019-06-01 20:14:29 +02:00
erw7
bfc44a91ac vim-patch:8.1.1114: confusing overloaded operator "." for string concatenation
Problem:    Confusing overloaded operator "." for string concatenation.
Solution:   Add ".." for string concatenation.  Also "let a ..= b".
0f248b006c
2019-05-29 12:54:42 +09:00