Adds support for:
- api:vim_input("<D-a>")
- ":nnoremap <C-D-S-...>" and permutations thereof
UIs must capture the modifier and send it as "<D-...>" to vim_input().
Note: Before this commit, any arbitrary ":nnoremap <{foo}-{bar}>"
mapping could already be invoked with feedkeys("\<{foo}-{bar}>"). This
commit supports "D-" as a modifier that can be combined with "C-", "A-",
"S-" in any order.
For non-GUI (terminal) support, user must:
:set <D-a>={CSI sequence}
then send the {CSI sequence} from their terminal. But this does not work
yet (regression #2204).
Closes#2190
Problem: Crash when dragging with the mouse.
Solution: Add safety check for NULL pointer. Check mouse position for valid
value. (Hirohito Higashi)
294a7e55b0
---
see: "Crash while mouse-selecting in two-buffer mode"
https://github.com/vim/vim/issues/486Fix#3704
Problem: MS-Windows: When 'encoding' differs from the current code page,
expandinig wildcards may cause illegal memory access.
Solution: Allocate a longer buffer. (Ken Takata)
7314efd87d
Problem: $HOME in `=$HOME . '/.vimrc'` is expanded too early.
Solution: Skip over `=expr` when expanding environment names.
be83b73ddb
---
To reproduce:
```sh
nvim -u NONE -c 'e `=$HOME . "/.vimrc"`'
```
Problem: When expanding `=expr` on the command line and encountering an
error, the command is executed anyway.
Solution: Bail out when an error is detected.
3f188935ec
<abuf> from the TermClose event now returns the correct buffer number.
Prior to this change it would always return the buffer number of the current
buffer, which is obviously wrong in an async environment.
Problem: May get into an invalid state when using getchar() in an
expression mapping.
Solution: Anticipate mod_mask to change. (idea by Yukihiro Nakadaira)
2455c4ede8
Problem: User may yank or put using the register being recorded in.
Solution: Add the recording register in the message. (Christian Brabandt,
closesvim/vim#470)
a0ed84a268
Problem: test_utf8 fails on MS-Windows when executed with gvim.
Solution: Use the insert flag on feedkeys() to put the string before the
":" that was already read when checking for available chars.
6040256d8b
---
feedkeys() is not used by legacy test utf8.