| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
| |
Problem: When a buffer gets updated while in command line mode, the screen
may be messed up.
Solution: Postpone the redraw when the screen is scrolled.
|
|
|
|
|
|
| |
Problem: Cannot detect a crash in tests when caused by garbagecollect().
Solution: Add garbagecollect_for_testing(). Do not free a job if is still
useful.
|
|
|
|
|
|
|
|
| |
Problem: Leaking memory when there is a cycle involving a job and a
partial.
Solution: Add a copyID to job and channel. Set references in items referred
by them. Go through all jobs and channels to find unreferenced
items. Also, decrement reference counts when garbage collecting.
|
|
|
|
|
| |
Problem: Leaking memory when opening a channel fails.
Solution: Unreference partials in job options.
|
|
|
|
|
| |
Problem: The channel close_cb option does not work.
Solution: Use jo_close_partial instead of jo_err_partial. (Damien)
|
|
|
|
|
| |
Problem: Coverity warns for not checking name length (false positive).
Solution: Only copy the characters we know are there.
|
|
|
|
|
| |
Problem: When writing buffer lines to a pipe Vim may block.
Solution: Avoid blocking, write more lines later.
|
|
|
|
|
| |
Problem: channel_get_all() does multiple allocations.
Solution: Compute the size and allocate once.
|
|
|
|
|
| |
Problem: Win32: waiting on a pipe with fixed sleep time.
Solution: Start with a short delay and increase it when looping.
|
|
|
|
|
| |
Problem: When reading JSON from a channel all readahead is used.
Solution: Use the fill function to reduce overhead.
|
|
|
|
|
| |
Problem: Crash when calling job_start() with a NULL string. (Dominique)
Solution: Check for an invalid argument.
|
|
|
|
|
|
| |
Problem: No test for an invalid Ex command on a channel.
Solution: Test handling an invalid command gracefully. Avoid getting an
error message, do write it to the channel log.
|
|
|
|
|
|
| |
Problem: Compiler doesn't understand switch on all enum values. (Tony
Mechelynck)
Solution: Initialize variable.
|
|
|
|
|
| |
Problem: 64-bit Compiler warning.
Solution: Change type of variable. (Mike Williams)
|
|
|
|
|
| |
Problem: Can't get info about a channel.
Solution: Add ch_info().
|
|
|
|
|
| |
Problem: All Channels share the message ID, it keeps getting bigger.
Solution: Use a message ID per channel.
|
|
|
|
|
|
| |
Problem: Starting job with output to buffer changes options in the current
buffer.
Solution: Set "curbuf" earlier. (Yasuhiro Matsumoto)
|
|
|
|
|
| |
Problem: When a JSON message is split it isn't decoded.
Solution: Wait a short time for the rest of the message to arrive.
|
|
|
|
|
| |
Problem: Malformed channel request causes a hang.
Solution: Drop malformed message. (Damien)
|
|
|
|
|
| |
Problem: Using channel timeout instead of request timeout. (Coverity)
Solution: Remove the extra assignment.
|
|
|
|
|
| |
Problem: Missing changes in channel.c
Solution: Include the changes.
|
|
|
|
|
| |
Problem: Dict options with a dash are more difficult to use.
Solution: Use an underscore, so that dict.err_io can be used.
|
|
|
|
|
| |
Problem: Passing cookie to a callback is clumsy.
Solution: Change function() to take arguments and return a partial.
|
|
|
|
|
| |
Problem: On Win32 escaping the command does not work properly.
Solution: Reset 'ssl' when escaping the command. (Yasuhiro Matsumoto)
|
|
|
|
|
| |
Problem: Missing job_info().
Solution: Implement it.
|
|
|
|
|
| |
Problem: Too much code in eval.c.
Solution: Move job and channel code to channel.c.
|
|
|
|
|
| |
Problem: Too many feature flags for pipes, jobs and channels.
Solution: Only use FEAT_JOB_CHANNEL.
|
|
|
|
|
| |
Problem: Cannot re-use a channel for another job.
Solution: Add the "channel" option to job_start().
|
|
|
|
|
| |
Problem: Compiler warning for unitinialized variable. (Dominique Pelle)
Solution: Always give the variable a value.
|
|
|
|
|
| |
Problem: Specifying buffer number for channel not implemented yet.
Solution: Implement passing a buffer number.
|
|
|
|
|
|
| |
Problem: Channel test is flaky on MS-Windows.
Solution: Limit the select() timeout to 50 msec and try with a new socket if
it fails.
|
|
|
|
|
| |
Problem: Channel test fails on BSD.
Solution: Break out of the loop when connect() succeeds. (Ozaki Kiichi)
|
|
|
|
|
| |
Problem: Cannot write channel err to a buffer.
Solution: Implement it.
|
|
|
|
|
| |
Problem: Compiler warning with 64bit compiler.
Solution: Add typecast. (Mike Williams)
|
|
|
|
|
|
| |
Problem: When channel log is enabled get too many "looking for messages"
log entries.
Solution: Only give the message after another message.
|
|
|
|
|
|
| |
Problem: Writing last-but-one line of buffer to a channel isn't implemented
yet.
Solution: Implement it. Fix leaving a swap file behind.
|
|
|
|
|
| |
Problem: Crash when built with GUI but it's not active. (Dominique Pelle)
Solution: Check gui.in_use.
|
|
|
|
|
|
| |
Problem: Wrong callback invoked for zero-id messages.
Solution: Don't use the first one-time callback when the sequence number
doesn't match.
|
|
|
|
|
| |
Problem: Job input from buffer is not implemented.
Solution: Implement it. Add "in-top" and "in-bot" options.
|
|
|
|
|
| |
Problem: A one-time callback is not used for a raw channel.
Solution: Use a one-time callback when it exists.
|
|
|
|
|
| |
Problem: Missing out-of-memory check. And Coverity warning.
Solution: Bail out when msg is NULL.
|
|
|
|
|
| |
Problem: Coverity reports missing restore.
Solution: Move json_encode() call up.
|
|
|
|
|
|
|
| |
Problem: Channel test sometimes fails, especially on OS/X. (Kazunobu
Kuriyama)
Solution: Change the && into ||, call getsockopt() in more situations.
(Ozaki Kiichi)
|
|
|
|
|
| |
Problem: Coverity reports dead code.
Solution: Remove the two lines.
|
|
|
|
|
|
|
| |
Problem: Coverity reported possible use of NULL pointer when using buffer
output with JSON mode.
Solution: Make it actually possible to use JSON mode with a buffer.
Re-encode the JSON to append it to the buffer.
|
|
|
|
|
| |
Problem: MS-Windows doesn't know socklen_t.
Solution: Use previous method for WIN32.
|
|
|
|
|
| |
Problem: When a JSON channel has a callback it may never be cleared.
Solution: Do not write "DETACH" into a JS or JSON channel.
|
|
|
|
|
|
| |
Problem: Opening a channel with select() is not done properly.
Solution: Also used read-fds. Use getsockopt() to check for errors. (Ozaki
Kiichi)
|
|
|
|
|
|
|
| |
Problem: When a callback adds a syntax item either the redraw doesn't
happen right away or in the GUI the cursor is in the wrong
position for a moment. (Jakson Alves de Aquino)
Solution: Redraw after the callback was invoked.
|
|
|
|
|
|
| |
Problem: Vim hangs when a channel has a callback but isn't referenced.
Solution: Have channel_unref() only return TRUE when the channel was
actually freed.
|