| Commit message (Collapse) | Author | Age |
| |
|
|
|
|
|
|
|
| |
Problem: Illegal memory access with empty :doau command.
Solution: Check the event for being out of range. (James McCoy)
https://github.com/vim/vim/commit/faf29d7f91477c25c85d9d7165d90e8d8f1c512e
|
|
|
|
|
|
|
| |
Problem: Some macros are in lower case, which can be confusing.
Solution: Make a few lower case macros upper case.
https://github.com/vim/vim/commit/b5aedf3e228d35821591da9ae8501b61cf2e264c
ref #6297
|
|
|
|
|
|
|
|
|
| |
If an EOF is returned from `fgets`, `vim_fgets` might spin forever, as
it tries to consume the current line.
A `NULL` return value from `fgets` should break out of the function
(unless `errno` is `EINTR`), and then `feof` should be used to check for
the EOF condition on the stream.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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`.
|
|
|
|
|
|
|
| |
Problem: Crash when 'fileformat' is forced to "dos" and the first line in
the file is empty and does not have a CR character.
Solution: Don't check for CR before the start of the buffer.
https://github.com/vim/vim/commit/2aa5f696b91a51f29873e340de4bdc182e1e8dd4
|
|\ |
|
| | |
|
|/
|
|
|
|
|
|
|
| |
Problem: When 'fileformats' is changed in a BufReadPre auto command, it
does not take effect in readfile(). (Gary Johnson)
Solution: Check the value of 'fileformats' after executing auto commands.
(Christian Brabandt)
https://github.com/vim/vim/commit/7a2699e868bca781e26b060a44fc714d87cfa4ba
|
| |
|
|
|
|
|
|
|
| |
This was broken in ye olde refactor from 2014:
e85fe0957d40080f43cbfcbe9eb8864475325b09
References #4370
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
https://github.com/vim/vim/commit/f04507d132fbcb63999167ec006fc6e700b5af4f
Author: Bram Moolenaar <Bram@vim.org>
Date: Sat Aug 20 15:05:39 2016 +0200
patch 7.4.2229
Problem: Startup test fails on Solaris.
Solution: Recognize a character device. (Danek Duvall)
|
|
|
|
|
|
|
|
|
|
|
|
| |
https://github.com/vim/vim/commit/f71d7b9ee5ceba75f70c30845332ddd728fd16c6
Author: Bram Moolenaar <Bram@vim.org>
Date: Tue Aug 9 22:14:05 2016 +0200
patch 7.4.2189
Problem: Cannot detect encoding in a fifo.
Solution: Extend the stdin way of detecting encoding to fifo. Add a test
for detecting encoding on stdin and fifo. (Ken Takata)
|
| |
|
|
|
|
|
|
|
| |
Problem: Number variables are not 64 bits while they could be.
Solution: Add the num64 feature. (Ken Takata)
https://github.com/vim/vim/commit/22fcfad29276bd5f317faf516637dcd491b96a12
|
|
|
|
|
|
|
|
|
|
|
| |
Problem: On MS-Windows large files (> 2Gbyte) cause problems.
Solution: Use "off_T" instead of "off_t". Use "stat_T" instead of "struct
stat". Use 64 bit system functions if available. (Ken Takata)
https://github.com/vim/vim/commit/8767f52fbfd4f053ce00a978227c95f1d7d323fe
Only the off_T changes are relevant, since all the "struct stat" usage
is abstracted by libuv.
|
| |
|
| |
|
|
|
|
| |
Most of code is dead when enc_utf8 is always true. Given that `c` is being
reused for other purposes I left it set to 1 just in case.
|
|
|
| |
One error is still kept: buf_write function is too large.
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
| |
Adds os_strerror() result to a number of places. Also since I could not track
where err\* variables are NULL and where they are not, using macros to make sure
that all three variables are set at once.
Removes #ifdef UNIX around the use of os_fsync, makes it use os_close in place
of close in some places.
|
|
|
|
| |
Also fixed an error in path_fnamecmp().
|
| |
|
|
|
|
| |
Function was renamed and changed to return `const char *`.
|
|
|
|
|
|
|
|
|
|
| |
Problem: Crash and endless loop when closing windows in a SessionLoadPost
autocommand.
Solution: Check for valid tabpage. (partly neovim/neovim#6308)
https://github.com/vim/vim/commit/8c752bd6c4af54c0b7bac35a39acc2bf16015f85
Closes #6308
|
| |
|
|
|
|
|
| |
Before this change, new processes started with libuv prevented SIGHUP
from reaching pty processes (by keeping the ptmx file descriptor open).
|
| |
|
|
|
|
|
|
|
| |
Problem: Looping over windows, buffers and tab pages is inconsistant.
Solution: Use FOR_ALL_ macros everywhere. (Yegappan Lakshmanan)
https://github.com/vim/vim/commit/2932359000b2f918d5fade79ea4d124d5943cd07
|
| |
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
References 8bc2bffda94bf2de4e8adae57b4b5597ed4e8247
|
| |
|
|
|
|
|
|
| |
References https://github.com/neovim/neovim/pull/5956#pullrequestreview-17812620
Helped-by: oni-link <knil.ino@gmail.com>
|
|\ |
|
| | |
|
| |
| |
| |
| | |
Closes #5921
|
|\ \
| |/
|/|
| | |
7.4.2313, 7.4.2314'.
|
| |
| |
| |
| |
| |
| |
| | |
Problem: No error when deleting an augroup while it's the current one.
Solution: Disallow deleting an augroup when it's the current one.
https://github.com/vim/vim/commit/de653f08805dde14424d417502a0480a6ad292f8
|
| |
| |
| |
| |
| |
| |
| |
| | |
Problem: Crash when deleting an augroup and listing an autocommand.
(Dominique Pelle)
Solution: Make sure deleted_augroup is valid.
https://github.com/vim/vim/commit/b62cc36a600e2e1e5a1d1d484fef89898c847c4c
|
| |
| |
| |
| |
| |
| |
| |
| | |
Problem: Get warning for deleting autocommand group when the autocommand
using the group is scheduled for deletion. (Pavol Juhas)
Solution: Check for deleted autocommand.
https://github.com/vim/vim/commit/5c80908ced601be6db7554a147cdb0f98ac8daa1
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Problem: Deleting an augroup that still has autocmds does not give a
warning. The next defined augroup takes its place.
Solution: Give a warning and prevent the index being used for another group
name.
https://github.com/vim/vim/commit/f2c4c391192cab6e923b1a418d4af09106fba25f
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Abuse NOTDONE to give some nuance to the return value of readfile(), so
that open_buffer() can distinguish between "failed, lol" and "failed
because the path is a directory".
Before this change, Vim *already* creates a new buffer when a directory
is edited. So there is no reason it should not raise BufEnter, that was
an implementation detail of ye olde readfile().
Most of the changes in this commit merely preserve the old semantics.
The "implicit" change that we actually are interested in, is this line
in `open_buffer()`, where `retval` being non-FAIL allows EVENT_BUFENTER
to be applied:
apply_autocmds_retval(EVENT_BUFENTER, NULL, NULL, FALSE, curbuf, &retval);
References https://github.com/vim/vim/issues/1353
|