
1 Dec
2024
1 Dec
'24
12:04 a.m.
Issue #20918 has been updated by ydah (Yudai Takada). It seems that the `foo {` has the same problem. ```` ❯ ruby -e 'foo {' -e: -e:2: syntax errors found (SyntaxError)
1 | foo { | ^ expected a block beginning with `{` to end with `}` 2 | | ^ unexpected end-of-input, assuming it is closing the parent top level context
Since the error is not confirmed until EOL, it looks like you are outputting the position where the error is confirmed.
❯ ruby -e "foo( " -e: -e:4: syntax error found (SyntaxError) 2 | 3 |
4 | | ^ unexpected end-of-input; expected a `)` to close the arguments
----------------------------------------
Bug #20918: Prism error indicates line number of `-e` that does not exist
https://bugs.ruby-lang.org/issues/20918#change-110815
* Author: mame (Yusuke Endoh)
* Status: Open
* Assignee: prism
* Backport: 3.1: UNKNOWN, 3.2: UNKNOWN, 3.3: UNKNOWN
----------------------------------------
$ ruby -e 'foo(' -e: -e:2: syntax error found (SyntaxError) 1 | foo(
2 | | ^ unexpected end-of-input; expected a `)` to close the arguments
It says `-e:2`, but there is no line 2 in `-e 'foo('`.
`eval("foo(")` reports line 1, so I guess this issue is only for `-e`.
--
https://bugs.ruby-lang.org/