Project

General

Profile

Actions

Bug #20399

open

Ripper doesn't respect implicit -x

Bug #20399: Ripper doesn't respect implicit -x

Added by kddnewton (Kevin Newton) over 1 year ago. Updated over 1 year ago.

Status:
Open
Assignee:
-
Target version:
-
[ruby-core:117365]

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) over 1 year ago ยท Edited Actions #1 [ruby-core:117372]

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) over 1 year ago Actions #2 [ruby-core:117377]

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

Also available in: PDF Atom