{"action":"created","issue":{"url":"https://api.github.com/repos/tc39/proposal-string-matchall/issues/19","repository_url":"https://api.github.com/repos/tc39/proposal-string-matchall","labels_url":"https://api.github.com/repos/tc39/proposal-string-matchall/issues/19/labels{/name}","comments_url":"https://api.github.com/repos/tc39/proposal-string-matchall/issues/19/comments","events_url":"https://api.github.com/repos/tc39/proposal-string-matchall/issues/19/events","html_url":"https://github.com/tc39/proposal-string-matchall/issues/19","id":261061922,"number":19,"title":"\"matchAll\" connotes including overlapping matches","user":{"login":"ljharb","id":45469,"avatar_url":"https://avatars1.githubusercontent.com/u/45469?v=4","gravatar_id":"","url":"https://api.github.com/users/ljharb","html_url":"https://github.com/ljharb","followers_url":"https://api.github.com/users/ljharb/followers","following_url":"https://api.github.com/users/ljharb/following{/other_user}","gists_url":"https://api.github.com/users/ljharb/gists{/gist_id}","starred_url":"https://api.github.com/users/ljharb/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ljharb/subscriptions","organizations_url":"https://api.github.com/users/ljharb/orgs","repos_url":"https://api.github.com/users/ljharb/repos","events_url":"https://api.github.com/users/ljharb/events{/privacy}","received_events_url":"https://api.github.com/users/ljharb/received_events","type":"User","site_admin":false},"labels":[{"id":264586047,"url":"https://api.github.com/repos/tc39/proposal-string-matchall/labels/committee%20feedback","name":"committee feedback","color":"e11d21","default":false},{"id":241657195,"url":"https://api.github.com/repos/tc39/proposal-string-matchall/labels/question","name":"question","color":"cc317c","default":true}],"state":"closed","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":2,"created_at":"2017-09-27T17:48:12Z","updated_at":"2017-12-12T01:19:26Z","closed_at":"2017-09-28T14:17:33Z","author_association":"MEMBER","body":"Today in TC39, @waldemarhorwat brought up a concern that the name \"all\" implies \"all matches, including overlapping matches\".\r\n\r\nThe difference is as such:\r\n```js\r\n// non-overlapping:\r\nconst r = /aba/g;\r\nconst s = 'abababab';\r\n[...s.matchAll(r)]\r\n  /* → [\r\n    [ 'aba', index: 0, input: 'abababab' ],\r\n    [ 'aba', index: 4, input: 'abababab' ]\r\n  ] */\r\n\r\n// overlapping:\r\n[...s.matchAllOverlapping(r)]\r\n  /* → [\r\n    [ 'aba', index: 0, input: 'abababab' ],\r\n    [ 'aba', index: 2, input: 'abababab' ],\r\n    [ 'aba', index: 4, input: 'abababab' ]\r\n  ] */\r\n```\r\n\r\nThe options presented to move forward include:\r\n  1. rename \"matchAll\" to \"scan\", since it matches Ruby's semantics (which has \"scan\")\r\n  1. change `matchAll`'s semantics from \"non-overlapping\" to \"overlapping\"\r\n  1. allow `matchAll` to receive an option (boolean, or object with boolean property) that switches between overlapping and non-overlapping (the default doesn't really matter)\r\n\r\nThe committee generally seemed to have a preference for the first option, and to dislike the second option. Keeping things as-is was not an option.\r\n\r\nThoughts?\r\n\r\ncc @wycats @littledan @michaelficarra @msaboff "},"comment":{"url":"https://api.github.com/repos/tc39/proposal-string-matchall/issues/comments/350913497","html_url":"https://github.com/tc39/proposal-string-matchall/issues/19#issuecomment-350913497","issue_url":"https://api.github.com/repos/tc39/proposal-string-matchall/issues/19","id":350913497,"user":{"login":"ljharb","id":45469,"avatar_url":"https://avatars1.githubusercontent.com/u/45469?v=4","gravatar_id":"","url":"https://api.github.com/users/ljharb","html_url":"https://github.com/ljharb","followers_url":"https://api.github.com/users/ljharb/followers","following_url":"https://api.github.com/users/ljharb/following{/other_user}","gists_url":"https://api.github.com/users/ljharb/gists{/gist_id}","starred_url":"https://api.github.com/users/ljharb/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ljharb/subscriptions","organizations_url":"https://api.github.com/users/ljharb/orgs","repos_url":"https://api.github.com/users/ljharb/repos","events_url":"https://api.github.com/users/ljharb/events{/privacy}","received_events_url":"https://api.github.com/users/ljharb/received_events","type":"User","site_admin":false},"created_at":"2017-12-12T01:19:26Z","updated_at":"2017-12-12T01:19:26Z","author_association":"MEMBER","body":"The sense I got was that he no longer was convinced that \"all\" meant \"all matches, starting from each index\", and accepted that JS devs would think \"all\" meant \"all matches starting from zero\". Hopefully he can clarify further :-)"}}
{"actor":{"display_login":"ljharb"}}