parser 2.7.0.1 → 2.7.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 343568dc3db7c4cb37b68cdef2a241b86e639fea958156014ab0b701b0d04426
4
- data.tar.gz: 320c9f744d2ae76c16efb8e70f021ae35faa8bc89251ff211690085cdf7f2fe3
3
+ metadata.gz: eb64651ef64daa71d4c55d8ab253c90ce470eaf85f3b0ce98dfe5f171a681c80
4
+ data.tar.gz: a875a3b5c4a92b7fae3a58c379c300519e7c328641a7cb8d8a65e3f131118eed
5
5
  SHA512:
6
- metadata.gz: dc4f82ed4f56061e57952b794f44d039d456bf43b2e805020233e20569908ce95e788520b2642c33bc2838860a80fe5308959fc3c994bcbc48739ca1ca3aed6a
7
- data.tar.gz: 4b4cc6603bef9ca16925bcb009d0b1ed17c3fb22125a0c2b8eb2ea6c631664cea26e466aa7bacbff9b73040a37341cc107f678edc5f81c22745086b011b46b6a
6
+ metadata.gz: 8bd9f983ef31671217011a895e07b466f5327578f1dbc2288e5bcd08e367d038e0ee53c35ee1851323c8b04ab20e3fd27c1347a7615c869a99ebcebc8a949baf
7
+ data.tar.gz: cab52019893fb86e6fe66aaa9391d9d6cd721daac62550f7a0d2303bafbcc6deac349c4366315f8bc4ba15f6309b7ead3f30e3ff8fcd0e15a394c63c86071db7
@@ -20,6 +20,9 @@ matrix:
20
20
  - name: 2.6.5 / Parser tests
21
21
  rvm: 2.6.5
22
22
  script: bundle exec rake test_cov
23
+ - name: 2.7.0 / Parser tests
24
+ rvm: 2.7.0
25
+ script: bundle exec rake test_cov
23
26
  - name: ruby-head / Parser tests
24
27
  rvm: ruby-head
25
28
  script: bundle exec rake test_cov
@@ -35,6 +38,9 @@ matrix:
35
38
  - name: 2.6.5 / Rubocop tests
36
39
  rvm: 2.6.5
37
40
  script: ./ci/run_rubocop_specs
41
+ - name: 2.7.0 / Rubocop tests
42
+ rvm: 2.7.0
43
+ script: ./ci/run_rubocop_specs
38
44
  allow_failures:
39
45
  - rvm: ruby-head
40
46
  - rvm: rbx-2
@@ -1,9 +1,15 @@
1
1
  Changelog
2
2
  =========
3
3
 
4
- Not released (2019-12-30)
4
+ Not released (2020-01-08)
5
5
  -------------------------
6
6
 
7
+ Bugs fixed:
8
+ * lexer.rl: fix paren_nest for curly braces (#646) (Ilya Bylich)
9
+
10
+ v2.7.0.1 (2019-12-30)
11
+ ---------------------
12
+
7
13
  Bugs fixed:
8
14
  * dedenter.rb: prevent `ArgumentError` when processing binary en… (#642) (Koichi ITO)
9
15
 
@@ -1064,7 +1064,6 @@ class Parser::Lexer
1064
1064
  emit(:tRCURLY, '}'.freeze, p - 1, p)
1065
1065
  @cond.lexpop
1066
1066
  @cmdarg.lexpop
1067
- @paren_nest -= 1
1068
1067
  else
1069
1068
  emit(:tSTRING_DEND, '}'.freeze, p - 1, p)
1070
1069
  end
@@ -1079,6 +1078,8 @@ class Parser::Lexer
1079
1078
  fbreak;
1080
1079
  end
1081
1080
  end
1081
+
1082
+ @paren_nest -= 1
1082
1083
  };
1083
1084
 
1084
1085
  action extend_interp_code {
@@ -2165,6 +2166,9 @@ class Parser::Lexer
2165
2166
  emit_do
2166
2167
  end
2167
2168
  end
2169
+ if tok == '{'.freeze
2170
+ @paren_nest += 1
2171
+ end
2168
2172
  @command_start = true
2169
2173
 
2170
2174
  fnext expr_value; fbreak;
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Parser
4
- VERSION = '2.7.0.1'
4
+ VERSION = '2.7.0.2'
5
5
  end
@@ -127,6 +127,9 @@ module ParseHelper
127
127
 
128
128
  assert parser.instance_eval { @lexer }.cmdarg.empty?,
129
129
  "(#{version}) expected cmdarg to be empty after parsing"
130
+
131
+ assert_equal 0, parser.instance_eval { @lexer.instance_eval { @paren_nest } },
132
+ "(#{version}) expected paren_nest to be 0 after parsing"
130
133
  end
131
134
 
132
135
  # Use like this:
@@ -9294,4 +9294,16 @@ class TestParser < Minitest::Test
9294
9294
  %{ ^^ location},
9295
9295
  SINCE_2_7)
9296
9296
  end
9297
+
9298
+ def test_parser_bug_645
9299
+ assert_parses(
9300
+ s(:block,
9301
+ s(:lambda),
9302
+ s(:args,
9303
+ s(:optarg, :arg,
9304
+ s(:hash))), nil),
9305
+ '-> (arg={}) {}',
9306
+ %{},
9307
+ SINCE_1_9)
9308
+ end
9297
9309
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: parser
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.7.0.1
4
+ version: 2.7.0.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - whitequark
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2019-12-30 00:00:00.000000000 Z
11
+ date: 2020-01-08 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: ast
@@ -311,7 +311,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
311
311
  - !ruby/object:Gem::Version
312
312
  version: '0'
313
313
  requirements: []
314
- rubygems_version: 3.0.1
314
+ rubygems_version: 3.0.6
315
315
  signing_key:
316
316
  specification_version: 4
317
317
  summary: A Ruby parser written in pure Ruby.