| Commit message (Collapse) | Author | Age |
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
FEATURES:
bc4a2e1576c6 help, man.vim: "outline" (TOC) feature #5169
58422f17d8e7 'guicursor' works in the TUI (and sends info to UIs) #6423
129f107c0c26 api: nvim_get_mode() #6247
0b59f988f447 api/ui: externalize tabline #6583
bc6d868d00a7 'listchars': `Whitespace` highlight group #6367
6afa7d66cd63 writefile() obeys 'fsync' option #6427
c60e409471c5 eval.c refactor (also improves some error messages) #5119
9d200cd0a3ef getcompletion("cmdline") #6376
2ea7bfc627e5 terminal: Support extra arguments in 'shell'. #4504
bf5110266ca9 DirChanged autocmd #5928 #6262
1743df82f900 'cpoptions': "_" flag to toggle `cw` behaviour #6235
22337b1c0144 CTRL-R omits trailing ^M when pasting to cmdline #6137
0e44916fff88 :edit allows unescaped spaces in filename #6119
abdbfd26bc7f eval: Add id() function and make printf("%p") useful #6095
bdfa1479d296 findfile(), :find, gf work in :terminal. #6009
2f38ed11c98a providers: Disable if `g:loaded_*` exists.
b5560a69b12b setpos() can set lowercase marks in other buffers #5753
7c513d646d87 Throttle :! output, pulse "..." message. #5396
d2e8c76dc224 v:exiting #5651
:terminal improvements #6185 #6142
- cursor keeps position after leaving insert-mode.
- 4ceec30cd0b4 Follows output only if cursor is at end of buffer.
- e7bbd35c812d new option: 'scrollback'
- fedb8443d58a quasi-support for undo and 'modifiable'
- b45ddf731be5 disables 'list' by default
- disables 'relativenumber' by default
:help now contains full API documentation at `:help api`.
man.vim saw numerous improvements.
Windows support:
- Windows is no longer "experimental", it is fully supported.
- Windows package includes a GUI, curl.exe and other utilities.
"Vim 8" features: partials, lambdas.
SECURITY FIXES:
CVE-2017-5953 CVE-2017-6349 CVE-2017-6350 #6485
CHANGES:
NVIM_TUI_ENABLE_CURSOR_SHAPE was removed. Use 'guicursor' instead.
See https://github.com/neovim/neovim/wiki/Following-HEAD#20170402
81525dc5c35c 'mouse=a' is no longer the default. (This will probably
change again after it is improved.) #6022
0c1f7831649e defaults: 'showcmd', 'belloff', 'ruler' #6087
eb0e94f71b1f api: {get,set}_option update local options as appropriate #6405
bdcb2a38b366 "Reading from stdin..." message was removed. #6298
FIXES:
12fc1defd6a1 ops: fix i<c-r> with multi-byte text #6524
dd391bfca1f3 Windows: system() and friends #6497
13352c00f190 Windows: os_get_hostname() #6413
16babc66870b tui: Less-noisy mouse seqs #6411
3a9dd13f9e64 (vim bug) folding edge-cases #6207
f6946c68aee9 job-control: set CLOEXEC on pty processes. #5986
d1afd434f302 rplugin: Call s:LoadRemotePlugins() on startup.
1215084676f0 backtick-expansion works with `shell=fish` #6224
e32ec03d67ee tui: Improved behavior after resize. #6202
86c2adc07463 edit.c: CTRL-SPC: Insert previously-inserted text. #6090
c318d8e672a3 b:changedtick now follows VimL rules #6112
34e24cb2f734 terminal: Initialize colors in reverse order #6160
e8899178ec34 undo: Don't set b_u_curhead in ex_undojoin() #5869
d25649fa0120 undo: :earlier, g-: Set b_u_seq_cur correctly. (#6016)
043d8ba422b4 'Visual-mode put from @. register' #5782
42c922b32c0a open_buffer(): Do `BufEnter` for directories.
50d0d891299c inccommand: Preview :sub commands only after delimiter #5932
1420e1047454 CheckHealth improvements #5519
c8d5e9230ee3 jobstart(): Return -1 if cmd is not executable. #5671
|
| |\
| |
| | |
vim-patch:7.4.2231,7.4.2239,7.4.2244,7.4.2245,7.4.2246,7.4.2263,8.0.0150
|
| | | |
|
| | | |
|
| |/
|
|
| |
Closes #6577
|
| |
|
|
|
| |
Introduce multiqueue_process_priority() to process only events at or
above a certain priority.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Asynchronous API functions are served immediately, which means pending
input could change the state of Nvim shortly after an async API function
result is returned.
nvim_get_mode() is different:
- If RPCs are known to be blocked, it responds immediately (without
flushing the input/event queue)
- else it is handled just-in-time before waiting for input, after
pending input was processed. This makes the result more reliable
(but not perfect).
Internally this is handled as a special case, but _semantically_ nothing
has changed: API users never know when input flushes, so this internal
special-case doesn't violate that. As far as API users are concerned,
nvim_get_mode() is just another asynchronous API function.
In all cases nvim_get_mode() never blocks for more than the time it
takes to flush the input/event queue (~µs).
Note: This doesn't address #6166; nvim_get_mode() will provoke #6166 if
e.g. `d` is operator-pending.
Closes #6159
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
|
|
|
|
| |
- Work with a bool[] array parallel to the UIWidget enum.
- Rename some functions.
- Documentation.
|
| | |
|
| |
|
|
|
|
|
|
|
|
| |
Also re-word some error messages:
- "Key does not exist: %s"
- "Invalid channel: %<PRIu64>"
- "Request array size must be 4 (request) or 3 (notification)"
- "String cannot contain newlines"
References #6150
|
| |
|
|
| |
Closes #5984
|
| | |
|
| |\ |
|
| | | |
|
| | | |
|
| | | |
|
| | |
| |
| |
| | |
vim-patch:8.0.0571
|
| |\ \ |
|
| | |/ |
|
| |/
|
|
| |
Avoids a spurious :loadview error.
|
| |
|
|
| |
Also enable tests on Windows.
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Closes #6540
In #6221 there was a mistake in calculating which folds need to be
re-ordered. When there are no folds after those that have been adjusted,
then `move_end` remains 0. This results in reverse_fold_order()
swapping folds that have been adjusted with uninitialised folds in the
remainder of the grow array.
Add a check in foldMoveRange() to account for this case.
|
| | |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Calling cmd.exe in Windows follows a very different pattern from Vim.
The primary difference is that Vim does a nested call to cmd.exe, e.g.
the following call in Vim
system('echo a 2>&1')
spawns the following processes
"C:\Program Files (x86)\Vim\vim80\vimrun" -s C:\Windows\system32\cmd.exe /c (echo a 2^>^&1
^>C:\Users\dummy\AppData\Local\Temp\VIoC169.tmp 2^>^&1)
C:\Windows\system32\cmd.exe /c C:\Windows\system32\cmd.exe /c (echo a 2^>^&1
^>C:\Users\dummy\AppData\Local\Temp\VIo3C6C.tmp 2^>^&1)
C:\Windows\system32\cmd.exe /c (echo a 2>&1
>C:\Users\dummy\AppData\Local\Temp\VIo3C6C.tmp 2>&1)
The escaping with ^ is needed because cmd.exe calls itself and needs to
preserve the special metacharacters for the last call. However in nvim
no nested call is made, system('') spawns a single cmd.exe process.
Setting shellxescape to "" disables escaping with ^.
The previous default for shellxquote=( wrapped any command in
parenthesis, in Vim this is more meaningful due to the use of tempfiles
to store the output and redirection (also see &shellquote). There is
a slight benefit in having the default be empty because some expressions
that run in console will not run within parens e.g. due to unbalanced
double quotes
system('echo "a b')
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Disable CommandLineToArgvW-standard quoting for cmd.exe.
libuv assumes spawned processes follow the convention expected by
CommandLineToArgvW(). But cmd.exe is non-conformant, so for cmd.exe:
- With system([]), the caller has full control (and responsibility) to
quote arguments correctly.
- With system(''), shell* options are used.
libuv quoting is disabled if argv[0] is:
- cmd.exe
- cmd
- $COMSPEC resolving to a path with filename cmd.exe
Closes #6329
References #6387
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
|
|
|
|
|
| |
Lua has too many pitfalls here:
- os.execute() requires shell-escaping
- os.execute() has breaking changes between Lua 5.1 and 5.2
- No native way in Lua to handle "readonly" etc. on Windows
|
| | |
|
| |\
| |
| | |
remove vim_tolower/etc functions with broken locale-dependent behavior
|
| | | |
|
| |\ \
| |/
|/| |
|
| | |
| |
| |
| | |
Bug was introduced 3 years earlier, in 13848aa: NULL keyword_copy was
incorrectly treated as an indicator of OOM.
|
| | |
| |
| |
| | |
Not that it is actually useful (would fail in any case), but should fix coverity
report.
|
| | | |
|
| | | |
|
| | |
| |
| | |
This makes first test not actually show any change in behaviour.
|
| | |
| |
| |
| |
| |
| |
| | |
Before this commit it emitted e_spell_trunc in the first case and
treated file as completely valid on the second. While first is fine
(both errors are actually valid, though old error is probably better),
second results in incorrect regex used.
|
| |\| |
|
| | |
| |
| | |
tui_spec.lua: Retry the terminal-mode test.
|
| | | |
|