Age | Commit message (Collapse) | Author |
|
Problem: compiler warnings
Solution: Add type casts. (Christian Brabandt)
|
|
Problem: When a json message arrives in pieces, the start is dropped and
the decoding fails.
Solution: Do not drop the start when it is still needed. (Kay Zheng) Add a
test. Reset the timeout when something is received.
|
|
Problem: Ubsan warns for using a pointer that is not aligned.
Solution: First copy the address. (Yegappan Lakshmanan)
|
|
Problem: JSON with a duplicate key gives an internal error. (Lcd)
Solution: Give a normal error. Avoid an error when parsing JSON from a
remote client fails.
|
|
Problem: EMSG() is sometimes used for internal errors.
Solution: Change them to IEMSG(). (Dominique Pelle) And a few more.
|
|
Problem: When reading channel output in a timer, messages may go missing.
(Skywind)
Solution: Add the "drop" option. Write error messages in the channel log.
Don't have ch_canread() check for the channel being open.
|
|
Problem: When using ch_read() with zero timeout, can't tell the difference
between reading an empty line and nothing available.
Solution: Add ch_canread().
|
|
Problem: May not process channel readahead. (skywind)
Solution: If there is readahead don't block on input.
|
|
Problem: When a channel callback consumes a lot of time Vim becomes
unresponsive. (skywind)
Solution: Bail out of checking channel readahead after 100 msec.
|
|
Problem: When the channel callback gets job info the job may already have
been deleted. (lifepillar)
Solution: Do not delete the job when the channel is still useful. (ichizok,
closes #1242, closes #1245)
|
|
Problem: Extension for configure should be ".ac".
Solution: Rename configure.in to configure.ac. (James McCoy, closes #1173)
|
|
Problem: Channel log has double parens ()().
Solution: Remove () for write_buf_line. (Yasuhiro Matsumoto)
|
|
Problem: An exiting job is detected with a large latency.
Solution: Check for pending job more often. (Ozaki Kiichi) Change the
double loop in mch_inchar() into one.
|
|
Problem: Detecting that a job has finished may take a while.
Solution: Check for a finished job more often (Ozaki Kiichi)
|
|
Problem: A channel is closed when reading on stderr or stdout fails, but
there may still be something to read on another part.
Solution: Turn ch_to_be_closed into a bitfield. (Ozaki Kiichi)
|
|
Problem: When the netbeans channel closes, "DETACH" is put in the output
part. (Ozaki Kiichi)
Solution: Write "DETACH" in the socket part.
|
|
Problem: If a channel in NL mode is missing the NL at the end the remaining
characters are dropped.
Solution: When the channel is closed use the remaining text. (Ozaki Kiichi)
|
|
Problem: When using ":sleep" channel input is not handled.
Solution: When there is a channel check for input also when not in raw mode.
Check every 100 msec.
|
|
Problem: Can't tell which part of a channel has "buffered" status.
Solution: Add an optional argument to ch_status(). Let ch_info() also
return "buffered" for out_status and err_status.
|
|
Problem: The "Reading from channel output..." message can be unwanted.
Appending to a buffer leaves an empty first line behind.
Solution: Add the "out_msg" and "err_msg" options. Writing the first line
overwrites the first, empty line.
|
|
Problem: Freeing a variable that is on the stack.
Solution: Don't free res_tv or err_tv. (Ozaki Kiichi)
|
|
Problem: It is not possible to close the "in" part of a channel.
Solution: Add ch_close_in().
|
|
Problem: When starting a job that reads from a buffer and reaching the end,
the job hangs.
Solution: Close the pipe or socket when all lines were read.
|
|
Problem: Modelines in source code are inconsistant.
Solution: Use the same line in most files. Add 'noet'. (Naruhiko Nishino)
|
|
Problem: The callback passed to ch_sendraw() is not used.
Solution: Pass the read part, not the send part. (haya14busa, closes #1019)
|
|
Problem: Two JSON messages are sent without a separator.
Solution: Separate messages with a NL. (closes #1001)
|
|
Problem: Some error message cannot be translated.
Solution: Enclose them in _() and N_(). (Dominique Pelle)
|
|
Problem: Using function() with a name will find another function when it is
redefined.
Solution: Add funcref(). Refer to lambda using a partial. Fix several
reference counting issues.
|
|
Problem: More memory leaks when using partial, e.g. for "exit-cb".
Solution: Don't copy the callback when using a partial.
|
|
Problem: Using submatch() in a lambda passed to substitute() is verbose.
Solution: Use a static list and pass it as an optional argument to the
function. Fix memory leak.
|
|
Problem: Memory leak when using a function callback.
Solution: Don't save the function name when it's in the partial.
|
|
Problem: Reference counting for callbacks isn't right.
Solution: Add free_callback(). (Ken Takata) Fix reference count.
|
|
Problem: More buf_valid() calls can be optimized.
Solution: Use bufref_valid() instead.
|
|
Problem: When writing buffer lines to a job there is no NL to NUL
conversion.
Solution: Make it work symmetrical with writing lines from a job into a
buffer.
|
|
Problem: When using a job in raw mode to append to a buffer garbage
characters are added.
Solution: Do not replace the trailing NUL with a NL. (Ozaki Kiichi)
|
|
Problem: Crash when running test_channel.vim on Windows.
Solution: Check for NULL pointer result from FormatMessage(). (Christian
Brabandt)
|
|
Problem: Missing "void" for functions without argument.
Solution: Add "void". (Hirohito Higashi)
|
|
Problem: Collapsing channel buffers and searching for NL does not work
properly. (Xavier de Gary, Ramel Eshed)
Solution: Do not assume the buffer contains a NUL or not. Change NUL bytes
to NL to avoid the string is truncated.
|
|
Problem: No test for collapsing buffers for a channel. Some text is lost.
Solution: Add a simple test. Set rq_buflen correctly.
|
|
Problem: Channel reading very long lines is slow.
Solution: Collapse multiple buffers until a NL is found.
|
|
Problem: Whether a job has exited isn't detected until a character is
typed. After calling exit_cb the cursor is in the wrong place.
Solution: Don't wait forever for a character to be typed when there is a
pending job. Update the screen if neede after calling exit_cb.
|
|
Problem: Cannot use a function reference for "exit_cb".
Solution: Use get_callback(). (Yegappan Lakshmanan)
|
|
Problem: When a channel writes to a buffer it doesn't find a buffer by the
short name but re-uses it anyway.
Solution: Find buffer also by the short name.
|
|
Problem: When a channel appends to a buffer that is 'nomodifiable' there is
an error but appending is done anyway.
Solution: Add the 'modifiable' option. Refuse to write to a 'nomodifiable'
when the value is 1.
|
|
Problem: Valgrind reports memory leak for job that is not freed.
Solution: Free all jobs on exit. Add test for failing job.
|
|
Problem: Crash when job and channel are in the same dict while using
partials. (Luc Hermitte)
Solution: Do not decrement the channel reference count too early.
|
|
Problem: GUI freezes when using a job. (Shougo)
Solution: Unregister the channel when there is an input error.
|
|
Problem: Still trying to read from channel that is going to be closed.
(Ramel Eshed)
Solution: Check if ch_to_be_closed is set.
|
|
Problem: Mentioning NetBeans when reading from channel. (Ramel Eshed)
Solution: Make the text more generic.
|
|
Problem: No message on channel log when buffer was freed.
Solution: Log a message.
|