| Commit message (Collapse) | Author | Age |
... | |
|
|
|
|
|
|
| |
Problem: Package directory not added to 'rtp' if prefix matches.
Solution: Check the match is a full match. (Ozaki Kiichi, closes vim/vim#2817)
Also handle different ways of spelling a path.
https://github.com/vim/vim/commit/f98a39ca57d001ba3e24831bae1e375790fb41f0
|
|
|
|
|
|
|
|
| |
Problem: When package path is a symlink adding it to 'runtimepath' happens
at the end.
Solution: Do not resolve symlinks before locating the position in
'runtimepath'. (Ozaki Kiichi, closes vim/vim#2604)
https://github.com/vim/vim/commit/2374faae111057ee28e8d487f9a52a95855e2206
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
In Vim (and some vestigial parts of Nvim) E319 was a placeholder for
ex_ni commands, i.e. commands that are only available in certain builds
of Vim. That is obviously counter to Nvim's goals: all Nvim commands
are available on all platforms and build types (the remaining ex_ni
commands are actually just missing providers).
We need an error id for "missing provider", so it makes sense to use
E319 for that purpose.
ref #9344
ref #3577
|
|
|
|
|
|
|
|
|
|
|
| |
Executing `:python`, and similar commands that rely on `eval_call_provider()`,
while the accompanying provider it not available, leads to this error message:
E117: Unknown function: provider#python#Call
This doesn't say much to a user. Since we introduced `:checkhealth` for this
very reason, we now point to it for further diagnosis.
Fixes #3577
|
|
|
|
|
|
| |
Problem: It is not easy to edit a script that was sourced.
Solution: Add a count to ":scriptnames", so that ":script 40" edits the
script with script ID 40.
https://github.com/vim/vim/commit/07dc18ffa4e7ed202f219fe2fd3d6f58246f71f9
|
|
|
|
|
|
| |
Problem: 'helplang' default is inconsistent for C and C.UTF-8.
Solution: Don't accept a value unless it starts with two letters.
https://github.com/vim/vim/commit/389ab7122bec99c11ad4ce6d87cc6f38a21e4e40
|
|
|
|
|
|
|
|
|
|
|
| |
It fails with `nvim -u NONE -c 'set modified' -c 'confirm q'`.
Introduced in 3dffc842f (vim-patch:8.0.0983), but the Vim patch [1] does not
have this assertion.
NULL gets handled in `dialog_msg` [2].
1: https://github.com/vim/vim/commit/3f9a1ff141412e9e85f7dff47d02946cb9be9228
2: https://github.com/neovim/neovim/blob/c6d36b97bac0df86c1120af323db1b577dc90629/src/nvim/ex_docmd.c#L9704-L9705
|
|
|
|
|
|
|
| |
Problem: 'autowrite' takes effect when buffer is not to be written.
Solution: Don't write buffers that are not supposed to be written. (Even Q
Jones, closes vim/vim#3391) Add tests for 'autowrite'.
https://github.com/vim/vim/commit/8c9e7b00f6566dc41e794ef11c93d93b034c7134
|
| |
|
| |
|
|
|
|
|
|
|
| |
Problem: Unnecessary check for NULL pointer.
Solution: Remove the NULL check in dialog_changed(), it already happens in
dialog_msg(). (Ken Takata)
https://github.com/vim/vim/commit/3f9a1ff141412e9e85f7dff47d02946cb9be9228
|
|
|
|
|
|
| |
Problem: :tab options doesn't open a new tab page. (Aviany)
Solution: Support the :tab modifier. (closes vim/vim#1960)
https://github.com/vim/vim/commit/ab6c8587ba846d08cd70e7b225c4952a468fc1e8
|
|
|
|
|
|
| |
Problem: No completion for argument list commands.
Solution: Add arglist completion. (Yegappan Lakshmanan, closes vim/vim#2706)
https://github.com/vim/vim/commit/cd43effecab02c6c28b1c4a3a14f91b8c3f26c0d
|
|
|
|
|
|
|
|
|
| |
directory (#8762)
Problem: :packadd does not load packages from the "start" directory.
(Alejandro Hernandez)
Solution: Make :packadd look in the "start" directory if those packages were
not loaded on startup.
https://github.com/vim/vim/commit/9e1d399e63903c6f84d7888ad8d84ebf4e29d8a1
|
|
|
|
|
|
| |
Show a proper confirmation dialog when trying to unload a terminal buffer while
the confirm option is set or when :confirm is used.
Fixes https://github.com/neovim/neovim/issues/4651
|
|
|
|
|
|
|
| |
Problem: Some macros are in lower case.
Solution: Make a few more macros upper case. Avoid lower case macros use an
argument twice.
https://github.com/vim/vim/commit/91acfffc1e6c0d8c2abfb186a0e79a5bf19c3f3f
|
|
|
|
|
| |
Problem: There are still a few macros that should be all-caps.
Solution: Make a few more macros all-caps.
https://github.com/vim/vim/commit/8820b48654b62472821d9b155fe03ab7ac13a05c
|
|
|
|
|
|
| |
Make `:verbose set ...` show when an option was last modified by an
API client or Lua script/chunk. In the case of an API client, the
channel ID is displayed.
|
|
|
|
|
|
|
| |
Problem: Can exit while a terminal is still running a job.
Solution: Consider a buffer with a running job like a changed file.
https://github.com/vim/vim/commit/eb44a68b42eda207a5bc4def9ea8fc4d38acb650
|
|
|
|
|
|
|
|
| |
Problem: :argadd without argument can't handle space in file name. (Harm te
Hennepe)
Solution: Escape the space. (Yasuhiro Matsumoto, closes vim/vim#1917)
https://github.com/vim/vim/commit/398ee7326b78b892a5c8380dfe3f2521a64b4fa7
|
|
|
|
|
|
| |
Problem: :argedit can only have one argument.
Solution: Allow for multiple arguments. (Christian Brabandt)
https://github.com/vim/vim/commit/90305c66a8637ea43a6509c7ab597734dd218365
|
|
|
|
|
|
|
|
|
|
| |
Problem: Using ":%argdel" while the argument list is already empty gives an
error. (Pavol Juhas)
Solution: Don't give an error. (closes vim/vim#1546)
https://github.com/vim/vim/commit/69a92fb5aecdf2f9d5f6947790b18991b22d0e4c
Also:
vim-patch:8.0.0473
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The calls to `fgets` in `src/nvim/if_cscope.c` (and elsewhere) can show
communication errors to the user if a signal is delivered during its
system calls. For plugins that proxy subprocess output into cscope
requests, a `SIGCHLD` might *always* interfere with calls into `fgets`.
To see this in a debugger, put a breakpoint on `cs_reading_emsg` and
watch signals come in (with lldb, using `process handle --notify true
--pass true`). Next, run a subcommand from neovim that calls through
cscope when it returns. A tag picker plugin, like vim-picker and fzy,
with `cscopetag` and `cscopetagorder=0` set, reproduced this reliably.
The breakpoint will hit after a `SIGCHLD` is delivered, and `errno` will
be set to 4, `EINTR`.
The caller of `fgets` should retry when `NULL` is returned with `errno`
set to `EINTR`.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Memory leak exposed by new test added in #7444.
==38771==ERROR: LeakSanitizer: detected memory leaks
Direct leak of 2400 byte(s) in 1 object(s) allocated from:
0 0x51163d in realloc (/home/travis/build/neovim/neovim/build/bin/nvim+0x51163d)
1 0xfda51c in xrealloc /home/travis/build/neovim/neovim/src/nvim/memory.c:169:15
2 0xda6802 in ga_grow /home/travis/build/neovim/neovim/src/nvim/garray.c:98:14
3 0xb67ccd in script_line_start /home/travis/build/neovim/neovim/src/nvim/ex_cmds2.c:3286:11
4 0xb62885 in getsourceline /home/travis/build/neovim/neovim/src/nvim/ex_cmds2.c:3110:5
5 0xb5fbfd in do_source /home/travis/build/neovim/neovim/src/nvim/ex_cmds2.c:2951:15
6 0xb5c484 in cmd_source /home/travis/build/neovim/neovim/src/nvim/ex_cmds2.c:2710:14
7 0xb5c5b0 in ex_source /home/travis/build/neovim/neovim/src/nvim/ex_cmds2.c:2691:3
8 0xb950b9 in do_one_cmd /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:2242:5
9 0xb737e1 in do_cmdline /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:609:20
10 0xb79ac5 in do_cmdline_cmd /home/travis/build/neovim/neovim/src/nvim/ex_docmd.c:280:10
11 0xed8a7b in exe_commands /home/travis/build/neovim/neovim/src/nvim/main.c:1684:5
12 0xec6602 in main /home/travis/build/neovim/neovim/src/nvim/main.c:521:5
13 0x2ae968600f44 in __libc_start_main /build/eglibc-SvCtMH/eglibc-2.19/csu/libc-start.c:287
|
|
|
|
|
|
|
|
| |
Problem: Profiling skips the first and last script line.
Solution: Check for BOM after setting script ID. (Lemonboy, closes vim/vim#2103,
closes vim/vim#2112) Add a test. List the trailing script lines.
https://github.com/vim/vim/commit/67435d9983965c5c77fc74f0559779ce4554dacb
|
|
|
|
|
|
|
|
| |
Problem: Plugins in start packages are sourced twice. (mseplowitz)
Solution: Use the unmodified runtime path when loading plugins (test by Ingo
Karkat, closes vim/vim#1801)
https://github.com/vim/vim/commit/07ecfa64a18609a986f21d6132d04ee8934f3200
|
|
|
|
|
|
|
|
|
| |
Problem: Package directories are added to 'runtimepath' only after loading
non-package plugins.
Solution: Split off the code to add package directories to 'runtimepath'.
(Ingo Karkat, closes vim/vim#1680)
https://github.com/vim/vim/commit/ce876aaa9a250a5a0d0e34b3a2625e51cf9bf5bb
|
|
|
|
|
|
|
|
|
| |
Problem: When using a symbolic link, the package path will not be inserted
at the right position in 'runtimepath'. (Dugan Chen, Norio Takagi)
Solution: Resolve symbolic links when finding the right position in
'runtimepath'. (Hirohito Higashi)
https://github.com/vim/vim/commit/2f9e575583c2ad3978ee3d0f790eeff7df56bd6c
|
|\
| |
| | |
vim-patch:8.0.0174
|
| |
| |
| |
| |
| |
| |
| |
| | |
Problem: For completion "locale -a" is executed on MS-Windows, even though
it most likely won't work.
Solution: Skip executing "locale -a" on MS-Windows. (Ken Takata)
https://github.com/vim/vim/commit/b8f7bd68f6fdff51ca4db5b145dcde42ee7b804b
|
|/ |
|
|\ |
|
| | |
|
|\| |
|
| |
| |
| | |
Also renames functions added in master and renamed here.
|
| | |
|
| |
| |
| |
| | |
Also fixes buffer reusage in setmatches() and complete().
|
| | |
|
|/
|
|
|
|
|
|
|
|
|
|
|
|
| |
1. Use `char *` for strings.
2. Add `const` qualifiers.
3. Add attributes and documentation.
4. Handle skipping *inside*.
5. Handle non-heredoc argument also inside: deferring this to the caller is
pointless because all callers need the same thing. Though new ex_lua caller
may live without allocations in this case, allocating nevertheless produces
cleaner code.
6. Note that all callers call script_get with `eap` and `eap->arg`. Thus second
argument is useless in practice: it is one and the same always and can be
reached through the first argument.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Problem: It is not possible to use plugins in an "after" directory to tune
the behavior of a package.
Solution: First load plugins from non-after directories, then packages and
finally plugins in after directories.
Reset 'loadplugins' before executing --cmd arguments.
https://github.com/vim/vim/commit/66459b7c98c67f8a9d39de8f08e8e8f1fca0e359
vim-patch:7.4.2172
vim-patch:7.4.2169
vim-patch:7.4.2177
vim-patch:7.4.2178
vim-patch:7.4.2184
vim-patch:8.0.0050
vim-patch:8.0.0105
vim-patch:8.0.0400
vim-patch:8.0.0405
Closes #6034
|
|
|
|
|
| |
Before this change, new processes started with libuv prevented SIGHUP
from reaching pty processes (by keeping the ptmx file descriptor open).
|
|
|
|
|
|
|
|
| |
Main points:
- Replace `char_u` with `char` in some cases.
- Remove `str[len] = NUL` hack in some cases when `str` may be considered
`const`.
|
|
|
|
|
|
|
|
|
|
| |
Problem: More buf_valid() calls can be optimized.
Solution: Use bufref_valid() instead.
NOTE: Some changes related to channels and the Python and Netbeans interfaces
were obviously left out.
https://github.com/vim/vim/commit/7c0a2f367f2507669560b1a66423155c70d2e75b
|
|
|
|
|
|
| |
Problem: :packadd does not work the same when used early or late.
Solution: Always load plugins matching "plugin/**/*.vim".
https://github.com/vim/vim/commit/71fb0c146bef08dc276fc5793bd47366e6e0f32a
|
|
|
|
|
|
|
|
|
|
| |
move `call_shell` to misc1.c
Move some fns to state.c
Move some fns to option.c
Move some fns to memline.c
Move `vim_chdir*` fns to file_search.c
Move some fns to new module, bytes.c
Move some fns to fileio.c
|
|
|
|
|
|
|
|
|
|
|
| |
For any script--not just `:global` commands--there is no reason to
update the system clipboard until the script is finished, so disable it
during do_cmdline().
Before this change, 'clipboard=unnamedplus' causes scripted editing to
be extremely slow (e.g. `:normal` in a while-loop).
Closes #3534
|
| |
|
|\ |
|
| | |
|