mirror of
https://github.com/ruby/ruby.git
synced 2025-08-26 14:34:39 +02:00
parse.y, vm_eval.c: file encoding in eval
* parse.y (yycompile): store file name as String to keep the encoding. * parse.y (rb_parser_compile_string_path, rb_parser_compile_file_path): new functions to pass file name as a String. * parse.y (gettable_gen): return a copy of the original file name, not a copy in filesystem encoding. * vm_eval.c (eval_string_with_cref): use Qundef instead of "(eval)". git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42230 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
parent
1f7839f12c
commit
aa2a845168
5 changed files with 76 additions and 63 deletions
|
@ -468,4 +468,9 @@ class TestEval < Test::Unit::TestCase
|
|||
result = foo.instance_eval(&foo_pr)
|
||||
assert_equal(1, result, 'Bug #3786, Bug #3860, [ruby-core:32501]')
|
||||
end
|
||||
|
||||
def test_file_encoding
|
||||
fname = "\u{3042}".encode("euc-jp")
|
||||
assert_equal(fname, eval("__FILE__", nil, fname, 1))
|
||||
end
|
||||
end
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue