зеркало из https://github.com/github/ruby.git
parse.y: freeze filename
* parse.y (ripper_initialize): filename can not be modified. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45397 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
Родитель
87108634e1
Коммит
0331e42be3
|
@ -1,3 +1,7 @@
|
|||
Mon Mar 24 22:19:56 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
|
||||
|
||||
* parse.y (ripper_initialize): filename can not be modified.
|
||||
|
||||
Mon Mar 24 15:19:47 2014 NARUSE, Yui <naruse@ruby-lang.org>
|
||||
|
||||
* addr2line.c (rb_dump_backtrace_with_lines): fetch path of the
|
||||
|
|
2
parse.y
2
parse.y
|
@ -11445,9 +11445,11 @@ ripper_initialize(int argc, VALUE *argv, VALUE self)
|
|||
parser->eofp = Qfalse;
|
||||
if (NIL_P(fname)) {
|
||||
fname = STR_NEW2("(ripper)");
|
||||
OBJ_FREEZE(fname);
|
||||
}
|
||||
else {
|
||||
StringValue(fname);
|
||||
fname = rb_str_new_frozen(fname);
|
||||
}
|
||||
parser_initialize(parser);
|
||||
|
||||
|
|
|
@ -26,6 +26,10 @@ class TestRipper::Ripper < Test::Unit::TestCase
|
|||
|
||||
def test_filename
|
||||
assert_equal '(ripper)', @ripper.filename
|
||||
filename = "ripper"
|
||||
ripper = Ripper.new("", filename)
|
||||
filename.clear
|
||||
assert_equal "ripper", ripper.filename
|
||||
end
|
||||
|
||||
def test_lineno
|
||||
|
|
Загрузка…
Ссылка в новой задаче