aboutsummaryrefslogtreecommitdiff
path: root/runtime/doc/eval.txt
Commit message (Collapse)AuthorAge
* vim-patch:34cc7d8c034f #15753Christian Clason2021-09-22
| | | | Update runtime files https://github.com/vim/vim/commit/34cc7d8c034f2bc5b57455577051db8d72e2b87c
* vim-patch:8.1.1071: cannot get composing characters from the screenzeertzjq2021-09-19
| | | | | | | Problem: Cannot get composing characters from the screen. Solution: Add screenchars() and screenstring(). (partly by Ozaki Kiichi, closes vim/vim#4059) https://github.com/vim/vim/commit/2912abb3a2fd72074e3901c8ae1d4a77ce764675
* fix(typo): overriden -> overridden (RE: PR #14159) (#15360)Oliver Marriott2021-09-17
|
* doc(eval): include latest relevant Blob changesSean Dewar2021-09-16
| | | | | | | | | | | | | | | Also includes some small relevant nearby non-Blob changes and typo fixes. Changes are included from: - v8.1.0815 - v8.1.0846 - v8.1.1084 - v8.1.2326 - v8.2.1969 - d89682477c - d09091d495 - 53f7fccc94
* feat(f_msgpackparse): support parsing from BlobSean Dewar2021-09-16
| | | | | | | | | Note that it is not possible for msgpack_unpack_next() and msgpack_unpacker_next() to return MSGPACK_UNPACK_EXTRA_BYTES, so it should be fine to abort() on that. Lua 5.1 doesn't support string hex escapes (\xXX) like VimL does (though LuaJIT does), so convert them to decimal escapes (\DDD) in tests.
* feat(f_msgpackdump): support dumping to BlobSean Dewar2021-09-16
|
* feat(f_chansend): support Blob data argumentSean Dewar2021-09-16
|
* fix(eval): partially port v8.2.3284Sean Dewar2021-09-16
| | | | | | | | | | | | | These were issues that I found while porting that I fixed upstream. :^) Very little of the patch can be exactly ported as we're a bit behind on dependant patches (we also can't use the exact :for emsg, as we don't support iterating over Strings yet), so just translate the fixes as best as we can for now. Include latest relevant doc changes from: - v8.1.0815 - v8.2.2658
* vim-patch:8.2.1473: items in a list given to :const can still be modifiedSean Dewar2021-09-16
| | | | | | | Problem: Items in a list given to :const can still be modified. Solution: Work like ":lockvar! name" but don't lock referenced items. Make locking a blob work. https://github.com/vim/vim/commit/021bda56710d98c09a6b35610a476ab2dd8c58ad
* vim-patch:8.1.0797: error E898 is used twiceSean Dewar2021-09-15
| | | | | | Problem: Error E898 is used twice. Solution: Rename the Blob error to E899. (closes vim/vim#3853) https://github.com/vim/vim/commit/bf821bccf18453b01d25bee53e4954b02a5dd0e6
* vim-patch:8.1.0793: incorrect error messages for functions that take a BlobSean Dewar2021-09-15
| | | | | | | Problem: Incorrect error messages for functions that now take a Blob argument. Solution: Adjust the error messages. (Dominique Pelle, closes vim/vim#3846) https://github.com/vim/vim/commit/0d17f0d1c09fa6db306336695ba646c21ea24909
* vim-patch:8.1.0757: not enough documentation for BlobsSean Dewar2021-09-15
| | | | | | | | | Problem: Not enough documentation for Blobs. Solution: Add a section about Blobs. https://github.com/vim/vim/commit/d89682477cd01ec60edd6d88093b95b12e180127 Include doc changes for empty() from v7.4.1274. Include some minor typo fixes.
* feat(decode_string): decode binary string with NULs to BlobSean Dewar2021-09-15
| | | | | | | | Strings that previously decoded into a msgpack special for representing BINs with NULs now convert to Blobs. It shouldn't be possible to decode into this special anymore after this change? Notably, Lua strings with NULs now convert to Blobs when passed to VimL.
* feat(msgpack): convert Blobs to BIN stringsSean Dewar2021-09-15
|
* feat(json): convert Blobs to array of byte valuesSean Dewar2021-09-15
| | | | | Similiar to how Vim does it, but to be consistent with how Nvim encodes lists, add a space after every comma.
* vim-patch:8.1.0735: cannot handle binary dataSean Dewar2021-09-15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: Cannot handle binary data. Solution: Add the Blob type. (Yasuhiro Matsumoto, closes vim/vim#3638) https://github.com/vim/vim/commit/6e5ea8d2a995b32bbc5972edc4f827b959f2702f Nvim-specific Blob conversions are implemented in future commits. Refactor write_blob() to use a FileDescriptor, as f_writefile() was refactored to use one (does not apply to read_blob()). Use var_check_lock() in f_add() for Blobs from v8.1.0897. Add a modeline to test_blob.vim and fix some doc typos. Include if_perl.txt's VIM::Blob() documentation. Interestingly, this function already worked before this port, as it just returns a Blob string literal, not an actual Blob object. N/A patches for version.c: vim-patch:8.1.0741: viminfo with Blob is not tested Problem: Viminfo with Blob is not tested. Solution: Extend the viminfo test. Fix reading a blob. Fixed storing a special variable value. https://github.com/vim/vim/commit/8c8b8bb56c724cc1bfc3d8520eec33f2d399697c vim-patch:8.1.1022: may use NULL pointer when out of memory Problem: May use NULL pointer when out of memory. (Coverity) Solution: Check for blob_alloc() returning NULL. https://github.com/vim/vim/commit/e142a9467a7f6845a426d8db6efedf246d3c13ac
* docs: third-party licenses, TEST_COLORS, system() #15665Justin M. Keyes2021-09-14
|
* vim-patch:6c391a74fe90 (#15654)Christian Clason2021-09-13
| | | | | | | | | | | Update runtime files https://github.com/vim/vim/commit/6c391a74fe90190796ca0b0c010112948a6e75d7 omit autoload/getscript.vim skip doc/eval.txt (needs 8.2.2468) skip doc/various.txt (needs 8.2.3400) (typofixes courtesy of @dundargoc)
* vim-patch:partial 6aa57295cfbe (#15633)Christian Clason2021-09-12
| | | | | | | | | | | | | | | | | | * vim-patch:partial 6aa57295cfbe Update runtime files https://github.com/vim/vim/commit/6aa57295cfbe8f21c15f0671e45fd53cf990d404 omit doc/popup.txt omit plugin/manpager.vim partial skip runtime/doc/eval.txt (needs 8.2.{0258,0924,1544,2324,2468,2606}) skip ftplugin/julia.vim, indent/julia.vim, syntax/julia.vim (already ported in https://github.com/neovim/neovim/commit/65f32f0f195fbf7df2478f31cab345d00a6673a4) skip syntax/scala.vim (already ported in https://github.com/neovim/neovim/commit/a92e83ac14a0a674bc5b4b1d06d6b6c9d0d20a10)
* Merge pull request #15550 from jasonccox/vim-8.2.3385Christian Clason2021-09-12
|\ | | | | vim-patch:8.2.3385,8.2.3393
| * vim-patch:8.2.3385: escaping for fish shell does not work properlyJason Cox2021-09-02
| | | | | | | | | | | | Problem: Escaping for fish shell does not work properly. Solution: Insert a backslash before a backslash. (Jason Cox, closes vim/vim#8810) https://github.com/vim/vim/commit/6e82351130ddb8d13cf3748b47f07cae77886fc7
* | Merge #14611 from seandewar/vim-8.1.1116Justin M. Keyes2021-09-11
|\ \ | | | | | | vim-patch:8.1.{1116,1188,1190,1355,1722,2035,2036,2038,2043},8.2.{0886,2309}
| * | vim-patch:8.2.0886: cannot use octal numbers in scriptversion 4Sean Dewar2021-09-11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: Cannot use octal numbers in scriptversion 4. Solution: Add the "0o" notation. (Ken Takata, closes vim/vim#5304) https://github.com/vim/vim/commit/c17e66c5c0acd5038f1eb3d7b3049b64bb6ea30b :scriptversion is N/A. Cherry-pick latest str2nr() doc changes from v8.1.2035. Cherry-pick various mentions of the 0o prefix from: - v8.2.2324 - https://github.com/vim/vim/commit/2346a6378483c9871016f9fc821ec5cbea638f13 - https://github.com/vim/vim/commit/11e3c5ba820325b69cb56f70e13c21d7b8808d33 - https://github.com/vim/vim/commit/82be4849eed0b8fbee45bc8da99b685ec89af59a Patch used ascii_isbdigit() by mistake, which was fixed in v8.2.2309. Make STR2NR_OOCT work the same as STR2NR_OCT when forcing. In Vim, STR2NR_FORCE | STR2NR_OOCT isn't handled, and doesn't actually force anything. Rather than abort(), make it work as STR2NR_OCT. This means STR2NR_FORCE | STR2NR_OCT works the same as STR2NR_FORCE | STR2NR_OOCT and STR2NR_FORCE | STR2NR_OCT | STR2NR_OOCT.
| * | vim-patch:8.1.2035: recognizing octal numbers is confusingSean Dewar2021-09-11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: Recognizing octal numbers is confusing. Solution: Introduce scriptversion 4: do not use octal and allow for single quote inside numbers. https://github.com/vim/vim/commit/60a8de28d11595f4df0419ece8afa7d6accc9fbd :scriptversion is N/A. Cherry-pick Test_readfile_binary() from v8.1.0742. Note that this patch was missing vim_str2nr() changes, and so fails the tests; this was fixed in v8.1.2036.
| * | vim-patch:8.1.1116: cannot enforce a Vim script styleSean Dewar2021-09-11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: Cannot enforce a Vim script style. Solution: Add the :scriptversion command. (closes vim/vim#3857) https://github.com/vim/vim/commit/558ca4ae55096f8763ab8515a304cda9c57f18a7 :scriptversion is N/A, but ":let ..=" is relevant. N/A patches for version.c vim-patch:8.1.1188: not all Vim variables require the v: prefix Problem: Not all Vim variables require the v: prefix. Solution: When scriptversion is 3 all Vim variables can only be used with the v: prefix. (Ken Takata, closes vim/vim#4274) https://github.com/vim/vim/commit/d2e716e6dfd50b605867c7c684373384c8edf707 vim-patch:8.1.1190: has('vimscript-3') does not work Problem: has('vimscript-3') does not work. Solution: Add "vimscript-3" to the list of features. https://github.com/vim/vim/commit/93a4879c2008bbd26aac072e7cdc65b3ce7c32a3 vim-patch:8.1.2038: has('vimscript-4') is always 0 Problem: has('vimscript-4') is always 0. Solution: Add "vimscript-4" to the feature table. (Naruhiko Nishino, closes vim/vim#4941) https://github.com/vim/vim/commit/af9143833865a2d8311e57313023271720442f90
* | | vim-patch:partial 53f7fccc9413 (#15631)Christian Clason2021-09-11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * vim-patch:partial 53f7fccc9413 Update runtime files https://github.com/vim/vim/commit/53f7fccc9413c9f770694b56f40f242d383b2d5f omit macros/hanoi/hanoi.vim omit spell/tet/main.aap omit tools/shtags.1 omit tools/xcmdsrv_client.c skip doc/pattern.txt (requires 8.2.3110; 8.2.{1665,1872}) skip doc/map.txt (requires 8.2.3228)
* | | Merge pull request #15619 from clason/vim-90df4b9d4234Christian Clason2021-09-11
|\ \ \ | |/ / |/| | | | | | | | vim-patch:90df4b9d4234 chore(vim-patch): add doc/vim9.txt to unwanted files
| * | vim-patch:90df4b9d4234Christian Clason2021-09-10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Update runtime files https://github.com/vim/vim/commit/90df4b9d423485f7db16e3a65cab4f14edc815ae omit .github/CODEOWNERS omit doc/vim9.txt omit po/it.po skip ftplugin/jsonc.vim skip indent/jsonc.vim skip syntax/jsonc.vim (already ported in https://github.com/neovim/neovim/commit/dce50312e1e9af81fb0e3b61d6e70bdf286fbffb) partial skip doc/eval.txt (needs 8.1.{2304,2321})
* | | docs #15625Justin M. Keyes2021-09-10
|/ / | | | | | | | | | | | | | | | | | | | | fix #12261 fix #15536 fix #15623 fix #15572 ref #14244 ref #15034 close #15555 close #14957
* | vim-patch:4d8f476176ea (#15612)Christian Clason2021-09-10
| | | | | | | | | | | | | | | | | | | | * vim-patch:4d8f476176ea Update runtime files https://github.com/vim/vim/commit/4d8f476176eadfc745bcb8e143460029048f858d skip nsis/README.txt skip doc/vim9.txt skip src/nvim/po/it.po
* | vim-patch:partial 2346a6378483 (#15599)Christian Clason2021-09-09
| | | | | | | | | | | | | | | | | | | | | | | | Update runtime files https://github.com/vim/vim/commit/2346a6378483c9871016f9fc821ec5cbea638f13 omit doc/vim.man omit doc/vim9.txt omit doc/vimdiff.txt omit doc/vimdiff.man skip doc/eval.txt (missing patch 8.2.2324) skip doc/help.txt (missing patch 8.2.2344)
* | fix(doc): various fixes #15604Sean Dewar2021-09-09
|/ | | | | | | | | In particular: - jobwait: omitting {timeout} arg is the same as -1. - sockconnect: omitting {opts} arg is the same as {}. - jobsend: obsoleted by chansend; don't mention it in job_control.txt. - menu_get: add to |functions| table. [skip ci]
* 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}
| * feat(eval): partially port v8.1.1915Sean Dewar2021-08-12
| | | | | | | | Cannot be fully ported as chdir() hasn't been ported yet.
| * vim-patch:8.1.1911: more functions can be used as methodsSean Dewar2021-08-12
| | | | | | | | | | | | | | | | | | | | | | Problem: More functions can be used as methods. Solution: Make a few more functions usable as a method. https://github.com/vim/vim/commit/64b4d73524b9a2304d89b87529cd8d3cef14b856 Note that the old-style version of Test_byteidx() was already translated to a Lua test in 069_multibyte_formatting_spec.lua. Keep both versions, using Test_byteidx() to mainly test the method call syntax for byteidx() and byteidxcomp().
| * vim-patch:8.1.1909: more functions can be used as methodsSean Dewar2021-08-12
| | | | | | | | | | | | Problem: More functions can be used as methods. Solution: Make a few more functions usable as a method. https://github.com/vim/vim/commit/e49fbff384e45dd17fed72321c26937edf6de16b
| * vim-patch:8.1.1888: more functions can be used as methodsSean Dewar2021-08-12
| | | | | | | | | | | | | | | | | | Problem: More functions can be used as methods. Solution: Make various functions usable as a method. https://github.com/vim/vim/commit/073e4b92e613d22ce7b16e0fbf5c0e40cb5f9b2c test_popup.vim already has the changes from this patch (they're N/A anyway).
| * vim-patch:8.1.1879: more functions can be used as methodsSean Dewar2021-08-12
| | | | | | | | | | | | | | | | | | Problem: More functions can be used as methods. Solution: Make float functions usable as a method. https://github.com/vim/vim/commit/93cf85f9ef02931de3f8c8e536a137da0b48b7dc Fix atan2() doc typo (patch referred to it as atan()). Adjust Test_fmod() method test to expect "str2float('nan')".
| * vim-patch:8.1.1835: cannot use printf() as a methodSean Dewar2021-08-12
| | | | | | | | | | | | Problem: Cannot use printf() as a method. Solution: Pass the base as the second argument to printf(). https://github.com/vim/vim/commit/fd8ca21b3ff207e44891aef922935d4adcd140cf
| * vim-patch:8.1.1834: cannot use a lambda as a methodSean Dewar2021-08-12
| | | | | | | | | | | | | | | | | | | | | | | | Problem: Cannot use a lambda as a method. Solution: Implement ->{lambda}(). (closes vim/vim#4768) https://github.com/vim/vim/commit/22a0c0c4ecd23b6c43f79ba9b92899ca0b426e29 Add an additional lua_funcname argument to call_func_rettv() to maintain support for v:lua. A memory leak was introduced with this patch that was fixed in v8.1.2107.
| * vim-patch:8.1.1828: not strict enough checking syntax of method invocationSean Dewar2021-08-12
| | | | | | | | | | | | Problem: Not strict enough checking syntax of method invocation. Solution: Check there is no white space inside ->method(. https://github.com/vim/vim/commit/5184132ec015f5889a3195d911e609d214f06bed
| * vim-patch:8.1.1809: more functions can be used as a methodSean Dewar2021-08-12
| | | | | | | | | | | | Problem: More functions can be used as a method. Solution: Add has_key(), split(), str2list(), etc. https://github.com/vim/vim/commit/a74e4946de074d2916e3d6004f7fa1810d12dda9
| * 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.
* | feat(terminal): TermClose: set exit code in v:event.status #15406Gregory Anders2021-08-20
|/ | | Closes #4713
* vim-patch:8.2.3254: win_gettype() does not recognize a quickfix windowJan Edmund Lazo2021-07-31
| | | | | | Problem: win_gettype() does not recognize a quickfix window. Solution: Add "quickfix" and "loclist". (Yegappan Lakshmanan, closes vim/vim#8676) https://github.com/vim/vim/commit/28d8421bfb3327d7a5e81369977e8fc108b0229e
* vim-patch:8.2.3019: location list only has the start position.Jan Edmund Lazo2021-07-31
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: Location list only has the start