| Commit message (Collapse) | Author | Age |
... | |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
| |
|
|\ |
|
| | |
|
| | |
|
| |
| |
| |
| |
| |
| |
| | |
Problem: Compiler warns for loss of data.
Solution: Use size_t instead of int. (Christian Brabandt)
https://github.com/vim/vim/commit/fef524bbff9aa186838c35212b2f89f61d627cf8
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Problem: On MS-Windows the package directory may be added at the end
because of forward/backward slash differences. (Matthew
Desjardins)
Solution: Ignore slash differences.
https://github.com/vim/vim/commit/4c5717ed8a81f5ae9dfe4f38b17a61fc8421054b
|
| |
| |
| |
| |
| |
| |
| |
| | |
Problem: When using packages an "after" directory cannot be used.
Solution: Add the "after" directory of the package to 'runtimepath' if it
exists.
https://github.com/vim/vim/commit/a57024453115592b8847af40ddd965a33898e390
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Problem: For plugins in packages, plugin authors need to take care of all
dependencies.
Solution: When loading "start" packages and for :packloadall, first add all
directories to 'runtimepath' before sourcing plugins.
https://github.com/vim/vim/commit/49b27326447d0827c59c6cd201d58f65c1163086
|
| |
| |
| |
| |
| |
| |
| | |
Problem: Memory leak. (Coverity)
Solution: Free the pattern.
https://github.com/vim/vim/commit/ba8cd122ef60a7c71a7723be0d635f0c2d4556ab
|
| |
| |
| |
| |
| |
| |
| | |
Problem: ":runtime" does not use 'packpath'.
Solution: Add "what" argument.
https://github.com/vim/vim/commit/8dcf259d904cfb965d31841dc74a5cfaf5a351d9
|
| |
| |
| |
| |
| |
| |
| | |
Problem: ":colorscheme" does not use 'packpath'.
Solution: Also use in "start" and "opt" directories in 'packpath'.
https://github.com/vim/vim/commit/7f8989dd8a627af2185df381195351a913f3777f
|
| |
| |
| |
| |
| |
| |
| | |
Problem: Cannot generate help tags in all doc directories.
Solution: Make ":helptags ALL" work.
https://github.com/vim/vim/commit/6bef5306e4f2cacb3a93667992c2312d4b293c9d
|
| |
| |
| |
| |
| |
| |
| | |
Problem: Cannot load packages early.
Solution: Add the ":packloadall" command.
https://github.com/vim/vim/commit/2d8f56acb32428d0f965d42dd13b27100b46fa15
|
| |
| |
| |
| |
| |
| |
| | |
Problem: Using "ever" for packages is confusing.
Solution: Use "start", as it's related to startup.
https://github.com/vim/vim/commit/af1a0e371e739f8dff337fd31da0ff8ffb347b43
|
| |
| |
| |
| |
| |
| |
| | |
Problem: No error message when :packadd does not find anything.
Solution: Add an error message. (Hirohito Higashi)
https://github.com/vim/vim/commit/be82c254862e475a582c0717455e1db6bf96b0d0
|
| |
| |
| |
| |
| |
| |
| | |
Problem: ":loadplugin" is not optimal, some people find it confusing.
Solution: Only use ":packadd" with an optional "!".
https://github.com/vim/vim/commit/f3654827368e6204608036353a0360e9e7c21e02
|
| |
| |
| |
| |
| |
| |
| | |
Problem: Cannot add a pack direcory without loading a plugin.
Solution: Add the :packadd command.
https://github.com/vim/vim/commit/91715873d19a1859c08eeded7848113596e2f2bd
|
| |
| |
| |
| |
| |
| |
| | |
Problem: No testfor ":loadplugin".
Solution: Add a test. Fix how option is being set.
https://github.com/vim/vim/commit/863c1a9079fa340d663ccafb011729a29186d73e
|
| |
| |
| |
| |
| |
| |
| | |
Problem: ":loadplugin" doesn't take care of ftdetect files.
Solution: Also load ftdetect scripts when appropriate.
https://github.com/vim/vim/commit/1bdd42627d619258d0e847f217cfc1c2795f1ac5
|
| |
| |
| |
| |
| |
| |
| | |
Problem: Compiler warning. (Cesar Romani)
Solution: Initialize variable.
https://github.com/vim/vim/commit/bdcd75275002c3b74015bb9bc0a01b13bb6107d4
|
|/
|
|
|
|
|
| |
Problem: It is not easy to use a set of plugins and their dependencies.
Solution: Add packages, ":loadopt", 'packpath'.
https://github.com/vim/vim/commit/f6fee0e2d4341c0c2f5339c1268e5877fafd07cf
|
|
|
|
|
|
|
|
| |
A single line was deleted from `ex_drop()` in 1a91000 when fixing clint
warnings causing the `:drop` command to not work correctly if the buffer
is not already open in a window.
Fixes #4981
|
| |
|
| |
|
| |
|
|\
| |
| | |
vim-patch:7.4.1119,7.4.1123,7.4.1132,7.4.1161
|