<feed xmlns='http://www.w3.org/2005/Atom'>
<title>ruby.git/prism/parser.h, branch v3_3_11</title>
<subtitle>The Ruby Programming Language</subtitle>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/'/>
<entry>
<title>Revert all of commits after Prism 0.19.0 release</title>
<updated>2023-12-16T03:08:51+00:00</updated>
<author>
<name>Hiroshi SHIBATA</name>
<email>hsbt@ruby-lang.org</email>
</author>
<published>2023-12-16T03:05:46+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=d242e8416e99eaee4465e2681210ae8b7ecd6d34'/>
<id>d242e8416e99eaee4465e2681210ae8b7ecd6d34</id>
<content type='text'>
  We should bundle released version of Prism for Ruby 3.3.0
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
  We should bundle released version of Prism for Ruby 3.3.0
</pre>
</div>
</content>
</entry>
<entry>
<title>[ruby/prism] Finish keyword hash node flag refactor by renaming flag</title>
<updated>2023-12-15T18:45:36+00:00</updated>
<author>
<name>Ufuk Kayserilioglu</name>
<email>ufuk.kayserilioglu@shopify.com</email>
</author>
<published>2023-12-15T18:03:44+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=0a31cb1a37f184daa7c2839abd6a827793fdd2f3'/>
<id>0a31cb1a37f184daa7c2839abd6a827793fdd2f3</id>
<content type='text'>
https://github.com/ruby/prism/commit/7f812389f8
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
https://github.com/ruby/prism/commit/7f812389f8
</pre>
</div>
</content>
</entry>
<entry>
<title>[ruby/prism] Fix the implementation of the flag on keyword hash nodes</title>
<updated>2023-12-14T18:05:54+00:00</updated>
<author>
<name>Ufuk Kayserilioglu</name>
<email>ufuk.kayserilioglu@shopify.com</email>
</author>
<published>2023-12-13T22:14:18+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=01f21d57297f1e6820a6a374ccf9c432c6178038'/>
<id>01f21d57297f1e6820a6a374ccf9c432c6178038</id>
<content type='text'>
The previous implementation was incorrect since it was just checking for all keys in assoc nodes to be static literals but the actual check is that all keys in assoc nodes must be symbol nodes.

This commit fixes that implementation, and, also, aliases the flag to `PM_KEYWORD_HASH_NODE_FLAGS_SYMBOL_KEYS` so that ruby/ruby can start using the new flag name.

I intend to later change the real flag name to `PM_KEYWORD_HASH_NODE_FLAGS_SYMBOL_KEYS` and remove the alias.

https://github.com/ruby/prism/commit/f5099c79ce
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The previous implementation was incorrect since it was just checking for all keys in assoc nodes to be static literals but the actual check is that all keys in assoc nodes must be symbol nodes.

This commit fixes that implementation, and, also, aliases the flag to `PM_KEYWORD_HASH_NODE_FLAGS_SYMBOL_KEYS` so that ruby/ruby can start using the new flag name.

I intend to later change the real flag name to `PM_KEYWORD_HASH_NODE_FLAGS_SYMBOL_KEYS` and remove the alias.

https://github.com/ruby/prism/commit/f5099c79ce
</pre>
</div>
</content>
</entry>
<entry>
<title>[ruby/prism] Provide flags for changing encodings</title>
<updated>2023-12-06T19:23:38+00:00</updated>
<author>
<name>Kevin Newton</name>
<email>kddnewton@gmail.com</email>
</author>
<published>2023-12-04T17:51:22+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=82f18baa21d0df59c30d8a6e60bf3e0991de1114'/>
<id>82f18baa21d0df59c30d8a6e60bf3e0991de1114</id>
<content type='text'>
https://github.com/ruby/prism/commit/e838eaff6f
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
https://github.com/ruby/prism/commit/e838eaff6f
</pre>
</div>
</content>
</entry>
<entry>
<title>[ruby/prism] Refactor pm_diagnostic_t and pm_comment_t to use pm_location_t</title>
<updated>2023-12-04T14:33:44+00:00</updated>
<author>
<name>Lily Lyons</name>
<email>lily@nowaffles.com</email>
</author>
<published>2023-12-01T21:00:56+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=1227b6d9129d7e978b6bb659c9cb320d47a2aac1'/>
<id>1227b6d9129d7e978b6bb659c9cb320d47a2aac1</id>
<content type='text'>
https://github.com/ruby/prism/commit/115b6a2fc6
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
https://github.com/ruby/prism/commit/115b6a2fc6
</pre>
</div>
</content>
</entry>
<entry>
<title>[ruby/prism] Change numbered parameters</title>
<updated>2023-12-01T17:03:09+00:00</updated>
<author>
<name>Kevin Newton</name>
<email>kddnewton@gmail.com</email>
</author>
<published>2023-12-01T01:47:08+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=cdb74d74afb87a0d7048a53aaf12d32516033a3c'/>
<id>cdb74d74afb87a0d7048a53aaf12d32516033a3c</id>
<content type='text'>
Previously numbered parameters were a field on blocks and lambdas
that indicated the maximum number of numbered parameters in either
the block or lambda, respectively. However they also had a
parameters field that would always be nil in these cases.

