{"action":"created","issue":{"url":"https://api.github.com/repos/neovim/neovim/issues/5529","repository_url":"https://api.github.com/repos/neovim/neovim","labels_url":"https://api.github.com/repos/neovim/neovim/issues/5529/labels{/name}","comments_url":"https://api.github.com/repos/neovim/neovim/issues/5529/comments","events_url":"https://api.github.com/repos/neovim/neovim/issues/5529/events","html_url":"https://github.com/neovim/neovim/pull/5529","id":185033342,"number":5529,"title":"[RFC] Port partial patches from vim","user":{"login":"brcolow","id":6589866,"avatar_url":"https://avatars.githubusercontent.com/u/6589866?v=3","gravatar_id":"","url":"https://api.github.com/users/brcolow","html_url":"https://github.com/brcolow","followers_url":"https://api.github.com/users/brcolow/followers","following_url":"https://api.github.com/users/brcolow/following{/other_user}","gists_url":"https://api.github.com/users/brcolow/gists{/gist_id}","starred_url":"https://api.github.com/users/brcolow/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/brcolow/subscriptions","organizations_url":"https://api.github.com/users/brcolow/orgs","repos_url":"https://api.github.com/users/brcolow/repos","events_url":"https://api.github.com/users/brcolow/events{/privacy}","received_events_url":"https://api.github.com/users/brcolow/received_events","type":"User","site_admin":false},"labels":[{"id":147252667,"url":"https://api.github.com/repos/neovim/neovim/labels/RFC","name":"RFC","color":"e6e6e6","default":false}],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":20,"created_at":"2016-10-25T06:54:38Z","updated_at":"2016-11-15T08:13:05Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/neovim/neovim/pulls/5529","html_url":"https://github.com/neovim/neovim/pull/5529","diff_url":"https://github.com/neovim/neovim/pull/5529.diff","patch_url":"https://github.com/neovim/neovim/pull/5529.patch"},"body":"This PR ports a good chunk of the applicable patches from upstream vim dealing with partials. \r\n\r\n- [x] Allow partials to be used by jobs. (Thanks to @bfredl)\r\n- [x] Allow partials to be used with dictwatchers. (Thanks to @bfredl)\r\n- [x] Allow partials to be used with timers. (Thanks to @bfredl)\r\n- [x] 7.4.1559\r\n- [x] 7.4.1563\r\n- [x] 7.4.1564\r\n- [x] 7.4.1577\r\n- [x] 7.4.1580\r\n- [x] 7.4.1581\r\n- [x] 7.4.1582\r\n- [x] 7.4.1585\r\n- [x] 7.4.1586\r\n- [x] 7.4.1589\r\n- [x] 7.4.1590\r\n- [x] 7.4.1605\r\n- [x] 7.4.1606\r\n- [x] 7.4.1607\r\n- [x] 7.4.1608\r\n- [x] 7.4.1638\r\n- [x] 7.4.1639\r\n- [ ] 7.4.1644 (Similar to 1608 but changes the implementation for how the partials are printed..but I don't understand why the implementation is moved from `tv2string` to `echo_string` )\r\n- [x] 7.4.1645\r\n- [x] 7.4.1656\r\n- [x] 7.4.1715\r\n- [x] 7.4.1719\r\n- [x] 7.4.1720 (Marked as N/A)\r\n- [x] 7.4.1731 (Marked as N/A, left note in vim_diff.txt)\r\n- [x] 7.4.1836\r\n- [x] 7.4.1839\r\n- [x] 7.4.1842\r\n- [x] 7.4.1860 (Was previously marked as N/A, but I took a test from it related to timers+ partials)\r\n- [x] 7.4.1875"},"comment":{"url":"https://api.github.com/repos/neovim/neovim/issues/comments/260575392","html_url":"https://github.com/neovim/neovim/pull/5529#issuecomment-260575392","issue_url":"https://api.github.com/repos/neovim/neovim/issues/5529","id":260575392,"user":{"login":"bfredl","id":1363104,"avatar_url":"https://avatars.githubusercontent.com/u/1363104?v=3","gravatar_id":"","url":"https://api.github.com/users/bfredl","html_url":"https://github.com/bfredl","followers_url":"https://api.github.com/users/bfredl/followers","following_url":"https://api.github.com/users/bfredl/following{/other_user}","gists_url":"https://api.github.com/users/bfredl/gists{/gist_id}","starred_url":"https://api.github.com/users/bfredl/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bfredl/subscriptions","organizations_url":"https://api.github.com/users/bfredl/orgs","repos_url":"https://api.github.com/users/bfredl/repos","events_url":"https://api.github.com/users/bfredl/events{/privacy}","received_events_url":"https://api.github.com/users/bfredl/received_events","type":"User","site_admin":false},"created_at":"2016-11-15T08:13:05Z","updated_at":"2016-11-15T08:13:05Z","body":"Here is a test that seems to work:\r\n```\r\ndescribe('jobs with partials', function()\r\n  local channel\r\n\r\n  before_each(function()\r\n    clear()\r\n    channel = nvim('get_api_info')[1]\r\n    nvim('set_var', 'channel', channel)\r\n  end)\r\n\r\n  it('works correctly', function()\r\n    source([[\r\n    function PrintArgs(a1, a2, id, data, event)\r\n      call rpcnotify(g:channel, '1', a:a1,  a:a2, a:data, a:event)\r\n    endfunction\r\n    let Callback = function('PrintArgs', [\"foo\", \"bar\"])\r\n    let g:job_opts = {'on_stdout': Callback}\r\n    call jobstart(['echo'], g:job_opts)\r\n    ]])\r\n    eq({'notification', '1', {'foo', 'bar', {'', ''}, 'stdout'}}, next_msg())\r\n  end)\r\nend)\r\n```"}}
{"actor":{"display_login":"bfredl"}}