Actions
Bug #20399
openRipper doesn't respect implicit -x
Description
For the given script:
#!/bin/sh
# -*- ruby -*-
exec "${RUBY-ruby}" "-x" "$0" "$@" && [ ] if false
#!ruby
# This needs ruby 2.0, Subversion and Git.
# As a Ruby committer, run this in an SVN repository
# to commit a change.
require 'tempfile'
require 'net/http'
I would expect all of the various Ripper APIs (lex
, sexp
, sexp_raw
, new.parse
, etc.) to start parsing on line 4, because that's what the parser does. Instead, it starts parsing on line 1.
Updated by nobu (Nobuyoshi Nakada) 10 months ago ยท Edited
Shebang makes sense only in an executable script file.
$ echo $'#!/bin/sh\np :sh' | ruby
ruby: no Ruby script found in input (LoadError)
bash: exit 1
$ ruby -e $'#!/bin/sh\np :sh'
:sh
Updated by kddnewton (Kevin Newton) 10 months ago
I agree, but I still think Ripper should match the parser's behavior here. Otherwise you can't get the AST of those kinds of files.
Actions
Like0
Like0Like0