зеркало из https://github.com/github/ruby.git
[PRISM] Reset $. when done reading STDIN
This commit is contained in:
Родитель
f60499826f
Коммит
773cf883ac
|
@ -10534,6 +10534,9 @@ pm_parse_stdin_fgets(char *string, int size, void *stream)
|
|||
return string;
|
||||
}
|
||||
|
||||
// We need access to this function when we're done parsing stdin.
|
||||
void rb_reset_argf_lineno(long n);
|
||||
|
||||
/**
|
||||
* Parse the source off STDIN and store the resulting scope node in the given
|
||||
* parse result struct. It is assumed that the parse result object is zeroed
|
||||
|
@ -10552,6 +10555,10 @@ pm_parse_stdin(pm_parse_result_t *result)
|
|||
// free the buffer itself.
|
||||
pm_string_owned_init(&result->input, (uint8_t *) pm_buffer_value(&buffer), pm_buffer_length(&buffer));
|
||||
|
||||
// When we're done parsing, we reset $. because we don't want the fact that
|
||||
// we went through an IO object to be visible to the user.
|
||||
rb_reset_argf_lineno(0);
|
||||
|
||||
return pm_parse_process(result, node);
|
||||
}
|
||||
|
||||
|
|
Загрузка…
Ссылка в новой задаче