| Commit message (Collapse) | Author | Age |
| |
|
|
|
|
|
|
| |
Problem: A few typos in code and tests.
Solution: Fix them (zeertzjq).
closes: vim/vim#21441
https://github.com/vim/vim/commit/1992e432a111641ca89122e0632cad36aa6e8b6c
|
| |
|
|
|
|
|
|
|
|
|
|
| |
skipped (#42226)
Problem: Vim9: :append parsing depends on whether command is skipped
(after 9.2.1159).
Solution: Do not discard text up to "." when skipping in Vim9 script
(zeertzjq).
closes: vim/vim#21415
https://github.com/vim/vim/commit/6d862f58dd6d51b292dd26ae658b02fb1e691ca5
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
as commands (#42196)
Problem: In a block that is not executed, the text lines of :append,
:insert and :change are parsed as commands, so e.g. a text
line "endif" ends the block
Solution: Read and discard the text up to "." while skipping. Add the
commands to the ":help :bar" list.
closes: vim/vim#21331
https://github.com/vim/vim/commit/ae8837c19d33801426cb2dfa1cdbd7be7c1cf8e2
Co-authored-by: Hirohito Higashi <h.east.727@gmail.com>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Problem:
POSIX-compatible Ex-mode requires special-cases all over the codebase to
match various quirks that don't actually matter to users.
- The main utility of *interactive* Ex-mode is its REPL behavior, and
that can be achieved with `cmdwin`, which also gains extra UX
benefits.
- The main utility of *non-interactive* `nvim -es` is for shell
scripting, where Ex-mode quirks are mostly unhelpful (e.g. the
"Entering Ex mode" message).
Solution:
- Reimplement *interactive* Ex-mode as a "persistent, insert-mode
cmdwin" in Lua.
- "nvim -e/-E" is simply an alias to "gQ".
- Reframe *non-interactive* Ex-mode (`nvim -es`) as "script mode".
- Drop POSIX Ex-mode quirks.
Improvements:
- "nvim -V1 -es" output ends with a final newline!
- "nvim -V1 -es" no longer shows the "Entering Ex mode" msg. (This was
pointless noise, unwanted for scripting purposes.)
- stdin is no longer typeahead. Scripts (":lua io.read()") can read
stdin as data.
- Empty line is a no-op: a stray blank line no longer moves the cursor
(deviates from POSIX ex "+1"), no longer exits 1 at EOF (E501).
Preserved behavior:
- cursor starts at "$"
- mode()=="cv" (for non-interactive)
- multiline commands (:append/:function/heredoc pull continuation lines)
- bare-range print
- :print=>stdout
- -V1=>stderr
- CRLF input
- continue-after-error and exit codes
Dropped (regressed) POSIX behavior (non-interactive):
- Event loop only ticks while/between commands, not while blocked
waiting for a stdin line.
- ":g/pat/visual...Q"
- input()/getchar()/":s/x/y/c" no longer consume stdin lines as
answers: Nvim stops at end-of-input, skipping the rest of the script,
exit 0. Use ":lua io.read()" instead.
- If users care about this they should use interactive Ex-mode (`gQ`).
- ":@r" stops at end of the register instead of continuing to read
cmdline input from stdin.
|
| |
|
|
|
|
|
|
|
|
|
|
| |
(#40371)
Problem: ':delete #' silently fails to update "# and clobbers "0.
Solution: Treat "# like "/, writable only with :let and setreg().
closes: vim/vim#20592
https://github.com/vim/vim/commit/7aeab74687f92acff3ef3ab83a3c75dc0d3c2887
Co-authored-by: Doug Kearns <dougkearns@gmail.com>
|
| |
|
|
|
|
|
|
|
|
|
| |
Problem: some functions can be run from the sandbox
Solution: Block them, so they are not accessible from a modeline
(q1uf3ng)
closes: vim/vim#19975
https://github.com/vim/vim/commit/fcc4276db31bc35239186e62921b4ff5a15fb18e
Co-authored-by: q1uf3ng <q1uf3ng@protone.me>
|
| |
|
|
|
|
|
|
|
|
|
| |
Problem: tests: test_excmd.vim leaves swapfiles behind
Solution: Close open buffer using :bw!
related: vim/vim#19975
https://github.com/vim/vim/commit/c922202ea20a8c379a6c6c6c201af4bf5e861df7
Co-authored-by: Christian Brabandt <cb@256bit.org>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Problem: tests: Test_language_cmd fails on OpenBSD because the test
uses an invalid locale name and expects the command to produce
an error. OpenBSD accepts (almost) any locale name as valid by
design, so the :lang command succeeds and the test fails.
Solution: Slightly update the "bad" locale name to make it something
that OpenBSD considers invalid by adding a dot (but not ending
with ".UTF-8"). Maintain the original two underscores in the
name because that ensures Windows will also see it as invalid
(Kevin Goodsell).
closes: vim/vim#19280
https://github.com/vim/vim/commit/371583642a5eecc134d285e6df49f5edceeab95c
|
| |
|
|
|
|
|
|
|
|
| |
Problem: Ex command is still executed after giving E1247.
Solution: Indicate the error properly and set cmd to NULL.
(zeertzjq)
closes: vim/vim#15241
https://github.com/vim/vim/commit/d1b5ea984d41102d253ecdd9a76124cd4c58b97d
|
| |
|
|
|
|
|
|
|
| |
Problem: Computation overflow with large cound for :yank.
Solution: Avoid an overflow.
https://github.com/vim/vim/commit/3cf21b305104e91a28e4ce3a473672b2e88a9469
Co-authored-by: Bram Moolenaar <Bram@vim.org>
|
| |
|
|
|
| |
Nvim doesn't use atol() in getdigits() and doesn't need to check for
size of long.
|
| |
|
|
|
|
|
|
| |
Problem: Typos in test files.
Solution: Correct the typos. (Dominique Pellé, closes vim/vim#9175)
https://github.com/vim/vim/commit/923dce2b07ff185c0ef661f3eca47bc17655f01b
Co-authored-by: Dominique Pelle <dominique.pelle@gmail.com>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
Problem: :drop tries to :rewind the argumentlist, which results in E37
(after v9.1.0046)
Solution: instead of calling ex_rewind(), call open_buffer() only when
re-using the initial empty buffer
fixes: vim/vim#14219
closes: vim/vim#14220
https://github.com/vim/vim/commit/978178823b7c62a0249411f3d1f584f8a3144c5d
Co-authored-by: Christian Brabandt <cb@256bit.org>
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
Problem: :drop does not re-use empty buffer
(Rocco Mao)
Solution: Make :drop re-use an empty buffer
(Rocco Mao)
fixes: vim/vim#13851
closes: vim/vim#13881
https://github.com/vim/vim/commit/f96dc8d07f752ddd96d1447d85278a85255a1462
Co-authored-by: Rocco Mao <dapeng.mao@qq.com>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Problem: [security]: overflow in ex address parsing
Solution: Verify that lnum is positive, before substracting from
LONG_MAX
[security]: overflow in ex address parsing
When parsing relative ex addresses one may unintentionally cause an
overflow (because LONG_MAX - lnum will overflow for negative addresses).
So verify that lnum is actually positive before doing the overflow
check.
https://github.com/vim/vim/commit/060623e4a3bc72b011e7cd92bedb3bfb64e06200
Co-authored-by: Christian Brabandt <cb@256bit.org>
|
| | |
|
|
|
The new oldtest directory is in test/old/testdir. The reason for this is
that many tests have hardcoded the parent directory name to be
'testdir'.
|