summaryrefslogtreecommitdiff
path: root/src/channel.c
Commit message (Collapse)AuthorAgeFilesLines
* patch 7.4.1750v7.4.1750Bram Moolenaar2016-04-181-7/+9
| | | | | | 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.
* patch 7.4.1727v7.4.1727Bram Moolenaar2016-04-141-8/+18
| | | | | | 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.
* patch 7.4.1719v7.4.1719Bram Moolenaar2016-04-081-19/+119
| | | | | | | | 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.
* patch 7.4.1717v7.4.1717Bram Moolenaar2016-04-071-17/+43
| | | | | Problem: Leaking memory when opening a channel fails. Solution: Unreference partials in job options.
* patch 7.4.1687v7.4.1687Bram Moolenaar2016-03-301-1/+1
| | | | | Problem: The channel close_cb option does not work. Solution: Use jo_close_partial instead of jo_err_partial. (Damien)
* patch 7.4.1680v7.4.1680Bram Moolenaar2016-03-281-2/+2
| | | | | Problem: Coverity warns for not checking name length (false positive). Solution: Only copy the characters we know are there.
* patch 7.4.1669v7.4.1669Bram Moolenaar2016-03-281-31/+262
| | | | | Problem: When writing buffer lines to a pipe Vim may block. Solution: Avoid blocking, write more lines later.
* patch 7.4.1668v7.4.1668Bram Moolenaar2016-03-281-9/+30
| | | | | Problem: channel_get_all() does multiple allocations. Solution: Compute the size and allocate once.
* patch 7.4.1667v7.4.1667Bram Moolenaar2016-03-281-6/+12
| | | | | Problem: Win32: waiting on a pipe with fixed sleep time. Solution: Start with a short delay and increase it when looping.
* patch 7.4.1666v7.4.1666Bram Moolenaar2016-03-281-22/+72
| | | | | Problem: When reading JSON from a channel all readahead is used. Solution: Use the fill function to reduce overhead.
* patch 7.4.1665v7.4.1665Bram Moolenaar2016-03-271-0/+5
| | | | | Problem: Crash when calling job_start() with a NULL string. (Dominique) Solution: Check for an invalid argument.
* patch 7.4.1662v7.4.1662Bram Moolenaar2016-03-261-0/+9
| | | | | | 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.
* patch 7.4.1631v7.4.1631Bram Moolenaar2016-03-211-1/+1
| | | | | | Problem: Compiler doesn't understand switch on all enum values. (Tony Mechelynck) Solution: Initialize variable.
* patch 7.4.1628v7.4.1628Bram Moolenaar2016-03-211-1/+1
| | | | | Problem: 64-bit Compiler warning. Solution: Change type of variable. (Mike Williams)
* patch 7.4.1624v7.4.1624Bram Moolenaar2016-03-201-0/+71
| | | | | Problem: Can't get info about a channel. Solution: Add ch_info().
* patch 7.4.1623v7.4.1623Bram Moolenaar2016-03-201-12/+1
| | | | | Problem: All Channels share the message ID, it keeps getting bigger. Solution: Use a message ID per channel.
* patch 7.4.1618v7.4.1618Bram Moolenaar2016-03-201-1/+1
| | | | | | Problem: Starting job with output to buffer changes options in the current buffer. Solution: Set "curbuf" earlier. (Yasuhiro Matsumoto)
* patch 7.4.1617v7.4.1617Bram Moolenaar2016-03-201-30/+133
| | | | | Problem: When a JSON message is split it isn't decoded. Solution: Wait a short time for the rest of the message to arrive.
* patch 7.4.1616v7.4.1616Bram Moolenaar2016-03-201-9/+24
| | | | | Problem: Malformed channel request causes a hang. Solution: Drop malformed message. (Damien)
* patch 7.4.1593v7.4.1593Bram Moolenaar2016-03-191-1/+0
| | | | | Problem: Using channel timeout instead of request timeout. (Coverity) Solution: Remove the extra assignment.
* patch 7.4.1579v7.4.1579Bram Moolenaar2016-03-151-35/+1
| | | | | Problem: Missing changes in channel.c Solution: Include the changes.
* patch 7.4.1560v7.4.1560Bram Moolenaar2016-03-141-28/+28
| | | | | Problem: Dict options with a dash are more difficult to use. Solution: Use an underscore, so that dict.err_io can be used.
* patch 7.4.1559v7.4.1559Bram Moolenaar2016-03-141-21/+93
| | | | | Problem: Passing cookie to a callback is clumsy. Solution: Change function() to take arguments and return a partial.
* patch 7.4.1544v7.4.1544Bram Moolenaar2016-03-121-0/+10
| | | | | Problem: On Win32 escaping the command does not work properly. Solution: Reset 'ssl' when escaping the command. (Yasuhiro Matsumoto)
* patch 7.4.1541v7.4.1541Bram Moolenaar2016-03-121-0/+34
| | | | | Problem: Missing job_info(). Solution: Implement it.
* patch 7.4.1539v7.4.1539Bram Moolenaar2016-03-121-2/+1061
| | | | | Problem: Too much code in eval.c. Solution: Move job and channel code to channel.c.
* patch 7.4.1537v7.4.1537Bram Moolenaar2016-03-111-75/+6
| | | | | Problem: Too many feature flags for pipes, jobs and channels. Solution: Only use FEAT_JOB_CHANNEL.
* patch 7.4.1536v7.4.1536Bram Moolenaar2016-03-111-42/+70
| | | | | Problem: Cannot re-use a channel for another job. Solution: Add the "channel" option to job_start().
* patch 7.4.1531v7.4.1531Bram Moolenaar2016-03-101-4/+4
| | | | | Problem: Compiler warning for unitinialized variable. (Dominique Pelle) Solution: Always give the variable a value.
* patch 7.4.1529v7.4.1529Bram Moolenaar2016-03-091-1/+8
| | | | | Problem: Specifying buffer number for channel not implemented yet. Solution: Implement passing a buffer number.
* patch 7.4.1527v7.4.1527Bram Moolenaar2016-03-091-18/+29
| | | | | | 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.
* patch 7.4.1524v7.4.1524Bram Moolenaar2016-03-081-58/+66
| | | | | Problem: Channel test fails on BSD. Solution: Break out of the loop when connect() succeeds. (Ozaki Kiichi)
* patch 7.4.1522v7.4.1522Bram Moolenaar2016-03-081-4/+22
| | | | | Problem: Cannot write channel err to a buffer. Solution: Implement it.
* patch 7.4.1517v7.4.1517Bram Moolenaar2016-03-081-1/+1
| | | | | Problem: Compiler warning with 64bit compiler. Solution: Add typecast. (Mike Williams)
* patch 7.4.1505v7.4.1505Bram Moolenaar2016-03-061-1/+17
| | | | | | Problem: When channel log is enabled get too many "looking for messages" log entries. Solution: Only give the message after another message.
* patch 7.4.1502v7.4.1502Bram Moolenaar2016-03-061-59/+156
| | | | | | Problem: Writing last-but-one line of buffer to a channel isn't implemented yet. Solution: Implement it. Fix leaving a swap file behind.
* patch 7.4.1496v7.4.1496Bram Moolenaar2016-03-051-2/+5
| | | | | Problem: Crash when built with GUI but it's not active. (Dominique Pelle) Solution: Check gui.in_use.
* patch 7.4.1493v7.4.1493Bram Moolenaar2016-03-051-6/+6
| | | | | | Problem: Wrong callback invoked for zero-id messages. Solution: Don't use the first one-time callback when the sequence number doesn't match.
* patch 7.4.1485v7.4.1485Bram Moolenaar2016-03-031-2/+62
| | | | | Problem: Job input from buffer is not implemented. Solution: Implement it. Add "in-top" and "in-bot" options.
* patch 7.4.1483v7.4.1483Bram Moolenaar2016-03-031-17/+37
| | | | | Problem: A one-time callback is not used for a raw channel. Solution: Use a one-time callback when it exists.
* patch 7.4.1471v7.4.1471Bram Moolenaar2016-03-021-0/+3
| | | | | Problem: Missing out-of-memory check. And Coverity warning. Solution: Bail out when msg is NULL.
* patch 7.4.1470v7.4.1470Bram Moolenaar2016-03-021-11/+11
| | | | | Problem: Coverity reports missing restore. Solution: Move json_encode() call up.
* patch 7.4.1469v7.4.1469Bram Moolenaar2016-03-021-4/+5
| | | | | | | Problem: Channel test sometimes fails, especially on OS/X. (Kazunobu Kuriyama) Solution: Change the && into ||, call getsockopt() in more situations. (Ozaki Kiichi)
* patch 7.4.1466v7.4.1466Bram Moolenaar2016-02-291-2/+0
| | | | | Problem: Coverity reports dead code. Solution: Remove the two lines.
* patch 7.4.1465v7.4.1465Bram Moolenaar2016-02-291-22/+29
| | | | | | | 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.
* patch 7.4.1459v7.4.1459Bram Moolenaar2016-02-281-4/+10
| | | | | Problem: MS-Windows doesn't know socklen_t. Solution: Use previous method for WIN32.
* patch 7.4.1458v7.4.1458Bram Moolenaar2016-02-281-14/+40
| | | | | Problem: When a JSON channel has a callback it may never be cleared. Solution: Do not write "DETACH" into a JS or JSON channel.
* patch 7.4.1457v7.4.1457Bram Moolenaar2016-02-281-34/+35
| | | | | | Problem: Opening a channel with select() is not done properly. Solution: Also used read-fds. Use getsockopt() to check for errors. (Ozaki Kiichi)
* patch 7.4.1452v7.4.1452Bram Moolenaar2016-02-281-1/+6
| | | | | | | 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.
* patch 7.4.1451v7.4.1451Bram Moolenaar2016-02-281-1/+6
| | | | | | 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.