{"push_id":1294750923,"size":152,"distinct_size":3,"ref":"refs/heads/optimize-silent-fails","head":"f17269cdad4d2d5ab349694f9c3e29087d9e14bb","before":"0313ac7427d2fbc7ee9fe46d2e6201a11a28e47a","commits":[{"sha":"18d266be67b989a4ca6650f00e6e29beadf2fd76","author":{"name":"David Majda","email":"d8099b0f90e53c29d29eb12a7a3caa5af4f12681@majda.cz"},"message":"Remove support for newlines other than \"\\n\" and \"\\r\\n\"\n\nBefore this commit, generated parsers considered the following character\nsequences as newlines:\n\n  Sequence   Description\n  ------------------------------\n  \"\\n\"       Unix\n  \"\\r\"       Old Mac\n  \"\\r\\n\"     Windows\n  \"\\u2028\"   line separator\n  \"\\u2029\"   paragraph separator\n\nThis commit limits the sequences only to \"\\n\" and \"\\r\\n\". The reason is\nthat nobody uses Unicode newlines or \"\\r\" in practice.\n\nA positive side effect of the change is that newline-handling code\nbecame simpler (and likely faster).","distinct":false,"url":"https://api.github.com/repos/Mingun/pegjs/commits/18d266be67b989a4ca6650f00e6e29beadf2fd76"},{"sha":"88f1d1369b7abf6a79b0faea2a151aa23aa9c801","author":{"name":"David Majda","email":"d8099b0f90e53c29d29eb12a7a3caa5af4f12681@majda.cz"},"message":"Detect newlines using charCodeAt instead of charCode\n\nIn generated parsers, detect newlines using charCodeAt instead of\ncharCode. This should be slightly faster.","distinct":false,"url":"https://api.github.com/repos/Mingun/pegjs/commits/88f1d1369b7abf6a79b0faea2a151aa23aa9c801"},{"sha":"d56b43bb541f0cbecc94609baf220830fa263d71","author":{"name":"David Majda","email":"d8099b0f90e53c29d29eb12a7a3caa5af4f12681@majda.cz"},"message":"README.md: Add badges\n\nBased on a pull request by Adrien Becchis (@AdrieanKhisbe):\n\n  https://github.com/pegjs/pegjs/pull/392","distinct":false,"url":"https://api.github.com/repos/Mingun/pegjs/commits/d56b43bb541f0cbecc94609baf220830fa263d71"},{"sha":"db1cc555120df3b00aa4e54e58557e24f847b75f","author":{"name":"David Majda","email":"d8099b0f90e53c29d29eb12a7a3caa5af4f12681@majda.cz"},"message":"Add a .github directory with contribution guidelines and templates","distinct":false,"url":"https://api.github.com/repos/Mingun/pegjs/commits/db1cc555120df3b00aa4e54e58557e24f847b75f"},{"sha":"4d85464ac43d09ebdc5b28a1a33e1fc76970d1ad","author":{"name":"David Majda","email":"d8099b0f90e53c29d29eb12a7a3caa5af4f12681@majda.cz"},"message":"README.md: Fix npm & Bower badges to show PEG.js version\n\nBased on a pull request by Daniel Baird (@DanielBaird):\n\n  https://github.com/pegjs/pegjs/pull/419","distinct":false,"url":"https://api.github.com/repos/Mingun/pegjs/commits/4d85464ac43d09ebdc5b28a1a33e1fc76970d1ad"},{"sha":"7f2358af1f2130ba5d0ac39980aabc9c0a660452","author":{"name":"Balázs Kutil","email":"3b16bb63184b3e5f7d045199121f08f22f24ad3f@users.noreply.github.com"},"message":"Grammar fix in ISSUE_TEMPLATE.md and CONTRIBUTING.md","distinct":false,"url":"https://api.github.com/repos/Mingun/pegjs/commits/7f2358af1f2130ba5d0ac39980aabc9c0a660452"},{"sha":"5eb6225ef0767d959e570f1bc66c04af8eb6aff5","author":{"name":"David Majda","email":"d8099b0f90e53c29d29eb12a7a3caa5af4f12681@majda.cz"},"message":"Merge pull request #420 from bkutil/patch-1\n\nGrammar fix in ISSUE_TEMPLATE.md and CONTRIBUTING.md","distinct":false,"url":"https://api.github.com/repos/Mingun/pegjs/commits/5eb6225ef0767d959e570f1bc66c04af8eb6aff5"},{"sha":"6a04067a76d4635875b85598394fb92b5eefd712","author":{"name":"David Majda","email":"d8099b0f90e53c29d29eb12a7a3caa5af4f12681@majda.cz"},"message":"bin/pegjs: Do not overwrite extension-less files\n\nRunning bin/pegjs with one argument which was an extension-less file\nname caused the file to be overwritten. This was because internal\nextension rewriting logic didn't handle this case corectly.\n\nThis commit changes the logic from regexp-based to path.extname-based,\nfixing the problem. The new code generates file names like this:\n\n  Input file name     Output file name\n  ------------------------------------\n  grammar.ext         grammar.js\n  grammar.ext1.ext2   grammar.ext1.js\n  grammar.            grammar.js\n  grammar             grammar.js\n\nFixes #405.","distinct":false,"url":"https://api.github.com/repos/Mingun/pegjs/commits/6a04067a76d4635875b85598394fb92b5eefd712"},{"sha":"f07ab7f32e64a697711567983a546a15c379733e","author":{"name":"David Majda","email":"d8099b0f90e53c29d29eb12a7a3caa5af4f12681@majda.cz"},"message":"examples/json.pegjs: Fix the \"unescaped\" rule\n\nThe \"unescaped\" rule was created by mechanically translating original\nRFC 7159 rule:\n\n  unescaped = %x20-21 / %x23-5B / %x5D-10FFFF\n\ninto:\n\n  unescaped = [\\x20-\\x21\\x23-\\x5B\\x5D-\\u10FFFF]\n\nHowever, this mechanical translation was incorrect as PEG.js grammars\ndon't have 6-digit Unicode escape sequences. Sequence \"\\u10FFFF\" was\ninterpreted as \"\\u10FF\" followed by two \"F\" characters.\n\nThis commit rewrites the \"unescaped\" rule into a form which, while not\nbeing a mechanical translation of the original rule, matches the same\ncharacters in the whole Unicode range. It also macthes textual\ndescription of string representation in RFC 7159:\n\n  All Unicode characters may be placed within the quotation marks,\n  except for the characters that must be escaped: quotation mark,\n  reverse solidus, and the control characters (U+0000 through U+001F).\n\nFixes #417.","distinct":false,"url":"https://api.github.com/repos/Mingun/pegjs/commits/f07ab7f32e64a697711567983a546a15c379733e"},{"sha":"31e7147081ddefcdf4d38cfed894fe9c36dcd71b","author":{"name":"David Majda","email":"d8099b0f90e53c29d29eb12a7a3caa5af4f12681@majda.cz"},"message":"Label scope specs: No result checks in semantic predicate specs\n\nSemantic predicate specs which verified label scope also checked parser\nresults. This is not necessary because for the purpose of these specs it\nis enough to verify that label variables have correct values, which is\ndone in predicate code already.\n\nThis commit removes parser result checks from these specs.","distinct":false,"url":"https://api.github.com/repos/Mingun/pegjs/commits/31e7147081ddefcdf4d38cfed894fe9c36dcd71b"},{"sha":"5c5f79519a28e3225e90bee411e01ca0d9bb18d2","author":{"name":"David Majda","email":"d8099b0f90e53c29d29eb12a7a3caa5af4f12681@majda.cz"},"message":"Label scope specs: Simplify semantic predicate and action specs\n\nSemantic predicate and action specs which verified label scope used\nrepetitive \"it\" blocks. Rewrite them to use just one \"it\" block and a\nlist of testcases. This makes them more concise.","distinct":false,"url":"https://api.github.com/repos/Mingun/pegjs/commits/5c5f79519a28e3225e90bee411e01ca0d9bb18d2"},{"sha":"921f1fa8fab46732aa8221ca5a408931785ac352","author":{"name":"David Majda","email":"d8099b0f90e53c29d29eb12a7a3caa5af4f12681@majda.cz"},"message":"Label scope specs: Tweak suite descriptions","distinct":false,"url":"https://api.github.com/repos/Mingun/pegjs/commits/921f1fa8fab46732aa8221ca5a408931785ac352"},{"sha":"6bc91c010d4451ccc191fc95ddbbe50a74126d2c","author":{"name":"David Majda","email":"d8099b0f90e53c29d29eb12a7a3caa5af4f12681@majda.cz"},"message":"Label scope specs: Tweak spec descriptions","distinct":false,"url":"https://api.github.com/repos/Mingun/pegjs/commits/6bc91c010d4451ccc191fc95ddbbe50a74126d2c"},{"sha":"a20d04edf4516278b3a819770721191b6d4e502c","author":{"name":"David Majda","email":"d8099b0f90e53c29d29eb12a7a3caa5af4f12681@majda.cz"},"message":"Label scope specs: Remove redundant sequence elements\n\nSemantic predicate specs which verified scope of labels from containing\nsequences used 3 elements where 1 is enough.\n\nThis commit removes the redundant elements.","distinct":false,"url":"https://api.github.com/repos/Mingun/pegjs/commits/a20d04edf4516278b3a819770721191b6d4e502c"},{"sha":"72293186715b1e7cc8bfc606749f5b3a48f01c17","author":{"name":"David Majda","email":"d8099b0f90e53c29d29eb12a7a3caa5af4f12681@majda.cz"},"message":"Label scope specs: Don't exercise all expression types\n\nSemantic predicate and action specs which verified scope of labels from\nouter sequences exercised all relevant expression types. This is not\nneeded as the behavior is common for all expression types and no extra\ncode needs to be written to make it work for each of them.\n\nThis commit changes the specs to verify scope of labels from outer\nsequences using only one expression type.","distinct":false,"url":"https://api.github.com/repos/Mingun/pegjs/commits/72293186715b1e7cc8bfc606749f5b3a48f01c17"},{"sha":"ffd90a8c9ec2b39bab2d1cd242c5986b4513172f","author":{"name":"David Majda","email":"d8099b0f90e53c29d29eb12a7a3caa5af4f12681@majda.cz"},"message":"Label scope specs: Add negative specs (sequences)\n\nSo far, semantic predicate and action specs which verified scope of\nlabels from containing or outer sequences exercised only cases where\nlabel variables were defined. This commit adds also some negative cases.\n\nThe idea comes from @Mingun.","distinct":false,"url":"https://api.github.com/repos/Mingun/pegjs/commits/ffd90a8c9ec2b39bab2d1cd242c5986b4513172f"},{"sha":"58806a3d778c784399c9fe831b92a99f9fe267c0","author":{"name":"David Majda","email":"d8099b0f90e53c29d29eb12a7a3caa5af4f12681@majda.cz"},"message":"Label scope specs: Add negative specs (subexpressions)\n\nSemantic predicate and action specs which verified label scope didn't\nexercise labels in subexpressions. This commit adds cases exercising\nthem, including few commented-out cases which reveal #396 (these will be\nuncommented when the bug gets fixed).\n\nNote that added specs exercise all relevant expression types. This is\nneeded because code that makes subexpression labels invisible to the\noutside is separate for each expression type so one generic test\nwouldn't generate enough coverage.\n\nPart of a fix of #396.","distinct":false,"url":"https://api.github.com/repos/Mingun/pegjs/commits/58806a3d778c784399c9fe831b92a99f9fe267c0"},{"sha":"0c39f1cf86d73c85a1f832e6cfddf4176f9e58bc","author":{"name":"David Majda","email":"d8099b0f90e53c29d29eb12a7a3caa5af4f12681@majda.cz"},"message":"Fix labels leaking to outer scope\n\nLabels in expressions like \"(a:\"a\")\" or \"(a:\"a\" b:\"b\" c:\"c\")\" were\nvisible to the outside despite being wrapped in parens. This commit\nmakes them invisible, as they should be.\n\nNote this required introduction of a new \"group\" AST node, whose purpose\nis purely to provide label scope isolation. This was necessary because\n\"label\" and \"sequence\" nodes don't (and can't!) provide this isolation\nthemselves.\n\nPart of a fix of #396.","distinct":false,"url":"https://api.github.com/repos/Mingun/pegjs/commits/0c39f1cf86d73c85a1f832e6cfddf4176f9e58bc"},{"sha":"7089debae22be14d94702186501ea0267b59bdc6","author":{"name":"David Majda","email":"d8099b0f90e53c29d29eb12a7a3caa5af4f12681@majda.cz"},"message":".travis.yml: Test also with Node.js 6.0.x","distinct":false,"url":"https://api.github.com/repos/Mingun/pegjs/commits/7089debae22be14d94702186501ea0267b59bdc6"},{"sha":"f866712c902d39e22674584dd92d1da033cca26d","author":{"name":"David Majda","email":"d8099b0f90e53c29d29eb12a7a3caa5af4f12681@majda.cz"},"message":"Regularize Jasmine custom matcher signatures\n\nThe \"toParse\" matcher in generated-parser-behavior.spec.js effectively\nhad these signatures:\n\n  toParse(input)\n  toParse(input, expected)\n  toParse(input, options, expected)\n\nThis commit regularizes them to:\n\n  toParse(input)\n  toParse(input, expected)\n  toParse(input, expected, options)\n\nSimilarly, the \"toFailToParse\" matcher in\ngenerated-parser-behavior.spec.js effectively had these signatures:\n\n  toFailToParse(input)\n  toFailToParse(input, details)\n  toFailToParse(input, options, details)\n\nThis commit regularizes them to:\n\n  toFailToParse(input)\n  toFailToParse(input, details)\n  toFailToParse(input, details, options)\n\nFinally, the \"toChangeAST\" matcher in helpers.js effectively had these\nsignatures:\n\n  toChangeAST(grammar, details)\n  toChangeAST(grammar, options, details)\n\nThis commit regularizes them to:\n\n  toChangeAST(grammar, details)\n  toChangeAST(grammar, details, options)\n\nThe overall purpose of these changes is to avoid different parameters\nappearing at the same position, which is hard to manage without using\n\"arguments\".","distinct":false,"url":"https://api.github.com/repos/Mingun/pegjs/commits/f866712c902d39e22674584dd92d1da033cca26d"}]}
{"actor":{"display_login":"Mingun"}}