This changes it so that we introduce a NumberedParametersNode that
goes in place of parameters, which has a single uint8_t maximum
field on it. That field contains the maximum numbered parameter in
either the block or lambda.

As a part of the PR, I'm introducing a new UInt8Field type that
can be used on nodes, which is just to make it a little more
explicit what the maximum values can be (the maximum is actually 9,
since it only goes up to _9). Plus we can do a couple of nice
things in serialization like just read a single byte.

https://github.com/ruby/prism/commit/2d87303903
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Previously numbered parameters were a field on blocks and lambdas
that indicated the maximum number of numbered parameters in either
the block or lambda, respectively. However they also had a
parameters field that would always be nil in these cases.

This changes it so that we introduce a NumberedParametersNode that
goes in place of parameters, which has a single uint8_t maximum
field on it. That field contains the maximum numbered parameter in
either the block or lambda.

As a part of the PR, I'm introducing a new UInt8Field type that
can be used on nodes, which is just to make it a little more
explicit what the maximum values can be (the maximum is actually 9,
since it only goes up to _9). Plus we can do a couple of nice
things in serialization like just read a single byte.

https://github.com/ruby/prism/commit/2d87303903
</pre>
</div>
</content>
</entry>
<entry>
<title>[PRISM] Remove transparent scope nodes</title>
<updated>2023-12-01T15:04:13+00:00</updated>
<author>
<name>Matt Valentine-House</name>
<email>matt@eightbitraptor.com</email>
</author>
<published>2023-12-01T13:34:05+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=ce5f5ca1d64f92e6d7a79dd73930a71d9d00513e'/>
<id>ce5f5ca1d64f92e6d7a79dd73930a71d9d00513e</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>[ruby/prism] Remove ability to decode other encodings</title>
<updated>2023-12-01T02:37:56+00:00</updated>
<author>
<name>Kevin Newton</name>
<email>kddnewton@gmail.com</email>
</author>
<published>2023-11-30T16:40:13+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=ea409958b38424f296aacc5c2d8d7bf3bcd1d2db'/>
<id>ea409958b38424f296aacc5c2d8d7bf3bcd1d2db</id>
<content type='text'>
https://github.com/ruby/prism/commit/98e218d989
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
https://github.com/ruby/prism/commit/98e218d989
</pre>
</div>
</content>
</entry>
<entry>
<title>[PRISM] Consolidate prism encoding files</title>
<updated>2023-12-01T02:37:56+00:00</updated>
<author>
<name>Kevin Newton</name>
<email>kddnewton@gmail.com</email>
</author>
<published>2023-11-30T16:36:10+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=abb1fe286804a35fc4cbcc431434f9e5b42c544f'/>
<id>abb1fe286804a35fc4cbcc431434f9e5b42c544f</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>[ruby/prism] Convert start line to signed integers</title>
<updated>2023-11-29T13:56:19+00:00</updated>
<author>
<name>Jean Boussier</name>
<email>jean.boussier@gmail.com</email>
</author>
<published>2023-11-29T10:46:33+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=2af82e23165180f20ca2af374aedb7a45dedcc20'/>
<id>2af82e23165180f20ca2af374aedb7a45dedcc20</id>
<content type='text'>
Ruby allows for 0 or negative line start, this is often used
with `eval` calls to get a correct offset when prefixing a snippet.

e.g.

```ruby
caller = caller_locations(1, 1).first
class_eval &lt;&lt;~RUBY, caller.path, caller.line - 2
  # frozen_string_literal: true
  def some_method
    #{caller_provided_code_snippet}
  end
RUBY
```

https://github.com/ruby/prism/commit/0d14ed1452
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Ruby allows for 0 or negative line start, this is often used
with `eval` calls to get a correct offset when prefixing a snippet.

e.g.

```ruby
caller = caller_locations(1, 1).first
class_eval &lt;&lt;~RUBY, caller.path, caller.line - 2
  # frozen_string_literal: true
  def some_method
    #{caller_provided_code_snippet}
  end
RUBY
```

https://github.com/ruby/prism/commit/0d14ed1452
</pre>
</div>
</content>
</entry>
</feed>
