{"action":"created","issue":{"url":"https://api.github.com/repos/tmux/tmux/issues/535","repository_url":"https://api.github.com/repos/tmux/tmux","labels_url":"https://api.github.com/repos/tmux/tmux/issues/535/labels{/name}","comments_url":"https://api.github.com/repos/tmux/tmux/issues/535/comments","events_url":"https://api.github.com/repos/tmux/tmux/issues/535/events","html_url":"https://github.com/tmux/tmux/issues/535","id":177557069,"number":535,"title":"Double-width characters sometimes show as blank","user":{"login":"sphaugh","id":8660255,"avatar_url":"https://avatars.githubusercontent.com/u/8660255?v=3","gravatar_id":"","url":"https://api.github.com/users/sphaugh","html_url":"https://github.com/sphaugh","followers_url":"https://api.github.com/users/sphaugh/followers","following_url":"https://api.github.com/users/sphaugh/following{/other_user}","gists_url":"https://api.github.com/users/sphaugh/gists{/gist_id}","starred_url":"https://api.github.com/users/sphaugh/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/sphaugh/subscriptions","organizations_url":"https://api.github.com/users/sphaugh/orgs","repos_url":"https://api.github.com/users/sphaugh/repos","events_url":"https://api.github.com/users/sphaugh/events{/privacy}","received_events_url":"https://api.github.com/users/sphaugh/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":9,"created_at":"2016-09-17T05:28:44Z","updated_at":"2016-09-28T14:38:21Z","closed_at":null,"body":"```\r\n# only skipped commits left to test\r\n# possible first bad commit: [d4eeeb5498822d4330f19534f5b25b70589aec1f] Merge branch 'obsd-master'\r\n# possible first bad commit: [0f73af876f1222000a9eea76c70ae9a51ecb95e1] Don't update cells in each block of data read from a pane immediately, instead track them as change (dirty) and update them once at the end, saves much time if repeatedly writing the same cell. Also fix comparison of cells being equal in a few places (memcmp is not enough).\r\n# possible first bad commit: [1fd6ca2260bc738f1e467e7e32d03cc225327ebf] Instead of representing colours in several different forms with various cell flags, convert to use an int with flags marking 256 or RGB colours in the top byte (except in cells, which we don't want to make any bigger). From Brad Town.\r\n```\r\n\r\nbad:\r\n![2016-09-17-002236_848x480_scrot](https://cloud.githubusercontent.com/assets/8660255/18606178/47c8ff3c-7c6d-11e6-9342-af691b6e359a.png)\r\n\r\ngood:\r\n![2016-09-17-002245_848x480_scrot](https://cloud.githubusercontent.com/assets/8660255/18606179/47cd5122-7c6d-11e6-8f9e-3b0af0f6c03a.png)\r\n"},"comment":{"url":"https://api.github.com/repos/tmux/tmux/issues/comments/250185883","html_url":"https://github.com/tmux/tmux/issues/535#issuecomment-250185883","issue_url":"https://api.github.com/repos/tmux/tmux/issues/535","id":250185883,"user":{"login":"nicm","id":304243,"avatar_url":"https://avatars.githubusercontent.com/u/304243?v=3","gravatar_id":"","url":"https://api.github.com/users/nicm","html_url":"https://github.com/nicm","followers_url":"https://api.github.com/users/nicm/followers","following_url":"https://api.github.com/users/nicm/following{/other_user}","gists_url":"https://api.github.com/users/nicm/gists{/gist_id}","starred_url":"https://api.github.com/users/nicm/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/nicm/subscriptions","organizations_url":"https://api.github.com/users/nicm/orgs","repos_url":"https://api.github.com/users/nicm/repos","events_url":"https://api.github.com/users/nicm/events{/privacy}","received_events_url":"https://api.github.com/users/nicm/received_events","type":"User","site_admin":false},"created_at":"2016-09-28T14:38:21Z","updated_at":"2016-09-28T14:38:21Z","body":"When we are clear padding we need to get rid of padding for any characters that are overlapping with the new character - at the moment we only do it if the existing character overlaps with the first cell of the new one. So if we have cells xy and we are writing ab, we currently only clear if x is replacing a or b, not if y is replacing a. The easiest way to do this is just to do the overwrite check for all characters with width > 1 - it isn't the most efficient but they are the vast minority, the important thing is not to do the loop for width == 1 characters.\r\n\r\nAnyway, try this please: [x.diff.txt](https://github.com/tmux/tmux/files/498300/x.diff.txt)\r\n\r\n\r\n"}}
{"actor":{"display_login":"nicm"}}