{"action":"closed","number":2138,"pull_request":{"url":"https://api.github.com/repos/neovim/neovim/pulls/2138","id":31045497,"html_url":"https://github.com/neovim/neovim/pull/2138","diff_url":"https://github.com/neovim/neovim/pull/2138.diff","patch_url":"https://github.com/neovim/neovim/pull/2138.patch","issue_url":"https://api.github.com/repos/neovim/neovim/issues/2138","number":2138,"state":"closed","locked":false,"title":"[RFC] syntax.c: Prevent use after free for variable g:colors_name.","user":{"login":"oni-link","id":2077655,"avatar_url":"https://avatars.githubusercontent.com/u/2077655?v=3","gravatar_id":"","url":"https://api.github.com/users/oni-link","html_url":"https://github.com/oni-link","followers_url":"https://api.github.com/users/oni-link/followers","following_url":"https://api.github.com/users/oni-link/following{/other_user}","gists_url":"https://api.github.com/users/oni-link/gists{/gist_id}","starred_url":"https://api.github.com/users/oni-link/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/oni-link/subscriptions","organizations_url":"https://api.github.com/users/oni-link/orgs","repos_url":"https://api.github.com/users/oni-link/repos","events_url":"https://api.github.com/users/oni-link/events{/privacy}","received_events_url":"https://api.github.com/users/oni-link/received_events","type":"User","site_admin":false},"body":"syntax.c: Prevent use after free for variable g:colors_name.\r\n\r\nASan spotted a problem when using 'set background={light,dark}' with\r\ncolor scheme solarized.\r\n\r\n```\r\nrm -rf build && make CC=`which clang` CMAKE_EXTRA_FLAGS='-DCMAKE_BUILD_TYPE=Debug -DSANITIZE=ON'\r\nnvim -u NONE\r\n:colorscheme solarized\r\n:set background=light\r\n```\r\n\r\nWhile loading the colors for color scheme 'g:colors_name', the pointer\r\non the value for this variable can become invalid, because of an 'unlet\r\ncolors_name' (part of an :highlight clear, syntax.c:6173).\r\n\r\nTo prevent the use of the freed value, decouple the value from\r\n'g:colors_name' before calling load_colors() with it.\r\n\r\n```\r\n=================================================================\r\n==15749==ERROR: AddressSanitizer: heap-use-after-free on address 0x602000065e50 at pc 0x000000863725 bp 0x7fffde20da20 sp 0x7fffde20da18\r\nREAD of size 1 at 0x602000065e50 thread T0\r\n    #0 0x863724 in apply_autocmds_group /home/oni-link/git/neovim/src/nvim/fileio.c:6566:24\r\n    #1 0x8542dc in apply_autocmds /home/oni-link/git/neovim/src/nvim/fileio.c:6314:10\r\n    #2 0x150d6cf in load_colors /home/oni-link/git/neovim/src/nvim/syntax.c:6027:3\r\n    #3 0x150cc5d in init_highlight /home/oni-link/git/neovim/src/nvim/syntax.c:5948:20\r\n    #4 0x97723e in did_set_string_option /home/oni-link/git/neovim/src/nvim/option.c:3716:7\r\n    #5 0x956823 in do_set /home/oni-link/git/neovim/src/nvim/option.c:2982:22\r\n    #6 0x133465e in ex_set /home/oni-link/git/neovim/src/nvim/ex_docmd.c:8767:9\r\n    #7 0x12c6dbf in do_one_cmd /home/oni-link/git/neovim/src/nvim/ex_docmd.c:1909:5\r\n    #8 0x12a889f in do_cmdline /home/oni-link/git/neovim/src/nvim/ex_docmd.c:617:20\r\n    #9 0xf93b0a in nv_colon /home/oni-link/git/neovim/src/nvim/normal.c:4052:18\r\n    #10 0xf319ea in normal_cmd /home/oni-link/git/neovim/src/nvim/normal.c:907:3\r\n    #11 0xf0271d in main_loop /home/oni-link/git/neovim/src/nvim/main.c:683:7\r\n    #12 0xeec534 in main /home/oni-link/git/neovim/src/nvim/main.c:469:3\r\n    #13 0x7fe3005fddb4 in __libc_start_main (/lib64/libc.so.6+0x24db4)\r\n    #14 0x460a88 in _start (/home/oni-link/git/neovim/build/bin/nvim+0x460a88)\r\n\r\n0x602000065e50 is located 0 bytes inside of 10-byte region [0x602000065e50,0x602000065e5a)\r\nfreed by thread T0 here:\r\n    #0 0x4eb27b in __interceptor_free /home/oni-link/git/llvm/projects/compiler-rt/lib/asan/asan_malloc_linux.cc:30:3\r\n    #1 0xd6f748 in clear_tv /home/oni-link/git/neovim/src/nvim/eval.c:16257:7\r\n    #2 0xd93ad6 in delete_var /home/oni-link/git/neovim/src/nvim/eval.c:16677:3\r\n    #3 0xd91e71 in do_unlet /home/oni-link/git/neovim/src/nvim/eval.c:2876:7\r\n    #4 0x150ebab in do_highlight /home/oni-link/git/neovim/src/nvim/syntax.c:6173:7\r\n    #5 0x132082a in ex_highlight /home/oni-link/git/neovim/src/nvim/ex_docmd.c:5082:3\r\n    #6 0x12c6dbf in do_one_cmd /home/oni-link/git/neovim/src/nvim/ex_docmd.c:1909:5\r\n    #7 0x12a889f in do_cmdline /home/oni-link/git/neovim/src/nvim/ex_docmd.c:617:20\r\n    #8 0x5dd8f6 in do_source /home/oni-link/git/neovim/src/nvim/ex_cmds2.c:2474:3\r\n    #9 0x5d921e in source_callback /home/oni-link/git/neovim/src/nvim/ex_cmds2.c:2046:9\r\n    #10 0x5d8f52 in do_in_runtimepath /home/oni-link/git/neovim/src/nvim/ex_cmds2.c:2127:15\r\n    #11 0x5d8058 in source_runtime /home/oni-link/git/neovim/src/nvim/ex_cmds2.c:2057:10\r\n    #12 0x150d557 in load_colors /home/oni-link/git/neovim/src/nvim/syntax.c:6025:12\r\n    #13 0x150cc5d in init_highlight /home/oni-link/git/neovim/src/nvim/syntax.c:5948:20\r\n    #14 0x97723e in did_set_string_option /home/oni-link/git/neovim/src/nvim/option.c:3716:7\r\n    #15 0x956823 in do_set /home/oni-link/git/neovim/src/nvim/option.c:2982:22\r\n    #16 0x133465e in ex_set /home/oni-link/git/neovim/src/nvim/ex_docmd.c:8767:9\r\n    #17 0x12c6dbf in do_one_cmd /home/oni-link/git/neovim/src/nvim/ex_docmd.c:1909:5\r\n    #18 0x12a889f in do_cmdline /home/oni-link/git/neovim/src/nvim/ex_docmd.c:617:20\r\n    #19 0xf93b0a in nv_colon /home/oni-link/git/neovim/src/nvim/normal.c:4052:18\r\n    #20 0xf319ea in normal_cmd /home/oni-link/git/neovim/src/nvim/normal.c:907:3\r\n    #21 0xf0271d in main_loop /home/oni-link/git/neovim/src/nvim/main.c:683:7\r\n    #22 0xeec534 in main /home/oni-link/git/neovim/src/nvim/main.c:469:3\r\n    #23 0x7fe3005fddb4 in __libc_start_main (/lib64/libc.so.6+0x24db4)\r\n\r\npreviously allocated by thread T0 here:\r\n    #0 0x4eb55b in malloc /home/oni-link/git/llvm/projects/compiler-rt/lib/asan/asan_malloc_linux.cc:40:3\r\n    #1 0xb1e9a7 in try_malloc /home/oni-link/git/neovim/src/nvim/memory.c:53:15\r\n    #2 0xb1ec04 in xmalloc /home/oni-link/git/neovim/src/nvim/memory.c:87:15\r\n    #3 0xe0cb2f in get_string_tv /home/oni-link/git/neovim/src/nvim/eval.c:4531:10\r\n    #4 0xe09609 in eval7 /home/oni-link/git/neovim/src/nvim/eval.c:4040:21\r\n    #5 0xe06028 in eval6 /home/oni-link/git/neovim/src/nvim/eval.c:3832:7\r\n    #6 0xe02d9f in eval5 /home/oni-link/git/neovim/src/nvim/eval.c:3684:7\r\n    #7 0xdfd9fe in eval4 /home/oni-link/git/neovim/src/nvim/eval.c:3428:7\r\n    #8 0xdfce06 in eval3 /home/oni-link/git/neovim/src/nvim/eval.c:3348:7\r\n    #9 0xdfc306 in eval2 /home/oni-link/git/neovim/src/nvim/eval.c:3285:7\r\n    #10 0xd70b8d in eval1 /home/oni-link/git/neovim/src/nvim/eval.c:3218:7\r\n    #11 0xd6e308 in eval0 /home/oni-link/git/neovim/src/nvim/eval.c:3180:9\r\n    #12 0xd7d149 in ex_let /home/oni-link/git/neovim/src/nvim/eval.c:1369:9\r\n    #13 0x12c6dbf in do_one_cmd /home/oni-link/git/neovim/src/nvim/ex_docmd.c:1909:5\r\n    #14 0x12a889f in do_cmdline /home/oni-link/git/neovim/src/nvim/ex_docmd.c:617:20\r\n    #15 0x5dd8f6 in do_source /home/oni-link/git/neovim/src/nvim/ex_cmds2.c:2474:3\r\n    #16 0x5d921e in source_callback /home/oni-link/git/neovim/src/nvim/ex_cmds2.c:2046:9\r\n    #17 0x5d8f52 in do_in_runtimepath /home/oni-link/git/neovim/src/nvim/ex_cmds2.c:2127:15\r\n    #18 0x5d8058 in source_runtime /home/oni-link/git/neovim/src/nvim/ex_cmds2.c:2057:10\r\n    #19 0x150d557 in load_colors /home/oni-link/git/neovim/src/nvim/syntax.c:6025:12\r\n    #20 0x1316a1d in ex_colorscheme /home/oni-link/git/neovim/src/nvim/ex_docmd.c:5074:14\r\n    #21 0x12c6dbf in do_one_cmd /home/oni-link/git/neovim/src/nvim/ex_docmd.c:1909:5\r\n    #22 0x12a889f in do_cmdline /home/oni-link/git/neovim/src/nvim/ex_docmd.c:617:20\r\n    #23 0x5dd8f6 in do_source /home/oni-link/git/neovim/src/nvim/ex_cmds2.c:2474:3\r\n    #24 0xefa5ea in source_startup_scripts /home/oni-link/git/neovim/src/nvim/main.c:1859:11\r\n    #25 0xeea78d in main /home/oni-link/git/neovim/src/nvim/main.c:277:3\r\n    #26 0x7fe3005fddb4 in __libc_start_main (/lib64/libc.so.6+0x24db4)\r\n\r\nSUMMARY: AddressSanitizer: heap-use-after-free /home/oni-link/git/neovim/src/nvim/fileio.c:6566 apply_autocmds_group\r\nShadow bytes around the buggy address:\r\n  0x0c0480004b70: fa fa fd fa fa fa fd fa fa fa fd fa fa fa fd fa\r\n  0x0c0480004b80: fa fa fd fa fa fa fd fa fa fa fd fa fa fa fd fa\r\n  0x0c0480004b90: fa fa fd fa fa fa fd fa fa fa fd fa fa fa fd fa\r\n  0x0c0480004ba0: fa fa fd fa fa fa fd fa fa fa fd fa fa fa fd fa\r\n  0x0c0480004bb0: fa fa fd fa fa fa fd fa fa fa fd fa fa fa fd fd\r\n=>0x0c0480004bc0: fa fa fd fa fa fa fd fd fa fa[fd]fd fa fa fd fa\r\n  0x0c0480004bd0: fa fa fd fa fa fa fd fa fa fa fd fd fa fa fd fa\r\n  0x0c0480004be0: fa fa fd fd fa fa fd fa fa fa fd fd fa fa fd fa\r\n  0x0c0480004bf0: fa fa fd fa fa fa fd fa fa fa fd fa fa fa fd fa\r\n  0x0c0480004c00: fa fa fd fd fa fa fd fa fa fa fd fd fa fa fd fa\r\n  0x0c0480004c10: fa fa fd fd fa fa fd fa fa fa fd fa fa fa fd fa\r\nShadow byte legend (one shadow byte represents 8 application bytes):\r\n  Addressable:           00\r\n  Partially addressable: 01 02 03 04 05 06 07 \r\n  Heap left redzone:       fa\r\n  Heap right redzone:      fb\r\n  Freed heap region:       fd\r\n  Stack left redzone:      f1\r\n  Stack mid redzone:       f2\r\n  Stack right redzone:     f3\r\n  Stack partial redzone:   f4\r\n  Stack after return:      f5\r\n  Stack use after scope:   f8\r\n  Global redzone:          f9\r\n  Global init order:       f6\r\n  Poisoned by user:        f7\r\n  Container overflow:      fc\r\n  Array cookie:            ac\r\n  Intra object redzone:    bb\r\n  ASan internal:           fe\r\n  Left alloca redzone:     ca\r\n  Right alloca redzone:    cb\r\n==15749==ABORTING\r\n\r\n```","created_at":"2015-03-12T15:16:45Z","updated_at":"2015-03-13T21:29:51Z","closed_at":"2015-03-13T21:29:51Z","merged_at":null,"merge_commit_sha":"f83b301869ac22d3de22e6eed28672f2f1aa46aa","assignee":null,"milestone":null,"commits_url":"https://api.github.com/repos/neovim/neovim/pulls/2138/commits","review_comments_url":"https://api.github.com/repos/neovim/neovim/pulls/2138/comments","review_comment_url":"https://api.github.com/repos/neovim/neovim/pulls/comments{/number}","comments_url":"https://api.github.com/repos/neovim/neovim/issues/2138/comments","statuses_url":"https://api.github.com/repos/neovim/neovim/statuses/0ad89c3eca2422d6f9551d50bed4060a793e1eea","head":{"label":"oni-link:fix.set.background","ref":"fix.set.background","sha":"0ad89c3eca2422d6f9551d50bed4060a793e1eea","user":{"login":"oni-link","id":2077655,"avatar_url":"https://avatars.githubusercontent.com/u/2077655?v=3","gravatar_id":"","url":"https://api.github.com/users/oni-link","html_url":"https://github.com/oni-link","followers_url":"https://api.github.com/users/oni-link/followers","following_url":"https://api.github.com/users/oni-link/following{/other_user}","gists_url":"https://api.github.com/users/oni-link/gists{/gist_id}","starred_url":"https://api.github.com/users/oni-link/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/oni-link/subscriptions","organizations_url":"https://api.github.com/users/oni-link/orgs","repos_url":"https://api.github.com/users/oni-link/repos","events_url":"https://api.github.com/users/oni-link/events{/privacy}","received_events_url":"https://api.github.com/users/oni-link/received_events","type":"User","site_admin":false},"repo":{"id":17510953,"name":"neovim","full_name":"oni-link/neovim","owner":{"login":"oni-link","id":2077655,"avatar_url":"https://avatars.githubusercontent.com/u/2077655?v=3","gravatar_id":"","url":"https://api.github.com/users/oni-link","html_url":"https://github.com/oni-link","followers_url":"https://api.github.com/users/oni-link/followers","following_url":"https://api.github.com/users/oni-link/following{/other_user}","gists_url":"https://api.github.com/users/oni-link/gists{/gist_id}","starred_url":"https://api.github.com/users/oni-link/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/oni-link/subscriptions","organizations_url":"https://api.github.com/users/oni-link/orgs","repos_url":"https://api.github.com/users/oni-link/repos","events_url":"https://api.github.com/users/oni-link/events{/privacy}","received_events_url":"https://api.github.com/users/oni-link/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/oni-link/neovim","description":"vim's rebirth for the 21st century","fork":true,"url":"https://api.github.com/repos/oni-link/neovim","forks_url":"https://api.github.com/repos/oni-link/neovim/forks","keys_url":"https://api.github.com/repos/oni-link/neovim/keys{/key_id}","collaborators_url":"https://api.github.com/repos/oni-link/neovim/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/oni-link/neovim/teams","hooks_url":"https://api.github.com/repos/oni-link/neovim/hooks","issue_events_url":"https://api.github.com/repos/oni-link/neovim/issues/events{/number}","events_url":"https://api.github.com/repos/oni-link/neovim/events","assignees_url":"https://api.github.com/repos/oni-link/neovim/assignees{/user}","branches_url":"https://api.github.com/repos/oni-link/neovim/branches{/branch}","tags_url":"https://api.github.com/repos/oni-link/neovim/tags","blobs_url":"https://api.github.com/repos/oni-link/neovim/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/oni-link/neovim/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/oni-link/neovim/git/refs{/sha}","trees_url":"https://api.github.com/repos/oni-link/neovim/git/trees{/sha}","statuses_url":"https://api.github.com/repos/oni-link/neovim/statuses/{sha}","languages_url":"https://api.github.com/repos/oni-link/neovim/languages","stargazers_url":"https://api.github.com/repos/oni-link/neovim/stargazers","contributors_url":"https://api.github.com/repos/oni-link/neovim/contributors","subscribers_url":"https://api.github.com/repos/oni-link/neovim/subscribers","subscription_url":"https://api.github.com/repos/oni-link/neovim/subscription","commits_url":"https://api.github.com/repos/oni-link/neovim/commits{/sha}","git_commits_url":"https://api.github.com/repos/oni-link/neovim/git/commits{/sha}","comments_url":"https://api.github.com/repos/oni-link/neovim/comments{/number}","issue_comment_url":"https://api.github.com/repos/oni-link/neovim/issues/comments{/number}","contents_url":"https://api.github.com/repos/oni-link/neovim/contents/{+path}","compare_url":"https://api.github.com/repos/oni-link/neovim/compare/{base}...{head}","merges_url":"https://api.github.com/repos/oni-link/neovim/merges","archive_url":"https://api.github.com/repos/oni-link/neovim/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/oni-link/neovim/downloads","issues_url":"https://api.github.com/repos/oni-link/neovim/issues{/number}","pulls_url":"https://api.github.com/repos/oni-link/neovim/pulls{/number}","milestones_url":"https://api.github.com/repos/oni-link/neovim/milestones{/number}","notifications_url":"https://api.github.com/repos/oni-link/neovim/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/oni-link/neovim/labels{/name}","releases_url":"https://api.github.com/repos/oni-link/neovim/releases{/id}","created_at":"2014-03-07T10:40:03Z","updated_at":"2015-01-16T22:34:24Z","pushed_at":"2015-03-13T17:51:57Z","git_url":"git://github.com/oni-link/neovim.git","ssh_url":"git@github.com:oni-link/neovim.git","clone_url":"https://github.com/oni-link/neovim.git","svn_url":"https://github.com/oni-link/neovim","homepage":"http://neovim.org/","size":27067,"stargazers_count":1,"watchers_count":1,"language":"VimL","has_issues":false,"has_downloads":true,"has_wiki":false,"has_pages":true,"forks_count":0,"mirror_url":null,"open_issues_count":0,"forks":0,"open_issues":0,"watchers":1,"default_branch":"master"}},"base":{"label":"neovim:master","ref":"master","sha":"c015eabe13bd37fb7d129da20904dd172b0bd3a1","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-03-13T21:29:47Z","pushed_at":"2015-03-13T21:29:47Z","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":52894,"stargazers_count":12358,"watchers_count":12358,"language":"VimL","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":true,"forks_count":823,"mirror_url":null,"open_issues_count":388,"forks":823,"open_issues":388,"watchers":12358,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/neovim/neovim/pulls/2138"},"html":{"href":"https://github.com/neovim/neovim/pull/2138"},"issue":{"href":"https://api.github.com/repos/neovim/neovim/issues/2138"},"comments":{"href":"https://api.github.com/repos/neovim/neovim/issues/2138/comments"},"review_comments":{"href":"https://api.github.com/repos/neovim/neovim/pulls/2138/comments"},"review_comment":{"href":"https://api.github.com/repos/neovim/neovim/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/neovim/neovim/pulls/2138/commits"},"statuses":{"href":"https://api.github.com/repos/neovim/neovim/statuses/0ad89c3eca2422d6f9551d50bed4060a793e1eea"}},"merged":false,"mergeable":false,"mergeable_state":"dirty","merged_by":null,"comments":16,"review_comments":0,"commits":2,"additions":53,"deletions":4,"changed_files":2}}