Skip to content

Commit 8bc052c

Browse files
authored
Merge pull request #197 from Mingun/fix-message-regression
Fix a regression in the description of character classes in error message
2 parents 749913a + bd3798d commit 8bc052c

File tree

3 files changed

+10
-1
lines changed

3 files changed

+10
-1
lines changed

CHANGELOG.md

+2
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,8 @@ Released: TBD
2424

2525
- [#164](https://github.com/peggyjs/peggy/pull/164): Fix some errors in the typescript definitions
2626
- [#169](https://github.com/peggyjs/peggy/issues/169): Expose string escape functions
27+
- [#197](https://github.com/peggyjs/peggy/pull/197): Fix a regression of redundant commas in the
28+
character classes in the error messages, introduced in fad4ab74d1de67ef1902cd22d479c81ccab73224
2729

2830
1.2.0
2931
-----

lib/compiler/passes/generate-js.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -657,7 +657,7 @@ function generateJS(ast, options) {
657657
" : classEscape(part);",
658658
" });",
659659
"",
660-
" return \"[\" + (expectation.inverted ? \"^\" : \"\") + escapedParts + \"]\";",
660+
" return \"[\" + (expectation.inverted ? \"^\" : \"\") + escapedParts.join(\"\") + \"]\";",
661661
" },",
662662
"",
663663
" any: function() {",

test/api/generated-parser-api.spec.js

+7
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,13 @@ describe("generated parser API", () => {
2020
expect(() => { parser.parse("b"); }).to.throw();
2121
});
2222

23+
// Regression: https://github.com/peggyjs/peggy/pull/197
24+
it("correctly describe character class in syntax error", () => {
25+
const parser = peg.generate("start = [123-5]");
26+
27+
expect(() => { parser.parse("0"); }).to.throw("[123-5]");
28+
});
29+
2330
describe("start rule", () => {
2431
const parser = peg.generate([
2532
"a = 'x' { return 'a'; }",

0 commit comments

Comments
 (0)