[PRISM] Reset $. when done reading STDIN
This commit is contained in:
parent
f60499826f
commit
773cf883ac
Notes:
git
2024-08-21 20:59:20 +00:00
@ -10534,6 +10534,9 @@ pm_parse_stdin_fgets(char *string, int size, void *stream)
|
|||||||
return string;
|
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 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
|
* 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.
|
// free the buffer itself.
|
||||||
pm_string_owned_init(&result->input, (uint8_t *) pm_buffer_value(&buffer), pm_buffer_length(&buffer));
|
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);
|
return pm_parse_process(result, node);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user