{"action":"closed","number":1768,"pull_request":{"url":"https://api.github.com/repos/neovim/neovim/pulls/1768","id":26783629,"html_url":"https://github.com/neovim/neovim/pull/1768","diff_url":"https://github.com/neovim/neovim/pull/1768.diff","patch_url":"https://github.com/neovim/neovim/pull/1768.patch","issue_url":"https://api.github.com/repos/neovim/neovim/issues/1768","number":1768,"state":"closed","locked":false,"title":"[RFC] vim-patch:7.4.559","user":{"login":"fwalch","id":339435,"avatar_url":"https://avatars.githubusercontent.com/u/339435?v=3","gravatar_id":"","url":"https://api.github.com/users/fwalch","html_url":"https://github.com/fwalch","followers_url":"https://api.github.com/users/fwalch/followers","following_url":"https://api.github.com/users/fwalch/following{/other_user}","gists_url":"https://api.github.com/users/fwalch/gists{/gist_id}","starred_url":"https://api.github.com/users/fwalch/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/fwalch/subscriptions","organizations_url":"https://api.github.com/users/fwalch/orgs","repos_url":"https://api.github.com/users/fwalch/repos","events_url":"https://api.github.com/users/fwalch/events{/privacy}","received_events_url":"https://api.github.com/users/fwalch/received_events","type":"User","site_admin":false},"body":"```\r\nProblem:    Appending a block in the middle of a tab does not work correctly\r\n\t    when virtualedit is set.\r\nSolution:   Decrement spaces and count, don't reset them. (James McCoy)\r\n```\r\n\r\nhttps://code.google.com/p/vim/source/detail?r=v7-4-559\r\n\r\nOriginal patch:\r\n\r\n```diff\r\ndiff --git a/src/nvim/ops.c b/src/nvim/ops.c\r\n--- a/src/nvim/ops.c\r\n+++ b/src/nvim/ops.c\r\n@@ -612,20 +612,20 @@ block_insert(oap, s, b_insert, bdp)\r\n #ifdef FEAT_MBYTE\r\n \tif (has_mbyte && spaces > 0)\r\n \t{\r\n+\t    int off;\r\n+\r\n \t    /* Avoid starting halfway a multi-byte character. */\r\n \t    if (b_insert)\r\n \t    {\r\n-\t\tint off = (*mb_head_off)(oldp, oldp + offset + spaces);\r\n-\t\tspaces -= off;\r\n-\t\tcount -= off;\r\n+\t\toff = (*mb_head_off)(oldp, oldp + offset + spaces);\r\n \t    }\r\n \t    else\r\n \t    {\r\n-\t\tint off = (*mb_off_next)(oldp, oldp + offset);\r\n+\t\toff = (*mb_off_next)(oldp, oldp + offset);\r\n \t\toffset += off;\r\n-\t\tspaces = 0;\r\n-\t\tcount = 0;\r\n \t    }\r\n+\t    spaces -= off;\r\n+\t    count -= off;\r\n \t}\r\n #endif\r\n \r\ndiff --git a/src/nvim/testdir/test39.in b/src/nvim/testdir/test39.in\r\n--- a/src/nvim/testdir/test39.in\r\n+++ b/src/nvim/testdir/test39.in\r\n@@ -38,11 +38,14 @@ G$khhh\u0016hhkkcmno\u001B\r\n /^C23$/\r\n :exe \":norm! l\\<C-V>j$hhAab\\<Esc>\"\r\n :.,/^$/w >> test.out\r\n-:\" Test for Visual block insert when virtualedit=all\r\n-:set ve=all\r\n+:\" Test for Visual block insert when virtualedit=all and utf-8 encoding\r\n+:set ve=all enc=utf-8\r\n :/\\t\\tline\r\n :exe \":norm! 07l\\<C-V>jjIx\\<Esc>\"\r\n-:set ve=\r\n+:.,/^$/w >> test.out\r\n+:\" Test for Visual block append when virtualedit=all\r\n+:exe \":norm! 012l\\<C-v>jjAx\\<Esc>\"\r\n+:set ve= enc=latin1\r\n :.,/^$/w >> test.out\r\n :\" gUe must uppercase a whole word, also when ß changes to SS\r\n Gothe youtußeuu end\u001BYpk0wgUe\r\ndiff --git a/src/nvim/testdir/test39.ok b/src/nvim/testdir/test39.ok\r\nindex d8e901563af492e50b8f70c470fee5678644dc0c..5c517e2223d5c830ca8297b7c8ec71d180777d82\r\nGIT binary patch\r\nliteral 584\r\nzc$|e!+e*Vg5cRbK{=@u0!R#hYTS}odfeK<Cnt(p;Ep0VT6bvN(tiR&y(%Ljc+=p}a\r\nzTxNDf(|$>%O}^V7Uf+r%2r@qCAmXvCM(9pIG`S5C|4Mh1I)_$U=adV9NB~kwL;_Gs\r\nzArgSr8j%2C@xE+qhgjMQv9b+f?FuW#g#<sCgha4r96R#<910l%oc`C~s5q3y>uJ{0\r\nzyfbjd-dxva!!~XC+#7sJvNYRn<19l{Y8YdikaX5_jblhRakmpcMc{effV+NNZ7_O(\r\nzC?U#HV2s)QZFSY+od3>#o4R(7dW`!4gwxsJZ8p7~1XuW9|Hd^hsH$S_W0mLgJNN-l\r\nCf0oAp\r\n\r\ndiff --git a/src/nvim/version.c b/src/nvim/version.c\r\n--- a/src/nvim/version.c\r\n+++ b/src/nvim/version.c\r\n@@ -742,6 +742,8 @@ static char *(features[]) =\r\n static int included_patches[] =\r\n {   /* Add new patch number below this line */\r\n /**/\r\n+    559,\r\n+/**/\r\n     558,\r\n /**/\r\n     557,\r\n```","created_at":"2015-01-03T15:11:29Z","updated_at":"2015-01-03T18:15:10Z","closed_at":"2015-01-03T18:15:10Z","merged_at":"2015-01-03T18:15:10Z","merge_commit_sha":"089f1be8cad34dc891a5f160e830feda15f605dd","assignee":null,"milestone":null,"commits_url":"https://api.github.com/repos/neovim/neovim/pulls/1768/commits","review_comments_url":"https://api.github.com/repos/neovim/neovim/pulls/1768/comments","review_comment_url":"https://api.github.com/repos/neovim/neovim/pulls/comments/{number}","comments_url":"https://api.github.com/repos/neovim/neovim/issues/1768/comments","statuses_url":"https://api.github.com/repos/neovim/neovim/statuses/ceb54c55ad779b08caf7fbb55fb3460d90352a52","head":{"label":"fwalch:vim-7.4.559","ref":"vim-7.4.559","sha":"ceb54c55ad779b08caf7fbb55fb3460d90352a52","user":{"login":"fwalch","id":339435,"avatar_url":"https://avatars.githubusercontent.com/u/339435?v=3","gravatar_id":"","url":"https://api.github.com/users/fwalch","html_url":"https://github.com/fwalch","followers_url":"https://api.github.com/users/fwalch/followers","following_url":"https://api.github.com/users/fwalch/following{/other_user}","gists_url":"https://api.github.com/users/fwalch/gists{/gist_id}","starred_url":"https://api.github.com/users/fwalch/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/fwalch/subscriptions","organizations_url":"https://api.github.com/users/fwalch/orgs","repos_url":"https://api.github.com/users/fwalch/repos","events_url":"https://api.github.com/users/fwalch/events{/privacy}","received_events_url":"https://api.github.com/users/fwalch/received_events","type":"User","site_admin":false},"repo":{"id":20288605,"name":"neovim","full_name":"fwalch/neovim","owner":{"login":"fwalch","id":339435,"avatar_url":"https://avatars.githubusercontent.com/u/339435?v=3","gravatar_id":"","url":"https://api.github.com/users/fwalch","html_url":"https://github.com/fwalch","followers_url":"https://api.github.com/users/fwalch/followers","following_url":"https://api.github.com/users/fwalch/following{/other_user}","gists_url":"https://api.github.com/users/fwalch/gists{/gist_id}","starred_url":"https://api.github.com/users/fwalch/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/fwalch/subscriptions","organizations_url":"https://api.github.com/users/fwalch/orgs","repos_url":"https://api.github.com/users/fwalch/repos","events_url":"https://api.github.com/users/fwalch/events{/privacy}","received_events_url":"https://api.github.com/users/fwalch/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/fwalch/neovim","description":"vim's rebirth for the 21st century","fork":true,"url":"https://api.github.com/repos/fwalch/neovim","forks_url":"https://api.github.com/repos/fwalch/neovim/forks","keys_url":"https://api.github.com/repos/fwalch/neovim/keys{/key_id}","collaborators_url":"https://api.github.com/repos/fwalch/neovim/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/fwalch/neovim/teams","hooks_url":"https://api.github.com/repos/fwalch/neovim/hooks","issue_events_url":"https://api.github.com/repos/fwalch/neovim/issues/events{/number}","events_url":"https://api.github.com/repos/fwalch/neovim/events","assignees_url":"https://api.github.com/repos/fwalch/neovim/assignees{/user}","branches_url":"https://api.github.com/repos/fwalch/neovim/branches{/branch}","tags_url":"https://api.github.com/repos/fwalch/neovim/tags","blobs_url":"https://api.github.com/repos/fwalch/neovim/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/fwalch/neovim/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/fwalch/neovim/git/refs{/sha}","trees_url":"https://api.github.com/repos/fwalch/neovim/git/trees{/sha}","statuses_url":"https://api.github.com/repos/fwalch/neovim/statuses/{sha}","languages_url":"https://api.github.com/repos/fwalch/neovim/languages","stargazers_url":"https://api.github.com/repos/fwalch/neovim/stargazers","contributors_url":"https://api.github.com/repos/fwalch/neovim/contributors","subscribers_url":"https://api.github.com/repos/fwalch/neovim/subscribers","subscription_url":"https://api.github.com/repos/fwalch/neovim/subscription","commits_url":"https://api.github.com/repos/fwalch/neovim/commits{/sha}","git_commits_url":"https://api.github.com/repos/fwalch/neovim/git/commits{/sha}","comments_url":"https://api.github.com/repos/fwalch/neovim/comments{/number}","issue_comment_url":"https://api.github.com/repos/fwalch/neovim/issues/comments/{number}","contents_url":"https://api.github.com/repos/fwalch/neovim/contents/{+path}","compare_url":"https://api.github.com/repos/fwalch/neovim/compare/{base}...{head}","merges_url":"https://api.github.com/repos/fwalch/neovim/merges","archive_url":"https://api.github.com/repos/fwalch/neovim/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/fwalch/neovim/downloads","issues_url":"https://api.github.com/repos/fwalch/neovim/issues{/number}","pulls_url":"https://api.github.com/repos/fwalch/neovim/pulls{/number}","milestones_url":"https://api.github.com/repos/fwalch/neovim/milestones{/number}","notifications_url":"https://api.github.com/repos/fwalch/neovim/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/fwalch/neovim/labels{/name}","releases_url":"https://api.github.com/repos/fwalch/neovim/releases{/id}","created_at":"2014-05-29T09:18:20Z","updated_at":"2014-12-14T03:40:47Z","pushed_at":"2015-01-03T15:09:05Z","git_url":"git://github.com/fwalch/neovim.git","ssh_url":"git@github.com:fwalch/neovim.git","clone_url":"https://github.com/fwalch/neovim.git","svn_url":"https://github.com/fwalch/neovim","homepage":"http://neovim.org/","size":26514,"stargazers_count":1,"watchers_count":1,"language":"VimL","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":true,"forks_count":0,"mirror_url":null,"open_issues_count":1,"forks":0,"open_issues":1,"watchers":1,"default_branch":"master"}},"base":{"label":"neovim:master","ref":"master","sha":"d61111530541f74df89c010e5edfb633a412dc72","user":{"login":"neovim","id":6471485,"avatar_url":"https://avatars.githubusercontent.com/u/6471485?v=3","gravatar_id":"","url":"https://api.github.com/users/neovim","html_url":"https://github.com/neovim","followers_url":"https://api.github.com/users/neovim/followers","following_url":"https://api.github.com/users/neovim/following{/other_user}","gists_url":"https://api.github.com/users/neovim/gists{/gist_id}","starred_url":"https://api.github.com/users/neovim/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/neovim/subscriptions","organizations_url":"https://api.github.com/users/neovim/orgs","repos_url":"https://api.github.com/users/neovim/repos","events_url":"https://api.github.com/users/neovim/events{/privacy}","received_events_url":"https://api.github.com/users/neovim/received_events","type":"Organization","site_admin":false},"repo":{"id":16408992,"name":"neovim","full_name":"neovim/neovim","owner":{"login":"neovim","id":6471485,"avatar_url":"https://avatars.githubusercontent.com/u/6471485?v=3","gravatar_id":"","url":"https://api.github.com/users/neovim","html_url":"https://github.com/neovim","followers_url":"https://api.github.com/users/neovim/followers","following_url":"https://api.github.com/users/neovim/following{/other_user}","gists_url":"https://api.github.com/users/neovim/gists{/gist_id}","starred_url":"https://api.github.com/users/neovim/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/neovim/subscriptions","organizations_url":"https://api.github.com/users/neovim/orgs","repos_url":"https://api.github.com/users/neovim/repos","events_url":"https://api.github.com/users/neovim/events{/privacy}","received_events_url":"https://api.github.com/users/neovim/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/neovim/neovim","description":"vim out of the box","fork":false,"url":"https://api.github.com/repos/neovim/neovim","forks_url":"https://api.github.com/repos/neovim/neovim/forks","keys_url":"https://api.github.com/repos/neovim/neovim/keys{/key_id}","collaborators_url":"https://api.github.com/repos/neovim/neovim/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/neovim/neovim/teams","hooks_url":"https://api.github.com/repos/neovim/neovim/hooks","issue_events_url":"https://api.github.com/repos/neovim/neovim/issues/events{/number}","events_url":"https://api.github.com/repos/neovim/neovim/events","assignees_url":"https://api.github.com/repos/neovim/neovim/assignees{/user}","branches_url":"https://api.github.com/repos/neovim/neovim/branches{/branch}","tags_url":"https://api.github.com/repos/neovim/neovim/tags","blobs_url":"https://api.github.com/repos/neovim/neovim/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/neovim/neovim/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/neovim/neovim/git/refs{/sha}","trees_url":"https://api.github.com/repos/neovim/neovim/git/trees{/sha}","statuses_url":"https://api.github.com/repos/neovim/neovim/statuses/{sha}","languages_url":"https://api.github.com/repos/neovim/neovim/languages","stargazers_url":"https://api.github.com/repos/neovim/neovim/stargazers","contributors_url":"https://api.github.com/repos/neovim/neovim/contributors","subscribers_url":"https://api.github.com/repos/neovim/neovim/subscribers","subscription_url":"https://api.github.com/repos/neovim/neovim/subscription","commits_url":"https://api.github.com/repos/neovim/neovim/commits{/sha}","git_commits_url":"https://api.github.com/repos/neovim/neovim/git/commits{/sha}","comments_url":"https://api.github.com/repos/neovim/neovim/comments{/number}","issue_comment_url":"https://api.github.com/repos/neovim/neovim/issues/comments/{number}","contents_url":"https://api.github.com/repos/neovim/neovim/contents/{+path}","compare_url":"https://api.github.com/repos/neovim/neovim/compare/{base}...{head}","merges_url":"https://api.github.com/repos/neovim/neovim/merges","archive_url":"https://api.github.com/repos/neovim/neovim/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/neovim/neovim/downloads","issues_url":"https://api.github.com/repos/neovim/neovim/issues{/number}","pulls_url":"https://api.github.com/repos/neovim/neovim/pulls{/number}","milestones_url":"https://api.github.com/repos/neovim/neovim/milestones{/number}","notifications_url":"https://api.github.com/repos/neovim/neovim/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/neovim/neovim/labels{/name}","releases_url":"https://api.github.com/repos/neovim/neovim/releases{/id}","created_at":"2014-01-31T13:39:22Z","updated_at":"2015-01-03T17:20:50Z","pushed_at":"2015-01-03T18:15:10Z","git_url":"git://github.com/neovim/neovim.git","ssh_url":"git@github.com:neovim/neovim.git","clone_url":"https://github.com/neovim/neovim.git","svn_url":"https://github.com/neovim/neovim","homepage":"http://neovim.org/","size":46513,"stargazers_count":11182,"watchers_count":11182,"language":"VimL","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":true,"forks_count":733,"mirror_url":null,"open_issues_count":300,"forks":733,"open_issues":300,"watchers":11182,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/neovim/neovim/pulls/1768"},"html":{"href":"https://github.com/neovim/neovim/pull/1768"},"issue":{"href":"https://api.github.com/repos/neovim/neovim/issues/1768"},"comments":{"href":"https://api.github.com/repos/neovim/neovim/issues/1768/comments"},"review_comments":{"href":"https://api.github.com/repos/neovim/neovim/pulls/1768/comments"},"review_comment":{"href":"https://api.github.com/repos/neovim/neovim/pulls/comments/{number}"},"commits":{"href":"https://api.github.com/repos/neovim/neovim/pulls/1768/commits"},"statuses":{"href":"https://api.github.com/repos/neovim/neovim/statuses/ceb54c55ad779b08caf7fbb55fb3460d90352a52"}},"merged":true,"mergeable":null,"mergeable_state":"unknown","merged_by":{"login":"justinmk","id":1359421,"avatar_url":"https://avatars.githubusercontent.com/u/1359421?v=3","gravatar_id":"","url":"https://api.github.com/users/justinmk","html_url":"https://github.com/justinmk","followers_url":"https://api.github.com/users/justinmk/followers","following_url":"https://api.github.com/users/justinmk/following{/other_user}","gists_url":"https://api.github.com/users/justinmk/gists{/gist_id}","starred_url":"https://api.github.com/users/justinmk/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/justinmk/subscriptions","organizations_url":"https://api.github.com/users/justinmk/orgs","repos_url":"https://api.github.com/users/justinmk/repos","events_url":"https://api.github.com/users/justinmk/events{/privacy}","received_events_url":"https://api.github.com/users/justinmk/received_events","type":"User","site_admin":false},"comments":1,"review_comments":0,"commits":1,"additions":13,"deletions":10,"changed_files":4}}