Граф коммитов

26 Коммитов

Автор SHA1 Сообщение Дата
Aaron Patterson abce8583e2 [ruby/yarp] Fix heredocs inside %W and %w lists
The problem was that we were treating heredoc bodies as part of the %W
list because we didn't push the scanning cursor past the heredoc after
lexing out the here doc.  To fix this, we changed the whitespace
scanning function to quit scanning when it reaches a newline but only in
the case that a heredoc is present.

Additionally, we need to prevent double counting newlines in the case of
a heredoc.  For example:

```ruby
%W(<<foo 123)
foo
```

The newline after the `)` is counted as part of scanning the heredoc, so
we added logic to prevent double counting the newline when scanning the
rest of the %W list.

https://github.com/ruby/yarp/commit/eb090d8126

Co-authored-by: Jemma Issroff <jemmaissroff@gmail.com>
2023-07-20 14:58:11 +00:00
Jemma Issroff 84b5274143
[ruby/yarp] Resync YARP (#8098) 2023-07-19 16:15:01 -04:00
Jemma Issroff a02f5eb56a
YARP resync (#8059) 2023-07-12 12:46:38 -04:00
Jemma Issroff d62328251d [ruby/yarp] Remove yp_location_for_node in preference of yp_newline_list_line_column
https://github.com/ruby/yarp/commit/55aa813909
2023-07-11 15:49:42 +00:00
Jemma Issroff 53c5601565
[ruby/yarp] Fix endless method definitions binding power to accept args (#8051) 2023-07-10 10:54:12 -04:00
Jemma Issroff 9e3a5cc54f [ruby/yarp] Add a yp_location_for_node function to the C API
yp_location_for_node takes a parser and a node and returns the
location in a way that can be punned into ruby/ruby types

https://github.com/ruby/yarp/commit/75e06016a7
2023-07-07 17:46:47 +00:00
Jemma Issroff 31f83a6fea [ruby/yarp] Add source to ParseResult
https://github.com/ruby/yarp/commit/f3802e03e0
2023-07-07 17:46:46 +00:00
Jemma Issroff 61efa9c823 [ruby/yarp] Remove bin/newlines
Since newlines are working, this bin/newlines is less helpful, and
we can remove the API for newlines

https://github.com/ruby/yarp/commit/b538460b99
2023-07-07 17:46:45 +00:00
Jemma Issroff 06c2d3e0a0
Resync YARP (#8036)
It got out of sync again. After this re-sync, it should happen
cherry-picking automatically.
2023-07-06 13:26:26 -04:00
Jemma Issroff bfb933371d Manual YARP resync 2023-07-05 16:58:55 -04:00
Kevin Newton 26b69fd407 [ruby/yarp] Handle bad input for ascii printable
https://github.com/ruby/yarp/commit/06242aa7a0
2023-06-29 01:23:37 +00:00
Kevin Newton ec59b95cfd [ruby/yarp] Use smaller regexp options
https://github.com/ruby/yarp/commit/4deb7c3ae0
2023-06-26 14:03:33 +00:00
Steven Johnstone 4fc8b8f06d [ruby/yarp] Prevent reading/writing outside the bounds of options
https://github.com/ruby/yarp/commit/52bed3cbe2
2023-06-26 13:31:29 +00:00
Steven Johnstone 261e3663fd [ruby/yarp] Check for eof in yp_regexp_char_is_eof
https://github.com/ruby/yarp/commit/f3fbc5bf9e
2023-06-23 19:56:40 +00:00
Steven Johnstone 6ee106ff79 [ruby/yarp] If ? is last char of regexp buffer, don't read beyond it.
https://github.com/ruby/yarp/commit/1764532572
2023-06-23 19:56:39 +00:00
Steven Johnstone 6dc2314965 [ruby/yarp] Don't read past the end of input parsing regex group
https://github.com/ruby/yarp/commit/03f5a330a9
2023-06-23 19:56:39 +00:00
Takashi Kokubun 711cabec26 Sync ruby/yarp to 89a00203af 2023-06-22 09:23:07 -07:00
Jemma Issroff e8fb84265c [ruby/yarp] Allow for block statements after elsif and else
https://github.com/ruby/yarp/commit/4560cab235
2023-06-22 09:20:40 -07:00
Kevin Newton 7fad7d345a [ruby/yarp] Do not leak file descriptors
https://github.com/ruby/yarp/commit/83c2c45b28
2023-06-22 09:19:39 -07:00
Kevin Newton b879528e24 [ruby/yarp] Do not leak memory from lex modes
https://github.com/ruby/yarp/commit/df6661740c
2023-06-22 09:19:36 -07:00
Takashi Kokubun edd488109f Sync ruby/yarp with sync_default_gems 2023-06-22 08:59:04 -07:00
Nobuyoshi Nakada ddb431c960
Fix leaked FD for an empty file 2023-06-22 13:21:30 +09:00
Takashi Kokubun 2acb27cad7 Fix -Wold-style-definition
http://ci.rvm.jp/results/trunk-yjit@ruby-sp2-docker/4612329

Also, I changed the position of `{` to be consistent with the rest of
the codebase.
2023-06-21 13:51:39 -07:00
Jemma Issroff b0a3a6ade0 [ruby/yarp] Fix invalid unescape sequence error for lower w
https://github.com/ruby/yarp/commit/5a2c78367a
2023-06-21 18:40:25 +00:00
Jemma Issroff cc7f765f2c [Feature #19741] Sync all files in yarp
This commit is the initial sync of all files from ruby/yarp
into ruby/ruby. Notably, it does the following:

* Sync all ruby/yarp/lib/ files to ruby/ruby/lib/yarp
* Sync all ruby/yarp/src/ files to ruby/ruby/yarp/
* Sync all ruby/yarp/test/ files to ruby/ruby/test/yarp
2023-06-21 11:25:39 -07:00
Jemma Issroff 08478fefca [Feature #19741] Added Init_YARP() to load from the yarp C extension
Init_YARP is called from inits.c, and it loads the YARP C extension
correctly
2023-06-21 11:25:39 -07:00