summaryrefslogtreecommitdiff
path: root/compile.c
diff options
context:
space:
mode:
authorKoichi Sasada <ko1@atdot.net>2021-09-30 16:58:46 +0900
committerKoichi Sasada <ko1@atdot.net>2021-10-21 16:17:39 +0900
commitc7550537f11dcf6450a9d3df3af3fa1f4fe05b15 (patch)
tree9b73c5b1be4e42f0aaf92e64b9c6041777666251 /compile.c
parent3b16d07e457264d7c171f8d1fcfaddb0dad90f57 (diff)
`RubyVM.keep_script_lines`
`RubyVM.keep_script_lines` enables to keep script lines for each ISeq and AST. This feature is for debugger/REPL support. ```ruby RubyVM.keep_script_lines = true RubyVM::keep_script_lines = true eval("def foo = nil\ndef bar = nil") pp RubyVM::InstructionSequence.of(method(:foo)).script_lines ```
Notes
Notes: Merged: https://github.com/ruby/ruby/pull/4913
Diffstat (limited to 'compile.c')
-rw-r--r--compile.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/compile.c b/compile.c
index 71e078d20c..055d4e85f5 100644
--- a/compile.c
+++ b/compile.c
@@ -1328,7 +1328,7 @@ new_child_iseq(rb_iseq_t *iseq, const NODE *const node,
ast.root = node;
ast.compile_option = 0;
- ast.script_lines = INT2FIX(-1);
+ ast.script_lines = iseq->body->variable.script_lines;
debugs("[new_child_iseq]> ---------------------------------------\n");
int isolated_depth = ISEQ_COMPILE_DATA(iseq)->isolated_depth;