{"action":"created","issue":{"url":"https://api.github.com/repos/SWI-Prolog/swipl-devel/issues/278","repository_url":"https://api.github.com/repos/SWI-Prolog/swipl-devel","labels_url":"https://api.github.com/repos/SWI-Prolog/swipl-devel/issues/278/labels{/name}","comments_url":"https://api.github.com/repos/SWI-Prolog/swipl-devel/issues/278/comments","events_url":"https://api.github.com/repos/SWI-Prolog/swipl-devel/issues/278/events","html_url":"https://github.com/SWI-Prolog/swipl-devel/pull/278","id":271781859,"number":278,"title":"ADDED: Multiline CSV rows where newlines are embedded in quoted fields.","user":{"login":"likelion","id":3233957,"avatar_url":"https://avatars1.githubusercontent.com/u/3233957?v=4","gravatar_id":"","url":"https://api.github.com/users/likelion","html_url":"https://github.com/likelion","followers_url":"https://api.github.com/users/likelion/followers","following_url":"https://api.github.com/users/likelion/following{/other_user}","gists_url":"https://api.github.com/users/likelion/gists{/gist_id}","starred_url":"https://api.github.com/users/likelion/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/likelion/subscriptions","organizations_url":"https://api.github.com/users/likelion/orgs","repos_url":"https://api.github.com/users/likelion/repos","events_url":"https://api.github.com/users/likelion/events{/privacy}","received_events_url":"https://api.github.com/users/likelion/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":0,"created_at":"2017-11-07T10:31:58Z","updated_at":"2017-11-08T08:04:05Z","closed_at":null,"author_association":"NONE","pull_request":{"url":"https://api.github.com/repos/SWI-Prolog/swipl-devel/pulls/278","html_url":"https://github.com/SWI-Prolog/swipl-devel/pull/278","diff_url":"https://github.com/SWI-Prolog/swipl-devel/pull/278.diff","patch_url":"https://github.com/SWI-Prolog/swipl-devel/pull/278.patch"},"body":"The assumption is: if a CSV file line contains odd number of quotes (`\"`) then the line is not complete and the next line is appended before invoking `row//2` parser. The lines are appended until there is an even number of quotes in the concatenated set of them. This handles newlines embedded in quoted fields and quote characters in a field represented by double-quotes (`\"\"`). "},"comment":{"url":"https://api.github.com/repos/SWI-Prolog/swipl-devel/issues/comments/342740150","html_url":"https://github.com/SWI-Prolog/swipl-devel/pull/278#issuecomment-342740150","issue_url":"https://api.github.com/repos/SWI-Prolog/swipl-devel/issues/278","id":342740150,"user":{"login":"likelion","id":3233957,"avatar_url":"https://avatars1.githubusercontent.com/u/3233957?v=4","gravatar_id":"","url":"https://api.github.com/users/likelion","html_url":"https://github.com/likelion","followers_url":"https://api.github.com/users/likelion/followers","following_url":"https://api.github.com/users/likelion/following{/other_user}","gists_url":"https://api.github.com/users/likelion/gists{/gist_id}","starred_url":"https://api.github.com/users/likelion/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/likelion/subscriptions","organizations_url":"https://api.github.com/users/likelion/orgs","repos_url":"https://api.github.com/users/likelion/repos","events_url":"https://api.github.com/users/likelion/events{/privacy}","received_events_url":"https://api.github.com/users/likelion/received_events","type":"User","site_admin":false},"created_at":"2017-11-08T08:04:05Z","updated_at":"2017-11-08T08:04:05Z","author_association":"NONE","body":"There is a caveat with empty lines. Inside a quoted field an empty line should be preserved, but it’s not (due to padding in `read_string/5`). Otherwise, empty line should fail `csv_read_file_row/3`, which won't work if padding is removed. More investigation is required."}}
{"actor":{"display_login":"likelion"}}